如何确定当前登录的用户是否在域中?

时间:2013-03-27 21:59:06

标签: c# .net

我试过这个:

Console.WriteLine("Environment.UserDomainName: " + Environment.UserDomainName);
Console.WriteLine("Environment.UserName: " + Environment.UserName);

当您登录到域Environment.UserDomainName时,会返回正确的值,但如果没有,则只返回计算机的名称。

那么有一种很好的方法可以测试当前用户是否登录到域中吗?

1 个答案:

答案 0 :(得分:3)

我认为这就是你想要的:

    private bool IsUserInDomain()
    {
        var prefix = WindowsIdentity.GetCurrent().Name.Split('\\')[0].ToUpperInvariant();
        if (prefix != Environment.MachineName.ToUpperInvariant())
        {
            return true;
        }
        else
        {
            return false;
        }
    }

它使用当前的计算机名检查当前登录用户的“domain”。如果用户不是本地用户,则它们是不同的。