Comment la liste des ANNONCES appartenance à un groupe pour les utilisateurs de AD à l'aide de l'entrée de la liste?

Je suis assez nouveau PS utilisateur... à la Recherche de l'aide avec un script powershell pour obtenir la liste des groupes de sécurité de l'utilisateur est membre.

Pour décrire ce que j'ai besoin de:

  • J'ai d'entrée de la liste (fichier txt) avec de nombreux utilisateurs (samaccountnames). Chaque nom est sur une nouvelle ligne.
  • J'ai besoin du script à la recherche de ces noms dans AD - forêt entière, et pas seulement un seul domaine
  • de sortie doit ressembler à "samaccountname" et la liste des groupes de ce compte est membre de en une ligne, je peux donc faire le tri dans excel

C'est le script que j'ai:

$users = Get-Content C:\users.txt

ForEach ($User in $users) {
  $getmembership = Get-ADUser $User.Users -Properties MemberOf | Select -ExpandProperty memberof
  $getmembership | Out-File -Append c:\membership.txt 
}

mais il me lance une erreur:

Get-ADUser : Cannot validate argument on parameter 'Identity'. The argument is null. Supply a non-null argument and try the command again.
At line:4 char:28
+ $getmembership = Get-ADUser <<<<  $User.Users -Properties MemberOf | Select -ExpandProperty memberof
    + CategoryInfo          : InvalidData: (:) [Get-ADUser], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.GetADUser

De toute façon, ce script ne serait pas de recherche sur l'ensemble de la forêt.

Exemple de liste d'entrée:

username1
username2
username3
username4... etc

Exemple de sortie de la liste

username1;group1;group2;group3
username2;group1;group2;group3;group4... etc or something similar

Toute aide serait grandement appréciée.

OriginalL'auteur Martin_K | 2014-01-20