- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用这种在当前域中查找用户的简单方法,它适用于“存在”的所有用户,但我找不到任何方法来确定该用户是否不存在。
string userLDAP = @"MYDOMAIN/username";
string path = "WinNT://" + userLDAP ;
DirectoryEntry root = new DirectoryEntry(path, null, null, AuthenticationTypes.Secure);
除了抛出异常,我如何使用目录条目来确定用户是否不存在?
if (root.Properties != null)
if (root.Properties["objectSid"] != null) //// EXCEPTION HERE
if (root.Properties["objectSid"][0] != null)
最佳答案
为此目的最好使用 DirectorySearcher...
string userName = "TargetUserName";
using (DirectorySearcher searcher = new DirectorySearcher("GC://yourdomain.com"))
{
searcher.Filter = string.Format("(&(objectClass=user)(sAMAccountName={0}))", userName);
using (SearchResultCollection results = searcher.FindAll())
{
if (results.Count > 0)
Debug.WriteLine("Found User");
}
}
此示例将搜索整个森林,包括子域。如果您只想定位单个域,请使用“LDAP://mydomain.com”而不是“GC://mydomain.com”。您还可以为 searcher.SearchRoot 提供 DirectoryEntry 以用作搜索的根(即特定的 OU 或域)。
不要忘记大部分 AD 内容都是 IDisposable,因此请按照上图正确处理。
关于c# - 如何确定 "DirectoryEntry"是否找到了我的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3841866/
我将用户的 SID 设为 byte[]在 windowsPrincipal.getIdentity().getSid() 内. 如何从 SID 获取 Active Directory 条目 (Dire
当我尝试从事件目录中检索“AccountExpirationDate”时遇到一个奇怪的问题。 我使用以下代码检索用户: DirectoryEntry dirEntry = new Di
我有一个DirectoryEntry代表用户的对象。来自DirectoryEntry.Properties集合,我正在检索 "manager"属性,这将为我提供用户经理的专有名称(“DN”)值。 我可
我的目标是从远程服务器获取网站名称列表。但我得到了异常(exception): The RPC server is unavailable. 代码如下: public List GetWebS
在代码中,我使用此代码将计算机帐户移动到另一个事件目录 OU 中。 DirectoryEntry eLocation = new DirectoryEntry("LDAP://" + DevicePa
您好,我有一个运行的 exe,它在我登录的域帐户的上下文中运行。该代码仅查询特定 OU 下用户的事件目录。我从加入林的机器上运行此代码:CompanyNameDomain.NET。 现在安全团队要求我
我正在尝试使用 DirectoryEntry 获取对 AD 的访问权限。我们有一个“OU=Company Users”,然后是“OU=Applications”。我的个人用户帐户在 Company U
我成功地模拟了一个用户帐户,但我无法使用模拟帐户绑定(bind)到 AD 并拉下 DirectoryEntry。 下面的代码输出: 在模拟之前我是:DOMAIN\user 模拟后我是:DOMAIN\a
我想知道用户帐户是否启用。我使用这段代码: var usersList = new List(); DirectoryEntry localMachine = new DirectoryEnt
在您将此问题作为重复问题彻底关闭之前,值得注意的是答案无效。 到目前为止,这是我尝试过的: 第一次尝试是在记录上使用 .InvokeSet: adUser.InvokeSet("department"
我正在使用这种在当前域中查找用户的简单方法,它适用于“存在”的所有用户,但我找不到任何方法来确定该用户是否不存在。 string userLDAP = @"MYDOMAIN/username"; st
我有以下代码从用户的 SID 加载用户的 Active Directory DirectoryEntry 对象: public static DirectoryEntry GetUserDirecto
今天发现一件奇怪的事。我正在从事的项目中有一些这样的代码: var directoryEntry =new DirectoryEntry( ConfigurationManager.AppSe
我有一个控制台应用程序,它列出了 IIS 中的网站绑定(bind) using (var directoryEntry = new DirectoryEntry("IIS://localhost/w3
我有一个现有的 DirectoryEntry 连接,我想检查用于创建此 DirectoryEntry 的用户是否属于特定组。任何人都知道如何实现这一点? 谢谢,舒奇 最佳答案 我不认为有任何神奇、简单
谁能解释一下使用 LdapConnection/SearchRequest 和 DirectoryEntry/DirectorySearcher 在 ActiveDirectory 中搜索用户之间的区
我正在尝试创建 DirectoryEntry 的实例,以便我可以使用它来测试一些将传递给 DirectoryEntry 的代码。然而,尽管进行了很多尝试,我还是找不到一种方法来实例化 DE 并初始化它
你好, 我有以下代码从当前 AD 创建树: public static ActiveDirectory GetActiveDirectoryTree(string pathToAD = "") {
我只需要用户所属组的 commonName。 DirectoryEntry user = new DirectoryEntry("LDAP://cn=myuser...."); foreach(str
我正在登录页面工作,逻辑就像 -> try { DirectoryEntry LDAPLogin = new DirectoryEntry(ConfigurationSettings.AppS
我是一名优秀的程序员,十分优秀!