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?
Essayer:
echo %USERDOMAIN%
ou
echo %USERDNSDOMAIN%
Si cela ne fonctionne toujours pas, vous pouvez essayer d'utiliser systeminfo:
systeminfo | findstr /B /C:”Domain”
@ 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
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:
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.
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%
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