Aktionen

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)



Jannik

36 Monaten zuvor
Punktzahl 0++

Hallo,

das Script funktioniert super! Danke dafür.

Einziges Manko; die CPU schlägt kurz bis ca 40% aus. Testsytem war hier nen Acer NB mit i3 M380 @ 2,5GHz, 4GB RAM und ner HDD. Aber sollte ja keinen jucken :)
Kommentar hinzufügen
znilwiki freut sich über alle Kommentare. Sofern du nicht anonym bleiben möchtest, trage deinen Namen oder deine Email-Adresse ein oder melde dich an. Du kannst das Feld auch einfach leer lassen.