Этот сценарий немного отстает в том смысле, что ему нужно будет возвращать все группы, членом которых является пользователь. Я заставил скрипт работать, но он возвращает группы только для 1-го пользователя в файле импорта и дублирует те же группы для каждого дополнительного пользователя.
Пример того, каким будет ввод:
"NetworkID","DisplayName"
"jasonid",Jason
anotherid
"mikeid","Mens, Mike"
Я относительно новичок в powershell (версия 2 с модулем AD), поэтому буду признателен за любую помощь. Вот скрипт, который я создал:
$out = @()
Import-Csv "$env:userprofile\Desktop\ADUsers.txt" | SELECT NetworkID | ForEach {
$NetworkIDs = $_
ForEach ($NetworkID in $NetworkIDs)
{
ForEach ($group in $groups)
{
$obj = New-Object -TypeName PSObject
$obj | Add-Member -MemberType NoteProperty -Name UserName -Value $NetworkIDs.NetworkID
$obj | Add-Member -MemberType NoteProperty -Name GroupName -Value $group.name
$out += $obj
}
}
}
$out | Format-table -AutoSize
$out | Export-Csv -path $env:userprofile\Desktop\ADUsers.csv –NoTypeInformation
Примером вывода будет:
"UserName","GroupName"
"jasonid","Domain Group 1"
"jasonid","Domain Group 2"
"jasonid","Domain Group 3"
"anotherid","Domain Group 1"
"anotherid","Domain Group 2"
"anotherid","Domain Group 3"
"mikeid","Domain Group 1"
"mikeid","Domain Group 2"
"mikeid","Domain Group 3"
Я на 100% уверен, что «jasonid» является членом всех трех групп, «anotherid» не является членом «Domain Group 1», а «mikeid» не является членом «Domain Group 3».