我试过这个:
Console.WriteLine("Environment.UserDomainName: " + Environment.UserDomainName);
Console.WriteLine("Environment.UserName: " + Environment.UserName);
当您登录到域Environment.UserDomainName
时,会返回正确的值,但如果没有,则只返回计算机的名称。
那么有一种很好的方法可以测试当前用户是否登录到域中吗?
答案 0 :(得分:3)
我认为这就是你想要的:
private bool IsUserInDomain()
{
var prefix = WindowsIdentity.GetCurrent().Name.Split('\\')[0].ToUpperInvariant();
if (prefix != Environment.MachineName.ToUpperInvariant())
{
return true;
}
else
{
return false;
}
}
它使用当前的计算机名检查当前登录用户的“domain”。如果用户不是本地用户,则它们是不同的。