2014-12-18 2 views
0

Я пытаюсь создать скрипт о том, как сделать простой get-ADGroupMember, но с несколькими отображаемыми результатами. Тот, который может отобразить вышеприведенный командлет, и это атрибут «mail».Показать членов SC-группы с отфильтрованными результатами

Get-ADGroupMember -identity "group-name one" -Recursive | Get-ADUser -property DisplayName | Select Name,DisplayName,mail 

Одно простое решение было бы использовать код, приведенный ниже, так как его отображает результаты, я хочу все вместе (я удалил чувствительную информацию на выходе). Поскольку я собираюсь представить эту информацию клиенту, я хочу получить более «чистый» вид на выходе, который может предоставить код выше (удобный для пользователя). Первый вывод работает отлично, если не для того, чтобы он не отображал атрибут mail.

Get-ADGroupMember -identity "avd-Barn- och utbildningskontoret" -Recursive | Get-ADUser -property mail 

DistinguishedName : 
Enabled   : True 
GivenName   : Lisa 
mail    : 
Name    : 
ObjectClass  : user 
ObjectGUID  : 98cb2a62 
SamAccountName : 
SID    : S-1-5-21 
Surname   : surname 
UserPrincipalName : 

Есть ли способ этого?

+0

Вы желающих в табличном формате или формате списка? – mjolinor

+0

свойство, которое содержит адрес электронной почты, является 'EmailAddress', а не почтой – Paul

+0

mjolinor: на самом деле это не имеет значения, насколько это удобно для пользователя. – Pajkie

ответ

1

Самый простой способ сделать это было бы:

Get-ADGroupMember -Identity "group-name one" -Recursive | Get-ADUser -properties DisplayName,mail | Select Name,DisplayName,mail 
+0

Как бы вы хотели добавить несколько групп здесь? – Pajkie

1

Это дало мне то, что я хотел. Таким образом, я могу добавить несколько групп одновременно, если это необходимо в будущем.

$arrResults = @() 
foreach($varGroup in (Get-ADGroupMember -identity "groupname")){ 
foreach($varUser in (Get-ADUser $varGroup -properties mail | select SamAccountName, mail)){ 
foreach($varUsor in (Get-ADUser $varGroup -properties DisplayName | select DisplayName)){ 
$objResult = New-Object PSobject 
$objResult | Add-Member -membertype NoteProperty -Name "SamAccountName" -Value $varUser.SamAccountName 
$objResult | Add-Member -MemberType NoteProperty -Name "Mail" -Value $varUser.mail 
$objResult | Add-Member -Membertype NoteProperty -Name "DisplayName" -Value $varUsor.DisplayName 
$arrResults += $objResult 
} 
} 
} 
$arrResults 
Смежные вопросы