web-dev-qa-db-ja.com

コマンドを使用してWindowsでドメイン名を取得する方法

Windowsでサードパーティのアプリケーションを使用せずにLinuxの同様のコマンド ドメイン名 が必要です。

そのようなコマンドはありますか?

20
Ricky

試してください:

echo %USERDOMAIN%

または

echo %USERDNSDOMAIN%

それでもうまくいかない場合は、systeminfoを使用してみてください。

systeminfo | findstr /B /C:”Domain”
28
Jon Lin

@マイク:細かい解決策-しかし、多言語環境で問題が発生しました。ドイツ語と英語のサーバーがあります。

wmic.exeを使用するようにスクリプトを変更しました。

@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 _fqdn=%COMPUTERNAME%.%_computerDomain%
echo %_fqdn%

あなたのアイデアのためのTHX

1
Bernhard

コマンドプロンプトで以下のコマンドを実行できます。

set user

以下のスナップショットに示すように、ドメイン名に加えて、ドメインに関連するより多くの情報を提供します。

  1. ユーザーDNSドメイン
  2. ユーザードメイン
  3. ユーザードメイン移動プロファイル
  4. ユーザー名
  5. ユーザープロフィール

enter image description here

重要な注意:コンピュータが登録されているドメインは、コンピュータが登録されているドメインと同じではないログインしたユーザーが登録されました。あるドメインに登録されているユーザーが別のドメインのコンピューターにログインする方法については、 ドメインの信頼における推移性と方向 を参照してください。

1
RBT

%USERDOMAIN%とネットワークコンピュータドメインは異なる場合があります。 systeminfoコマンドは正しい答えを取得しますが、遅いです!これが私が使った解決策です:

@REM + find the computer domain name
 FOR /F "usebackq tokens=*" %%a IN (`ipconfig /all`) DO (
     @((ECHO %%a | findstr /i /c:"Primary Dns Suffix") && SET _str=%%a) > NUL 2>&1
 )
 FOR /F "tokens=2 delims=:" %%a IN ("%_str%") do SET _computerDomain=%%a
 SET _computerDomain=%_computerDomain: =%

 SET _fqdn=%COMPUTERNAME%.%_computerDomain%
1
Mike

ローカルユーザーを使用してドメインを取得するには、1行で十分です。

FOR/F "usebackq tokens = 2 delims ==" %% a IN(wmic.exe COMPUTERSYSTEM GET DOMAIN /Value ^|find /i "domain")_computerDom = %% aを設定します

0
Brocky