Guten Tag liebe MCSE-Community,
ich bin neu hier und habe auch gleiche ein vermutliches Verständnisproblem bei einen meiner Powershell Skripte.
Auch wenn die Lösung eher simpel erscheinen kann möchte Ich um Euren Rat bitten.
Was habe ich vor?
Der Fileserver, welcher die Homedrives unserer AD-User bereitstellt wurde auf ein DFS-R Pfad umgeleitet.
Leider sind uns ein paar Benutzer entwischt, welche derzeit noch mit deren Homedrives auf den alten Hostname zeigen.
Mittlerweile bin ich einigermaßen Fit in AD-Powershell abfragen und möchte nun ein erstes Skript mit Set-User erstellen.
Die folgende Abfrage nutze ich um die Fehlerhaften Homedrives Abzufragen:
get-aduser -filter * -properties * | Where-Object {$_.homedirectory -like "\\falschername\*" -and $_.samaccountname -like "peter*"}
Die Filteroption
-and $_.samaccountname -like "peter*"
nutze ich nur zum testen eines Fehlerhaften Referenzbenutzers
Mein erster Ansatz führt auch gleich zu der vermutlich alles entscheidenden Frage und den Fehler
get-aduser -filter * -properties * | Where-Object {$_.homedirectory -like "*" -and $_.samaccountname -like "peter*"}| foreach-object{Set-ADUser -HomeDirectory "\\domain.local\USERHOME\" + $_.samaccountname}
Um in die Foreach-Schleife eine Property des get-aduser Ergebnissen hereinzubekommen bin ich mir nicht sicher, ob $_.samaccountname überhaupt hinter der Pipe in der schleife verwenden kann.
Mein Ziel ist es auch in einer Zeile zu schreiben, wenn es möglich ist.
Ich habe die Abfrage umgeschrieben um zu sehen ob eine andere Schreibweise, wie die folgende zum Ziel führt.
$results=get-aduser -filter * -properties * | Where-Object {$_.homedirectory -like "*" -and $_.samaccountname -like "peter*"}
foreach($result in $results)
{
Set-ADUser -HomeDirectory "\\domain.local\USERHOME\" + $result.samaccountname
}
Set-ADUser : Es wurde kein Positionsparameter gefunden, der das Argument "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection" akzeptiert.
In Zeile:4 Zeichen:5
+ Set-ADUser -HomeDirectory "\\domain.local\USERHOME\" + $result. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-ADUser], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.SetADUser
Leider bekomme ich bei beiden diesen Fehler.
Über jeden Denkanstoß bin ich dankbar