Answers:
尝试:
echo %USERDOMAIN%
要么
echo %USERDNSDOMAIN%
如果仍然无法解决问题,可以尝试使用systeminfo:
systeminfo | findstr /B /C:”Domain”
”Domain”将使其无法grep字符串
%USERDOMAIN%和网络计算机域可以不同。systeminfo命令将获得正确的答案,但是速度很慢!这是我使用的解决方案:
@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:很好的解决方案-但在多语言环境中我遇到了一些问题。我有德语和英语服务器。
我将您的脚本更改为使用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%
谢谢你的想法
您可以在命令提示符下运行以下命令:
set user
除域名外,它还为您提供了与域相关的更多信息,如以下快照所示:
重要提示:域在你的计算机注册可能不会是一样的在其上登录的用户是注册域名。请阅读有关域信任的传递性和方向的信息,以了解在一个域中注册的用户如何登录到另一个域上的计算机。