Экспорт адреса электронной почты всех пользователей в группе безопасности



Я пытаюсь написать сценарий, в котором я могу получить адрес электронной почты всех пользователей в группе безопасности active directory.



Что у меня есть до сих пор:



$Groups = Get-ADGroup -filter {Name -like "VIPEmail" } | Select-Object Name
ForEach ($Group in $Groups) {
Get-ADGroupMember -identity $($group.name) -recursive | Select-Object samaccountname
}


Очевидно, что это вернет только samaccountname, что он и делает. Я заменяю samaccountname на EmailAddress, и он ничего не делает.

542   4  

4 ответов:

Чтобы сохранить исходное форматирование, чтобы вы могли видеть, где вы ошиблись:

$Groups = Get-ADGroup -filter {Name -like "09-Admins" } | Select-Object Name
ForEach ($Group in $Groups) {
   Get-ADGroupMember -identity $($group.name) -recursive | Get-ADUser -Properties mail | Select-Object mail
}

Проблема заключается в том, что вы пытаетесь прочитать свойство, которое не имеет возвращаемого типа Get-ADGroupMember (Microsoft.ActiveDirectory.Управление.Адпринципал). Вам нужно передать это возвращение в Get-ADuser и указать, что вы хотите, чтобы оно вытянуло свойство emailaddress. Get-ADUser не будет извлекать большинство свойств пользователя по умолчанию, поэтому вам нужно указать любые дополнительные свойства, которые вы хотели бы извлеките (или просто выберите все из них с помощью " - Properties *", но это довольно небрежно).

Мьолинор опередил меня с ответом, но я решил, что стоит немного уточнить его ответ.

Что-то вроде этого: '

Get-ADGroup -filter {name -like 'VIPEmail'} | 
Get-ADGroupMember -Recursive |
Get-ADUser -Properties Mail |
select -ExpandProperty Mail

Я бы добавил уникальный. Поэтому, когда пользователь находится в нескольких группах, отображается только одно электронное письмо:

Get-ADGroup -filter {Name -like "RO*" } | 
Get-ADGroupMember -Recursive | 
select -Unique| 
get-adUser -Properties mail |
select -ExpandProperty Mail
Get-ADGroupMember GroupName | get-aduser -properties mail | select mail | Sort-Object mail

Если у вас есть вложенные группы, вы можете изменить вышеизложенное на:

Get-ADGroupMember -Recursive GroupName | get-aduser -properties mail | select mail | Sort-Object mail

Comments

    Ничего не найдено.