Получайте членов группы AD и выводите их определенным образом - PullRequest
0 голосов
/ 02 мая 2019

Существует множество руководств по извлечению членов определенных групп из текстового файла и выводу их в CSV, и теперь я хорошо разбираюсь в них, однако они не совсем соответствуют моим критериям и моим знаниям. не совсем позволяет мне преодолеть эту границу.

У меня есть следующее

$Filename = "C:\Users\Username\Desktop\AD Groups.txt"
$GroupName = Get-Content $Filename

Get-ADGroupMember -identity $GroupName | select name, $GroupName | Export- 
csv -path C:\Temp\Groupmembers.csv -NoTypeInformation

Что я хочу сделать, так это иметь что-то, что собирает пользователей в группы, указанные в текстовом файле, и выводит их в CSV-файл, который выглядит следующим образом

GroupName    MemberName
Group 1      All the members of that group ...
Group 2      All the members of that group ...

Все текущие версии, которые я нашел, делают это

Group Name    MemberName
Group 1       Name1
Group 1       Name 2
Group 2       Name 1
Group 2       Name 2
Group 3       Name 1

и т.д.

1 Ответ

2 голосов
/ 02 мая 2019

Вы можете сделать следующее, чтобы создать список членов, разделенных точкой с запятой, в одной строке и в одном свойстве (MemberName).

$Filename = "C:\Users\Username\Desktop\AD Groups.txt"
$GroupNames = Get-Content $Filename

$Output = foreach ($GroupName in $GroupNames) {
    $members = Get-ADGroupMember -Identity $GroupName
    [pscustomobject]"" | Select @{n="GroupName";e={$groupName}},@{n="MemberName"; e={$members.name -join ";"}}
} 

$Output | Export-Csv -path C:\Temp\Groupmembers.csv -NoTypeInformation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...