하나의 열에서 순 그룹 출력 정렬

이 명령 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
...

파일로 출력하지 않고 헤더를 수동으로 제거하지 않고도이 작업을 수행하는 쉬운 방법이 있습니까? 불필요한 간격을 정렬하고 제거하는 데 도움을 주셔서 감사합니다.



답변

내가 생각할 수있는 가장 쉬운 방법은 Active Directory cmdlet을 사용하여 powershell에서 수행하는 것입니다. 도메인 컨트롤러 또는 RSAT가 설치된 컴퓨터에서 다음을 실행하십시오.

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

답변

AD cmdlet이 없으면 netPowershell 에서 결과 형식을 지정할 수 있습니다.

# 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'
}