Logo faq-o-matic.net
Logo faq-o-matic.net

dsmove und sein beständiger Fehler

von veröffentlicht am18. März 2010, 10:29 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: Active Directory, AD: Daten bearbeiten, Batch   Translate with Google Translate Translate EN   Die angezeigte Seite drucken
Zuletzt aktualisiert: 28. Mai 2010

Mit dem Kommando “dsmove” kann man seit Windows Server 2003 AD-Objekte per Kommandozeile verschieben. Anders als die anderen ds*-Tools kommt dsmove leider nicht mit dem Piping klar: Zwar kann man etwa die Ausgabe eines “dsquery”-Befehls per Pipe an dsmove weiterleiten und so nacheinander mehrere Objekte an den Befehl verfüttern – doch dsmove wird nur das erste übergebene Objekt verschieben und danach einen Fehler ausgeben. Leider gilt das auch noch in Windows Server 2008 R2.

Möchte man eine Massenverschiebung ausführen, so muss man sich mit folgendem Trick behelfen. Das Kommando verschiebt alle Objekte, deren Anmeldename mit “A” beginnt, in eine andere OU. Achtung, die “for”-Zeile bis zur zweiten öffnenden Klammer ist eine einzige Zeile.

  1. for /f "delims=" %%a in (‚dsquery user "OU=AlteOU,DC=dom,DC=faq-o-matic,DC=net" -samid a* -limit 0‘) do (
  2.   dsmove %%a -newparent "OU=NeueOU,OU=DC=dom,DC=faq-o-matic,DC=net"
  3. )

Diese Syntax gilt bei Ausführung per Batch – direkt auf der Kommandozeile muss man “%%a” in “%a” ändern. Möchte man das zunächst gefahrlos testen, so fügt man vor dem “dsmove” noch das Kommando “ECHO” ein und leitet die Ausgabe in eine Datei um. Dann wird dsmove nicht aktiv, sondern das Kommando erzeugt nur die Kommandos.

Achtung: Auch mit Umlauten kommt diese Technik nur unter bestimmten Umständen klar, nämlich dann, wenn die Codepage des CMD-Fensters auf 850 steht. Das ist zwar normalerweise der Fall, aber um sicherzugehen, sollte man in einem Batch zu Beginn das Kommando “chcp 850” einfügen. Die Schalter “uc/uci/uco” der ds*-Tools helfen nicht, weil sie keine gültigen Daten weitergeben.

(Hier noch der Verweis auf meine Fundstelle – wie immer bei ExpertsExchange ganz nach unten scrollen:
http://www.experts-exchange.com/Programming/Languages/Scripting/Shell/Batch/Q_22997808.html)

© 2005-2023 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!