Risposte:
Provare:
echo %USERDOMAIN%
o
echo %USERDNSDOMAIN%
Se il problema persiste, puoi provare a utilizzare systeminfo:
systeminfo | findstr /B /C:”Domain”
”Domain”
non faranno grep la stringa
% USERDOMAIN% e il dominio del computer di rete possono essere diversi. Il comando systeminfo otterrà la risposta giusta ma è LENTO! Ecco una soluzione che ho usato:
@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: ottima soluzione - ma ho avuto dei problemi con esso in un ambiente multilingue. Ho server tedeschi e inglesi.
Ho cambiato il tuo script per usare 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%
Grazie per la tua idea
È possibile eseguire il comando seguente al prompt dei comandi:
set user
Ti dà molte più informazioni relative al dominio oltre al nome del dominio come mostrato nell'istantanea di seguito:
Nota importante : il dominio su cui è registrato il computer potrebbe non essere uguale al dominio su cui è registrato l'utente che ha effettuato l'accesso. Leggere informazioni sulla transitività e la direzione nella fiducia del dominio per sapere come un utente registrato in un dominio può accedere a un computer su un altro dominio.