首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查用户是域用户还是本地用户

检查用户是域用户还是本地用户
EN

Stack Overflow用户
提问于 2012-10-03 22:12:13
回答 4查看 13.7K关注 0票数 6

我希望能够检查给定的用户名,如果该用户是域用户或机器的本地用户(最好使用.NET ),但可以在网上找到更多信息

代码语言:javascript
复制
public static Boolean isLocalUser (string name)
{
//code here
}

编辑例如,您将获得一个字符串形式的me.user

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-10-03 22:18:02

代码语言:javascript
复制
public bool DoesUserExist(string userName)
{
    bool exists = false;
    try
    {
    using (var domainContext = new PrincipalContext(ContextType.Domain, "DOMAIN"))
    {
        using (var foundUser = UserPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, userName))
        {
            exists = true;
        }
      }
    }
    catch(exception ex)
    {
      //Exception could occur if machine is not on a domain
    } 
    using (var domainContext = new PrincipalContext(ContextType.Machine))
    {
        using (var foundUser = UserPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, userName))
        {
            exists = true;
        }
    }
   return exists;
}

来源:Check UserID exists in Active Directory using C#

票数 4
EN

Stack Overflow用户

发布于 2014-03-26 23:12:30

对我来说,到目前为止,这一切都运行得很好。(左侧使用离开)。

代码语言:javascript
复制
bool IsLocalUser(string accountName)
{
  var domainContext = new PrincipalContext(ContextType.Machine);
  return Principal.FindByIdentity(domainContext, accountName) != null;
}

但请注意,这将无法识别“系统”帐户。我们单独检查它,因为它始终是本地帐户。

票数 4
EN

Stack Overflow用户

发布于 2012-10-03 22:18:06

David在赚钱,要检查当前用户是否是域的一部分,您可以检查Environment.UserDomainName并将其与当前用户进行比较。

有关更多信息,请访问MSDN

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12710355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档