web-dev-qa-db-ja.com

コマンドラインからマシンのログオンドメインを特定する

単純なコマンドラインスクリプトから特定のマシンのログオンドメインを取得するための環境変数または別の方法があるかどうかを調べようとします。

変数%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に相当するコマンドラインがないため、この情報を変数に取り込むのは困難です。

4
Mike Fiedler

これはあなたのためにそれをするはずです:

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

次に%machinedomain%にはドメインが含まれます。 「ワークステーションドメイン」では大文字と小文字が区別されることに注意してください。

3
squillman

Wmi:

wmic path win32_computersystem get domain
0
js2010

パワーシェル:

get-wmiobject win32_ntdomain
0
Davidw