c# - 如何查明当前登录的用户是否在该域中?

标签 c# .net

我尝试点击这个:

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/

相关文章:

c# - VirtualMemorySize64 和 PrivateMemorySize64 有什么区别

c# - 如何将 ICSharpCode.ZipLib 与流一起使用?

c# - 导出函数(VS2008)的默认调用约定是什么?

.net - LESS 与文化代码结合使用

c# - Winforms .NET 4.5 应用程序在新机器上崩溃

.net - 异常捕获的顺序?

c# - 资源字典中的事件触发函数

c# - 如何在 .net Windows 应用程序中存储数据

.net - 如何判断DataRow中是否存在某列?

.NET Backgroundworker - 有没有办法让异常正常传递回主线程?