Попытка выяснить, есть ли переменная среды или другой способ получить домен входа данной машины из простого сценария командной строки.
Переменная %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