1 Вопрос: Получать членов группы AD и выводить в определенном порядке

вопрос создан в Thu, May 2, 2019 12:00 AM

Существует множество руководств по извлечению членов определенных групп из текстового файла и выводу их в 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

и др.

    
0
1 ответ                              1                         

Вы можете сделать следующее, чтобы создать список членов, разделенных точкой с запятой, в одной строке и в одном свойстве (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
    
2
2019-05-02 15: 54: 16Z
  1. Отлично, я добавил -Recursive, чтобы дать мне всех пользователей, и это работает очаровательно. Спасибо.
    2019-05-03 08: 11: 05Z
источник размещен Вот