试图找出是否有环境变量或其他方法从简单的命令行脚本获取给定计算机的登录域.
变量%USERDOMAIN%将为我提供我的用户所在的域 – 并且在域trsut场景中不会返回计算机的域,而是返回MY域.
我的想法是,我希望能够让我的cmd脚本代码不关心它所在的域,但是sitll能够在运行时确定该信息.
这里有VBScript方法:
Set objRootDSE = GetObject("LDAP://RootDSE") strDomain = objRootDSE.Get("DefaultNamingContext") WScript.Echo strDomain
另一种方法是:
net config workstation | findstr /C:"Workstation domain"
哪个输出:
Workstation domain DOMAINNAME
但由于没有相当于unix cut的命令行,我发现很难将这些信息转换为变量.
这应该为你做:
for /f "tokens=1-3 delims= " %%d in ('net config workstation ^| findstr /c:"Workstation domain"') do set machinedomain=%%f
然后%machinedomain%将包含域.请注意,“工作站域”在那里区分大小写.