Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


powershell:active-directory:powershell-get-list-of-security-group-members-with-additional-attributes

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
powershell:active-directory:powershell-get-list-of-security-group-members-with-additional-attributes [20.01.2017 14:36] – создано Алексей Максимовpowershell:active-directory:powershell-get-list-of-security-group-members-with-additional-attributes [23.03.2020 12:00] (текущий) Алексей Максимов
Строка 12: Строка 12:
  | Format-Table displayName,company,department,title -GroupBy company -AutoSize `  | Format-Table displayName,company,department,title -GroupBy company -AutoSize `
  | Out-File -Width 4000 "C:\Temp\ADGroupUsersByCompany.txt"</code>  | Out-File -Width 4000 "C:\Temp\ADGroupUsersByCompany.txt"</code>
 +
 +
 +Получаем перечень email-адресов всех членов определённой группы безопасности:
 +
 +<code powershell>Get-ADGroupMember -Recursive "KOM-SRV-Users" | ForEach { 
 + 
 + Get-ADUser -filter {samaccountname -eq $_.SamAccountName} `
 +  -Properties mail 
 + 
 +} `
 + | Sort-Object mail `
 + | Format-Table mail</code>
 +
 +Если нужно получить список уникальных email-адресов для членов сразу нескольких групп безопасности и выгрузить эти данные в текстовый файл, то можно воспользоваться следующим примером:
 +
 +<code powershell>$ADGroups = @("AD-Group1","AD-Group2")
 +$DataFile = "C:\Temp\Mail-Users.txt"
 +$ADMembers = @()
 +
 +# Получаем полный список членов всех групп
 +
 +ForEach ($ADGroup in $ADGroups) {
 +   
 +    $ADMembers += Get-ADGroupMember -Recursive $ADGroup | ForEach { 
 +    Get-ADUser -filter {samaccountname -eq $_.SamAccountName} `
 +    -Properties mail 
 +    }
 +
 + }
 +
 +# Сортируем, откидываем неуникальные значения и выгружаем в файл
 +
 +$ADMembers | Sort-Object mail | Get-Unique `
 + | Format-Table mail -HideTableHeaders `
 + | Out-File -Width 2147483647 $DataFile
 +
 +
 +# Нормализуем данные в файле
 +
 +$NormalizeData = [System.IO.File]::ReadAllText($DataFile)
 +# Удаляем пустые строки
 +$NormalizeData = $NormalizeData.Trim()
 +# Удаляем все пробелы
 +$NormalizeData = $NormalizeData.Replace(' ', '')
 +[System.IO.File]::WriteAllText($DataFile, $NormalizeData)</code>
 +
 +{{tag>PowerShell "Active Directory" Membership}}
 +
 +~~DISCUSSION~~
powershell/active-directory/powershell-get-list-of-security-group-members-with-additional-attributes.txt · Последнее изменение: 23.03.2020 12:00 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki