Seppim 14 Geschrieben 1. September 2022 Melden Teilen Geschrieben 1. September 2022 Hallo! Über ein Script lege ich neue User an. Existierende werden aktualisiert. else { New-ADUser ` -SamAccountName $SamAccountName ` -UserPrincipalName $UserPrincipalName ` -Name "$Firstname $Lastname" ` -DisplayName "$Lastname, $Firstname" ` -GivenName $Firstname ` -Surname $Lastname ` -Enabled $True ` -Department $Department ` -Office $Office ` -ChangePasswordAtLogon $true ` -Path $OU ` -Initials ($Firstname.SubString(0,1) + $Lastname.SubString(0,1)) ` -Description $Office ` -AccountPassword (convertto-securestring "Password123" -AsPlainText -Force) sleep 5 Get-ADUser $User | Move-ADObject -TargetPath "$ouPath" } Bei dem letzten Befehl erhalte ich den Fehler: Get-ADUser : Das Argument für den Parameter "Identity" kann nicht überprüft werden. Die Identitätseigenschaft des Arguments ist NULL oder leer. In C:\Users\meinUser\Desktop\Liste\createUser.ps1:286 Zeichen:25 + Get-ADUser $User | Move-ADObject -TargetPath "$ouPath" + ~~~~~ + CategoryInfo : InvalidData: (:) [Get-ADUser], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.GetADUser Ich lege den User neu an und möchte ihn in eine OU verschieben ... aber scheinbar existiert der User (noch) nicht .. habs auch mit einer 5 Sekunden Verzögerung probiert Ein bestehender User klappt mit: { Write-Host -ForegroundColor Red (" ### bestehender user ####") Set-ADUser ` -Identity $SamAccountName ` -UserPrincipalName $UserPrincipalName ` -GivenName $Firstname ` -Surname $Lastname ` -Enabled $True ` -Department $Department ` -DisplayName "$Lastname, $Firstname" ` -Office $Office ` -Initials ($Firstname.SubString(0,1) + $Lastname.SubString(0,1)) ` -Description $Office Get-ADUser $User | Move-ADObject -TargetPath "$ouPath" } Zitieren Link zu diesem Kommentar
Beste Lösung tesso 375 Geschrieben 1. September 2022 Beste Lösung Melden Teilen Geschrieben 1. September 2022 Lass mich raten. Ihr habt mehrere DCs. Dann läuft der "Get-ADUser" gegen einen anderern DC und der AD-Sync ist noch nicht gelaufen. Warum legst du den User nicht gleich in der richtigen OU an? Der Parameter müsste "-Path" sein (aus dem Kopf) 1 Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 1. September 2022 Melden Teilen Geschrieben 1. September 2022 Wie befüllst Du die Variable "$User" denn? Das ist in Deinem Ausschnitt leider nicht zu sehen. Übrigens: Backticks für die Zeilenumbrüche zu verwenden wird als sehr schlechter Stil betrachtet. Die viel bessere und auch robustere Methode ist, Splatting zu verwenden: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-7.2 Zitieren Link zu diesem Kommentar
Seppim 14 Geschrieben 1. September 2022 Autor Melden Teilen Geschrieben 1. September 2022 (bearbeitet) vor 5 Minuten schrieb tesso: Lass mich raten. Ihr habt mehrere DCs. Dann läuft der "Get-ADUser" gegen einen anderern DC und der AD-Sync ist noch nicht gelaufen. Warum legst du den User nicht gleich in der richtigen OU an? Der Parameter müsste "-Path" sein (aus dem Kopf) Das wirds wohl sein ... danke! Path habe ich drinnen .. eventuell habe ich übersehen das er eh schon richtig zugeordnet wird, bearbeitet 1. September 2022 von Seppim Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 1. September 2022 Melden Teilen Geschrieben 1. September 2022 Moin, du hast den Path-Parameter ja sogar in deinem New-ADUser-Kommando drin. Dann übergib gleich den richtigen Pfad und fertig. Gruß, Nils Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 1. September 2022 Melden Teilen Geschrieben 1. September 2022 Stimmt. Ich hatte den Blick auf dem Set-ADUser Teil. Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 1. September 2022 Melden Teilen Geschrieben 1. September 2022 Dieses New-ADUser funktioniert einwandfrei bei mir: $Global:SRVGlobal="domäne.tld" # Es reicht die Domain anzugeben, es muss KEIN Servername angegeben werden. new-aduser -name $name -enabled $true –surname $Nachname -givenname $Vorname -SamAccountName $SamAccountName1 -accountpassword $password1 -ChangePasswordAtLogon $False -path $TotalOU -userprincipal $userprincipal -PasswordNeverExpires $True -Server $SRVGlobal Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.