如何在Windows中使用命令获取域名?


19

我需要一个与Windows 上Linux 域名类似的命令,而无需使用任何第三方应用程序。

有这样的命令吗?


有关信息-计算机和域名的域名登录的用户可能相同。
RBT

Answers:



1

%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%

1

@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%

谢谢你的想法


1

您可以在命令提示符下运行以下命令:

set user

除域名外,它还为您提供了与域相关的更多信息,如以下快照所示:

  1. 用户DNS域
  2. 用户域
  3. 用户域漫游配置文件
  4. 用户名
  5. 用户资料

在此处输入图片说明

重要提示:域在你的计算机注册可能不会是一样的在其上登录的用户是注册域名。请阅读有关域信任的传递性和方向的信息,以了解在一个域中注册的用户如何登录到另一个域上的计算机。


0

只需一行就可以使用本地用户获取域:

FOR / F“ usebackq令牌= 2 delims ==” %% a IN(wmic.exe COMPUTERSYSTEM GET DOMAIN /Value ^|find /i "domain")设置_computerDom = %% a

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.