単純なコマンドラインスクリプトから特定のマシンのログオンドメインを取得するための環境変数または別の方法があるかどうかを調べようとします。
変数%USERDOMAIN%
は、ユーザーが使用しているドメインを提供します。ドメインのtrsutシナリオでは、マシンのドメインではなく、MYドメインが返されます。
アイデアは、自分のcmdスクリプトコードがそれがどのドメインにあるかを気にしないようにしたいが、sitllは実行時にその情報を決定できるということです。
ここに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%
にはドメインが含まれます。 「ワークステーションドメイン」では大文字と小文字が区別されることに注意してください。
Wmi:
wmic path win32_computersystem get domain
パワーシェル:
get-wmiobject win32_ntdomain