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


17

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

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


詳細については、コンピューターのドメイン名とログインしているユーザーのドメイン名が異なる場合があります。
RBT

回答:


24

試してください:

echo %USERDOMAIN%

または

echo %USERDNSDOMAIN%

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

systeminfo | findstr /B /C:”Domain”

3
%Userdomain%は、コンピューターのドメイン名と必ずしも同じではなく、ユーザーのドメインを提供します。windows-commandline.com/find-domain-name-command-line
Sriniv

のスマートクォートにより”Domain”、文字列のgrepが失敗します
phuclv

1

%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

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

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

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

set user

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

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

ここに画像の説明を入力してください

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


0

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

FOR / F "usebackq tokens = 2 delims ==" %% a IN(wmic.exe COMPUTERSYSTEM GET DOMAIN /Value ^|find /i "domain")DO set _computerDom = %% a

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.