Determina o domínio de logon da máquina na linha de comando

4

Tentando descobrir se existe uma variável de ambiente ou outro método para obter o domínio de logon de uma determinada máquina a partir de um simples script de linha de comando.

A variável %USERDOMAIN% me fornecerá o domínio que meu usuário é - e, em um cenário de domínio do trut, não retornará o domínio da máquina, em vez do domínio MY.

A ideia é que eu queira que meu código de script cmd não se importe com o domínio em que ele está, mas possa determinar essas informações em tempo de execução.

Existe o método VBScript aqui:

Set objRootDSE = GetObject("LDAP://RootDSE")
strDomain = objRootDSE.Get("DefaultNamingContext")
WScript.Echo strDomain

Outro método é este:

net config workstation | findstr /C:"Workstation domain"

quais saídas:

Workstation domain                   DOMAINNAME

Mas como não há linha de comando equivalente a unix cut , estou achando difícil obter essa informação em uma variável.

    
por Mike Fiedler 04.01.2010 / 21:17

3 respostas

3

Isso deve ser feito para você:

for /f "tokens=1-3 delims= " %%d in ('net config workstation ^| findstr /c:"Workstation domain"') do set machinedomain=%%f

Em seguida, %machinedomain% conterá o domínio. Note que "domínio da estação de trabalho" é sensível a maiúsculas e minúsculas.

    
por 04.01.2010 / 21:39
0

Wmi:

wmic path win32_computersystem get domain
    
por 11.06.2018 / 23:18
0

Powershell:

get-wmiobject win32_ntdomain
    
por 11.06.2018 / 23:29