Domäne eines Computers zuverlässig in Batch Skript herausbekommen abfragen ermitteln
Aus znilwiki
Ich war gerade dabei einen kleinen Programm-Updater zu schreiben der mit SYSTEM-Rechten läuft ... da fiel mir auf das es nun Essig war mit der Umgebungsvariable %USERDOMAIN%
.
Diese hatte ich sonst immer in Scripten für die Abfrage der Computerdomäne genutzt.
Zum einen funktioniert es nicht als SYSTEM-Benutzer ... zum anderen muss der aktuelle benutzer ja nicht unbedingt in der Domäne des Computers sein (Stichwort Vertrauensstellungen').
Bei meiner Suche nach einer Lösung fand ich heraus das es auf jeden Rechner mit WMI-Schnittstelle (sagen wir mal ab Windows XP / 2003) ein kleines Programm wmic.exe
gibt.
Mit
wmic.exe COMPUTERSYSTEM GET DOMAIN
kann man sprachneutral nach der Domäne fragen. nahc einer Idee von hier: http://superuser.com/questions/468217/how-to-get-domain-name-in-windows-using-command/733982#733982
habe ich daraus folgendes Skript gebaut:
@REM + find the computer domain name
@echo off
FOR /F "usebackq tokens=*" %%a IN (`wmic.exe COMPUTERSYSTEM GET DOMAIN /Value`) DO (
@((ECHO %%a | findstr /i /c:"Domain=") && SET _str=%%a) > NUL 2>&1
)
FOR /F "tokens=2 delims=^=" %%a IN ("%_str%") do SET COMPUTERDOMAIN=%%a
SET COMPUTERDOMAIN=%COMPUTERDOMAIN: =%
SET COMPUTERFQDN=%COMPUTERNAME%.%COMPUTERDOMAIN%
echo Vollstaendiger Computername: %COMPUTERFQDN%
echo Nur die Domaene: %COMPUTERDOMAIN%
--Bernhard Linz 21:11, 26. Mär. 2014 (CET)