Я пытаюсь вернуть CSV всех групп безопасности в моем домене и всех членов, включая их статус учетной записи (включен или отключен), но не может показаться, что он работает, как получить соединение от ADGroupMember до ADUser. Пробовал тестировать значение $Member.ObjectClass
, и если «пользователь» запустил Get-ADUser
, но это не похоже на работу - все классы классов ADGroupMember отображаются как пользователь, если я это сделаю. Если возможно, вы хотели бы сделать это в одном запросе. Я привел пример из Интернета и попытался изменить его без успеха.Get-ADGroupMembers с учетной записью пользователя Статус включен
Я ищу результатов в таблице/CSV отформатированный как это:
GroupName Name ObjectClass Enabled GroupA John Smith User True GroupB Jane Brown User False GroupB GroupN Group NA/Group
$Table = @()
$Record = [ordered]@{
"GroupName" = ""
"Name" = ""
"ObjectClass" = ""
"Enabled" = ""
}
$Groups = Get-AdGroup -Filter * |
Where {$_.Name -like "FS01*" -or $_.Name -like "ABC*"} |
Select Name -ExpandProperty Name
foreach ($Group in $Groups) {
$ArrayMembers = Get-ADGroupMember -Identity $Group |
Select Name, ObjectClass #, SamAccountName
foreach ($Member in $ArrayMembers) {
$Record."Enabled" = Get-ADGroupMember -Identity $Group |
Get-ADUser |
Select Enabled
$Record."GroupName" = $Group
$Record."Name" = $Member.Name
$Record."ObjectClass" = $Member.ObjectClass
$objRecord = New-Object PSObject -Property $Record
$Table += $objRecord
}
}
$Table # | Export-Csv $filename -NoTypeInformation
поэтому что не работает? У меня нет домена AD, чтобы проверить его, но это выглядит «звук» – 4c74356b41
Было несколько вещей, которые не работают. Сначала три группы возвращали ошибки при использовании Get-ADGroupMember. Я подозреваю, что это связано с тем, что отображаемое имя группы отличается от имени учетной записи SAM. Во-вторых, список будет отображаться в порядке (за исключением 3 ошибок, упомянутых выше), если НЕ пытаться проверять ObjectClass члена, но как только я помещаю в оператор if, чтобы проверить пользователя или группу и запустить Get-ADUser, если ObjectClass был пользователь, который будет отображать только пользователя как ObjectType для всех строк. Не удалось получить, если тогда будет работать правильно. – Scott
Было бы интересно получить оригинальную работу для учебных целей, если это не считается смешным способом. Пример Ансгара, безусловно, кажется более кратким и будет использовать его в будущем! – Scott