Preciso de um comando semelhante ao nome de domínio do Linux no Windows sem usar nenhum aplicativo de terceiros.
Existe esse comando?
Preciso de um comando semelhante ao nome de domínio do Linux no Windows sem usar nenhum aplicativo de terceiros.
Existe esse comando?
Respostas:
Experimentar:
echo %USERDOMAIN%
ou
echo %USERDNSDOMAIN%
Se isso ainda não funcionar, você pode tentar usar systeminfo:
systeminfo | findstr /B /C:”Domain”
”Domain”
vão fazê-lo falhar ao grep a string
O% USERDOMAIN% e o domínio do computador em rede podem ser diferentes. O comando systeminfo obterá a resposta certa, mas é LENTO! Aqui está uma solução que eu usei:
@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: boa solução - mas tive alguns problemas com ele em um ambiente multilíngue. Eu tenho servidores alemães e ingleses.
Mudei seu script para usar o 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 pela sua ideia
Você pode executar o comando abaixo no prompt de comando:
set user
Ele fornece muito mais informações relacionadas ao domínio, além do nome do domínio, conforme mostrado abaixo na captura instantânea:
Nota importante : O domínio no qual seu computador está registrado pode não ser o mesmo no qual o usuário conectado está registrado. Leia sobre transitividade e direção na confiança do domínio para saber como um usuário registrado em um domínio pode fazer login em um computador em outro domínio.