我尝试点击这个:
Console.WriteLine("Environment.UserDomainName: " + Environment.UserDomainName);
Console.WriteLine("Environment.UserName: " + Environment.UserName);
当您登录到域时,Environment.UserDomainName
确实会返回正确的值,但如果没有登录,它只会返回计算机的名称。
那么有没有一个好的方法来测试当前用户是否登录到域?
最佳答案
我想这就是你想要的:
private bool IsUserInDomain()
{
var prefix = WindowsIdentity.GetCurrent().Name.Split('\\')[0].ToUpperInvariant();
if (prefix != Environment.MachineName.ToUpperInvariant())
{
return true;
}
else
{
return false;
}
}
它使用当前计算机名检查当前登录用户的“域”。如果用户不是本地用户,则它们是不同的。
关于c# - 如何查明当前登录的用户是否在该域中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15670325/