Arbeiten in ein paar verschiedenen Domänen, die unterschiedliche Namensschema haben. Also schreibe ich ein Skript, das in jede Domäne geht und prüft ihre Gruppenzugehörigkeit.Get-ADPrincipalGroupMembership -Identity akzeptiert keine Variable
Als Erstes fragt das Skript nach dem Nachnamen des Benutzers. Dann verwende ich Get-ADUser
, um das samaccountname
auszuwählen und es an eine Variable zu binden (samaccountname
ist der einzige Name, den Get-ADPrincipalGroupMembership -Identity
Parameter akzeptiert).
Aber wenn ich das Skript mit der Variablen -Identity
ausführen, findet es den Benutzer nicht. Wenn ich es manuell eintippe - es findet den Benutzer.
Hier ist der Code:
$surname = Read-Host "Users Last Name"
$fullname = Get-ADUser -filter * | Where-Object {$_.surname -eq $surname} |
select samaccountname | Format-Table -HideTableHeaders | Out-String
Get-ADPrincipalGroupMembership -Identity $fullname | select name |
Format-Table -HideTableHeaders
Der Fehler ich zeigt, dass die Variable ein String ist, und es ist der richtige Benutzer, dass es für ist die Suche, aber der Fehler sagt es nicht, dass Benutzer finden.
Ich dachte, es hatte mit der Ausgabe dieser ersten Variable zu tun. Weil, als ich es ansah, war .length - die Variable war viel länger als der Name des Benutzers, also dachte ich, dass dort einige hinzugefügte Räume waren. Vielen Dank. –