Назад | Перейти на главную страницу

Определите домен входа в систему из командной строки

Попытка выяснить, есть ли переменная среды или другой способ получить домен входа данной машины из простого сценария командной строки.

Переменная %USERDOMAIN% предоставит мне домен, которым является мой пользователь, и в сценарии домена trsut не возвращает домен машины, а МОЙ домен.

Идея в том, что я хочу, чтобы мой код cmd-скрипта не заботился о том, в каком домене он находится, но мог бы определять эту информацию во время выполнения.

Здесь есть метод VBScript:

Set objRootDSE = GetObject("LDAP://RootDSE")
strDomain = objRootDSE.Get("DefaultNamingContext")
WScript.Echo strDomain

Другой метод такой:

net config workstation | findstr /C:"Workstation domain"

который выводит:

Workstation domain                   DOMAINNAME

Но поскольку нет командной строки, эквивалентной unix cut, Мне трудно передать эту информацию в переменную.

Это должно сделать это за вас:

for /f "tokens=1-3 delims= " %%d in ('net config workstation ^| findstr /c:"Workstation domain"') do set machinedomain=%%f

затем %machinedomain% будет содержать домен. Обратите внимание, что "домен рабочей станции" здесь чувствителен к регистру.

Powershell:

get-wmiobject win32_ntdomain

Wmi:

wmic path win32_computersystem get domain