Ich bin ziemlich neu PS-Benutzer ... Auf der Suche nach Unterstützung mit einem Powershell-Skript, um eine Liste der Sicherheitsgruppen zu erhalten, der Benutzer angehört.Wie listet die AD-Gruppenmitgliedschaft für AD-Benutzer die Eingabeliste auf?
Um zu beschreiben, was ich brauche:
- Ich habe Eingabeliste (txt-Datei) mit vielen Benutzern (samaccountnames). Jeder Name steht in einer neuen Zeile.
- Ich brauche das Skript diese Namen in AD suchen - ganzen Wald, nicht nur eine einzelne Domain
- Ausgabe wie „samaccountname“ und die Liste der Gruppen dieses Konto Mitglied es in einer Zeile, also kann ich aussehen soll sortieren in Excel
Dies ist das Skript ich habe:
$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
}
aber es wirft mir einen Fehler:
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
Wie auch immer, dieses Skript würde nicht den gesamten Wald durchsuchen.
Probeneingabeliste:
username1
username2
username3
username4... etc
Musterausgabeliste
username1;group1;group2;group3
username2;group1;group2;group3;group4... etc or something similar
Jede Hilfe wäre sehr dankbar.
Vielen Dank, das war hilfreich :) –
Guter Deal! Schön, dass Sie es hilfreich fanden. Könnten Sie die Antwort als angemessen markieren? –