web-dev-qa-db-fra.com

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

J'ai besoin d'une commande similaire à Linux ' nom de domaine sous Windows sans utiliser aucune application tierce.

Y a-t-il une telle commande?

17
Ricky

Essayer:

echo %USERDOMAIN%

ou

echo %USERDNSDOMAIN%

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

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

@ 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

1
Bernhard

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

set user

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

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

enter image description here

Remarque importante : Le domaine sur lequel votre ordinateur est enregistré n'est peut-être pas identique au domaine sur lequel l'utilisateur connecté est enregistré. Veuillez vous renseigner sur la transitivité et la direction dans l’approbation de domaine pour savoir comment un utilisateur enregistré dans un domaine peut se connecter à un ordinateur d’un autre domaine.

1
RBT

Le% USERDOMAIN% et le domaine de l'ordinateur réseau peuvent être différents. La commande systeminfo obtiendra la bonne réponse mais c'est lent! 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%
1
Mike

Une ligne suffit pour que le domaine utilise un utilisateur local:

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

0
Brocky