lemonjuice
Goto Top

Powershell - User aus OU in eine andere OU mit Variable verschieben

Hallo Zusammen


Ich bin gerade dabei ein Powershell Script zu schreiben. Es geht darum, nicht mehr benötigte User mit dem Script zu deaktivieren und dann in das Archiv zu verschieben welche die gleiche Baumstruktur hat wie die normale OU

Beispiel:
User aktueller Standort
CN: Yvonne, OU=Haus1, OU=Benutzer, DC=contoso, DC=com

soll nach verschoben werden

CN: Yvonne, OU= Haus1, OU= Benutzer, OU=Archiv, DC=Contoso, DC=com

Die Frage ist, wie kann ich den DN so in eine Variable packen und mit Archiv anhängen damit dies via Script läuft.

Zurzeit sieht mein Script so aus:

Vorher wird der Name durch eine Textbox eingegeben und danach führt der Script folgendes aus:

Disable-ADAccount -Identity $name
get-aduser $name| move-adobject -targetpath "ou=Archiv,ou=Benutzer,dc=do-ekkh,dc=local"

Content-Key: 278533

Url: https://administrator.de/contentid/278533

Printed on: April 18, 2024 at 04:04 o'clock

Mitglied: 122990
Solution 122990 Jul 28, 2015, updated at Jul 29, 2015 at 06:26:37 (UTC)
Goto Top
Moin,
du nimmst den alten DN und ersetzt mit Replace den DC-Part durch einen Null-String, dann nimmst du des Weiteren noch z.B. durch Split den CN-Teil am Anfang weg.
Nun hast du den reinen Baumpfad an den du den String ",ou=Archiv,ou=Benutzer,dc=contoso,dc=com" anhängst, fertig ...

Gruß grexit
Member: colinardo
Solution colinardo Jul 28, 2015, updated at Jul 29, 2015 at 06:26:35 (UTC)
Goto Top
Hallo Lemonjuice,
das könnte z.B. so aussehen:
$domain = 'dc=contoso,dc=com'  
$newtree = 'OU=Archiv,dc=contoso,dc=com'  
get-aduser (read-host 'Geben sie den Benutzernamen ein') | %{  
    Move-ADObject $_.DistinguishedName -TargetPath ($_.DistinguishedName -replace "(CN=[^,]*,)(.*?)$domain",('$2' + $newtree))  
}
Grüße Uwe
Member: Lemonjuice
Lemonjuice Jul 29, 2015 at 06:27:04 (UTC)
Goto Top
Vielen Dank euch beiden. Ich werde dies mal in den Code miteinbeziehen.