2

我试着打这个:

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

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

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

4

1 回答 1

3

我认为这就是你想要的:

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

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

于 2013-03-27T22:55:09.160 回答