Comment obtenir le nom de domaine dans Windows en utilisant la commande?

19

J'ai besoin d' une commande similaire à Linux nomdomaine sous Windows sans utiliser une application tierce.

Existe-t-il une telle commande?

Ricky
la source
Pour plus d' informations - nom de domaine de l' ordinateur et le nom de domaine de l'utilisateur connecté peut ne pas être le même.
RBT

Réponses:

26

Essayer:

echo %USERDOMAIN%

ou

echo %USERDNSDOMAIN%

Si cela ne fonctionne toujours pas, vous pouvez essayer d'utiliser systeminfo:

systeminfo | findstr /B /C:”Domain”
Jon Lin
la source
3
% Userdomain% donnerait le domaine de l'utilisateur, pas nécessairement le même que le nom de domaine de l'ordinateur. windows-commandline.com/find-domain-name-command-line
Sriniv
les citations intelligentes ”Domain”ne permettront pas de grep la chaîne
phuclv
1

Le% USERDOMAIN% et le domaine informatique du réseau peuvent être différents. La commande systeminfo obtiendra la bonne réponse mais elle est LENTE! Voici une solution que j'ai utilisée:

@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%
Mike
la source
1

@Mike: bonne solution - mais j'ai eu quelques problèmes avec cela dans un environnement multilingue. J'ai des serveurs allemands et anglais.

J'ai changé votre script pour utiliser 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%

Merci pour votre idée

Bernhard
la source
1

Vous pouvez exécuter la commande ci-dessous à l'invite de commande:

set user

Il vous donne beaucoup plus d'informations sur le domaine en plus du nom de domaine, comme indiqué dans l'instantané ci-dessous:

  1. Domaine DNS utilisateur
  2. Domaine utilisateur
  3. Profil itinérant du domaine utilisateur
  4. Nom d'utilisateur
  5. Profil de l'utilisateur

entrez la description de l'image ici

Remarque importante : le domaine sur lequel votre ordinateur est enregistré peut ne pas être identique au domaine sur lequel l'utilisateur connecté est enregistré. Veuillez lire la transitivité et la direction de la confiance de domaine pour savoir comment un utilisateur enregistré dans un domaine peut se connecter à un ordinateur sur un autre domaine.

RBT
la source
0

Une ligne est suffisante pour obtenir le domaine en utilisant un utilisateur local:

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

Brocky
la source