如何检测我的程序是否在Active Directory环境中运行?

vIc*_*erg 9 c# active-directory

如何检测我的程序是否在Active Directory环境中运行?

我正在使用C#和.Net 2.0

Cap*_*oad 7

尝试获取Environment.UserDomainName并将其与Environment.MachineName进行比较.如果两者相同,那么用户可能没有域.如果它们不相同,则用户登录到必须具有目录服务器的域.


Kev*_*ild 2

一种方法可能是查询 LOGONSERVER 环境变量。这将给出您的 AD 控制器的服务器名称...据我所知,如果当前未登录到域,则该名称将为空白(或与当前工作站匹配?不确定)。

用法示例:

string ADServer = Environment.GetEnvironmentVariable("LOGONSERVER"); 
Run Code Online (Sandbox Code Playgroud)

  • 如果计算机不属于任何域,它也将是一个计算机名称 (2认同)