AD: Bulk User-Verschiebung OU
Hallo,
ich bräuchte eure Hilfe beim anwenden eines Scripts zum verschieben mehrerer Accounts in eine OU im Active Directory.
Der PS Script den ich nutze, lautet wie folgt:
Leider erhalte ich folgende Fehler:
Wäre euch sehr dankbar, wenn wir das zum laufen bekommen!
ich bräuchte eure Hilfe beim anwenden eines Scripts zum verschieben mehrerer Accounts in eine OU im Active Directory.
Der PS Script den ich nutze, lautet wie folgt:
Import-Module ActiveDirectory
$Import_csv = Import-Csv -Path "C:\temp\InaktiveAccounts.csv"
$TargetOU = "OU=OU=TempInaktive,DC=****,DC=de"
$Import_csv | ForEach-Object {
$UserDN = (Get-ADUser -Identity $_.SamAccountName).distinguishedName
Write-Host "Moving Accounts....."
Move-ADObject -Identity $UserDN -TargetPath $TargetOU -WhatIf
}
Write-Host "Completed move"
Leider erhalte ich folgende Fehler:
Get-ADUser : Cannot find an object with identity: '$._samaccountname' under: 'DC=****,DC=de'.
At line:13 char:5
+ Get-ADUser -Identity $._samaccountname
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: ($._samaccountname:ADUser) [Get-ADUser], ADIdentityNotFoundException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.Act
iveDirectory.Management.Commands.GetADUser
Moving Accounts.....
Move-ADObject : Cannot validate argument on parameter 'Identity'. The argument is null. Provide a valid value for the argument,
and then try running the command again.
At line:18 char:29
+ Move-ADObject -Identity $UserDN -TargetPath $TargetOU -WhatIf
+ ~~~~~~~
+ CategoryInfo : InvalidData: (:) [Move-ADObject], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.MoveADObject
Wäre euch sehr dankbar, wenn wir das zum laufen bekommen!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 11586347436
Url: https://administrator.de/forum/ad-bulk-user-verschiebung-ou-11586347436.html
Ausgedruckt am: 17.06.2025 um 22:06 Uhr
9 Kommentare
Neuester Kommentar

Moin,
wie sieht denn deine .csv aus?
---
Cannot find an object with identity: '$._samaccountname'
$._samaccountname? $_.SamAccountName!
Die Großschreibung ist nicht relevant, die Platzierung des _ dagegen schon
-Thomas
wie sieht denn deine .csv aus?
---
Cannot find an object with identity: '$._samaccountname'
$._samaccountname? $_.SamAccountName!
Die Großschreibung ist nicht relevant, die Platzierung des _ dagegen schon
-Thomas
Moin,
wenn deine Spaltennamen wirklich "Column1" und "Column2" sind, dann musst du statt $_.SamAccountName den Spaltennamen $_.Column2 verwenden.
VG
wenn deine Spaltennamen wirklich "Column1" und "Column2" sind, dann musst du statt $_.SamAccountName den Spaltennamen $_.Column2 verwenden.
Import-Module ActiveDirectory
$Import_csv = Import-Csv -Path "C:\temp\InaktiveAccounts.csv"
$TargetOU = "OU=OU=TempInaktive,DC=****,DC=de"
$Import_csv | ForEach-Object {
#Hier die Änderung in Zeile 9....
$UserDN = (Get-ADUser -Identity $_.Column2).distinguishedName
Write-Host "Moving Accounts....."
Move-ADObject -Identity $UserDN -TargetPath $TargetOU -WhatIf
}
Write-Host "Completed move"
VG
Hat sich erledigt. AD neugestartet und a waren sie 
Rechtsklick auf die OU und dort "Refresh" bzw. "aktualisieren" hätte vermutlich auch gereicht. da musst man nicht gleich das ganze AD (vermutlich nur dein DC) neustarten..Btw: die Info "Moving Accounts..." erhältst du auch, wenn es einen Fehler gegeben hätte.
Du hattest das mit
try ... catch
abfangen können/ sollen/ müssen und/ oder nochmal validieren, ob der User in der OU zu finden ist - innerhalb des foreach()
Moin,
Em-pie hat recht.
Bitte beim nächsten mal richtiges logging einbringen falls etwas schief läuft. Hat mich auch gestört haha
Da das script aber simpel ist und fehlerfrei durchgehen sollte habe ich nichts gesagt 😜
@Harpune: falls du da Interesse hast zu wissen wie so etwas gemacht werden könnte gerne bescheid geben 👍
Vg
Em-pie hat recht.
Bitte beim nächsten mal richtiges logging einbringen falls etwas schief läuft. Hat mich auch gestört haha
Da das script aber simpel ist und fehlerfrei durchgehen sollte habe ich nichts gesagt 😜
@Harpune: falls du da Interesse hast zu wissen wie so etwas gemacht werden könnte gerne bescheid geben 👍
Vg