Aktionen

Domäne eines Computers zuverlässig in Batch Skript herausbekommen abfragen ermitteln

Aus znilwiki

Version vom 6. August 2017, 19:51 Uhr von BLinz2 (Diskussion | Beiträge) (Textersetzung - „<comments>“ durch „<comments />“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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)


Loading comments...