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 に答える