2 votes

Trier la sortie du groupe net dans une colonne

La commande net group "Groupname" /domain > c:\temp\users.txt générera la sortie suivante dans le fichier texte.

Group name     GroupABC
Comment        XXXXXXXXXXXXXXXXXXXXX

Members

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

Je devrais me débarrasser de l'en-tête et du commentaire inutiles à la fin du fichier et simplement avoir la sortie dans une liste ordonnée comme suit :

MemberA
MemberB
MemberC
MemberD
MemberE
MemberF
...

Existe-t-il un moyen simple de faire cela sans avoir à sortir le fichier et à supprimer l'en-tête manuellement ? Votre aide pour le tri et la suppression des espaces inutiles est très appréciée !

3voto

root Points 3412

S'il vous manque des AD cmdlets, vous pourriez formater les résultats de net dans 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'
}

1voto

Mr. Putty Points 1101

Le moyen le plus simple auquel je pense est de le faire en powershell avec les cmdlets Active Directory. Soit sur le contrôleur de domaine, soit sur une machine sur laquelle RSAT est installé, exécutez ce qui suit

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X