Auch in Zeiten der PowerShell ist das allte Shell-Scripting mit Batches nicht tot. Viele Aufgaben lassen sich mit Kommandozeilenprogrammen effizient lösen. Schwierig ist es aber, wenn ein Programm Parameter benötigt, die das Skript selbst erst herausfinden muss. Hier ein paar trickreiche Beispiele, wie man Informationen über die Domänencontroller einer Domäne abfragen und in Umgebungsvariablen ablegen kann, um sie dann in Programmaufrufen zu verwenden.
Achtung: Bei Systemen, die IPv6 können (also ab Vista/2008) sollte man das „Ping“ um den Schalter „-4“ ergänzen, wenn man die IPv4-Adresse haben möchte.
@echo off rem Passende Codepage setzen (wg. Umlauten) chcp 1252>nul rem DC-Name set DC=%logonserver:~2% rem DC-DNS-Name set DCDNS=%DC%.%userdnsdomain% rem DC-IP-Adresse for /f "Tokens=2 Delims=[] skip=1" %%i in ('ping -n 1 %DCDNS%') do ( set DCIP=%%i ) rem PDC finden for /f " usebackq delims=" %%i in (`netdom query pdc ^| find /i /v " "`) do ( set PDCName=%%i ) echo Aktueller DC: %DC% echo DNS-Name des DC: %DCDNS% echo IP-Adresse des DC: %DCIP% echo PDC-Emulator: %PDCName%
http://faq-o-matic.net/?p=2426