1

Команда net group "Groupname" /domain > c:\temp\users.txt сгенерирует следующий вывод в текстовом файле.

Group name     GroupABC
Comment        XXXXXXXXXXXXXXXXXXXXX

Members

--------------------------------------------------------------------
MemberA                  MemberB                  MemberC 
MemberD                  MemberE                  MemberF 
MemberG                  MemberH                  MemberI
The command completed successfully.

Мне нужно избавиться от ненужного заголовка и комментария в конце файла и просто получить вывод в упорядоченном списке следующим образом:

MemberA
MemberB
MemberC
MemberD
MemberE
MemberF
...

Есть ли простой способ сделать это без необходимости вывода в файл и удаления заголовка вручную? Ваша помощь в сортировке и удалении ненужных интервалов очень ценится!

2 ответа2

1

Если вам не хватает командлетов AD, вы можете отформатировать результаты net в Powershell.

# store the results in an array.
$results = net group "Groupname" /domain

# the size of the header and footer is always the same. select the data between these sections.
$results = $results[8..($results.Length-3)]

# replace the empty spaces with a comma. join on the comma, getting rid of blank lines.
foreach($result in $results) { 
    ($result -replace '\s+',',') -split ',' | ? { $_ } >> 'C:\temp\users.txt'
}
0

Самый простой способ сделать это, я могу придумать, это сделать в PowerShell с помощью командлетов Active Directory. На контроллере домена или компьютере с установленным RSAT выполните следующую команду:

Get-ADGroupMember GroupName | select name | out-file GroupName.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .