gpt4 book ai didi

.net - 查询已禁用帐户的 ADAM/ADLDS

转载 作者:行者123 更新时间:2023-12-04 06:35:51 25 4
gpt4 key购买 nike

我正在尝试使用 .Net 中的 DirectorySearcher 来查询残疾用户。

我正在使用一个与此处发布的非常相似的相当快的列表功能。
Enumerating Large Groups With Active Directory .

我尝试将过滤器更改为
(&(objectCategory=person)(userAccountControl:1.2.840.113556.1.4.803:=2))
我没有结果。看来我不能在这个庄园使用DirectorySearcher。有没有人做过这样的事情。我只需要基本信息,并且更喜欢轻量级/快速查询。

最佳答案

使用 System.DirectoryServices.AccountManagement .NET 3.5 中引入的命名空间,这样的事情变得容易多了。

在此处阅读所有相关信息:Managing Directory Security Principals in the .NET Framework 3.5

您首先必须为您的操作建立上下文 - 明确支持 AD LDS:

// create a context for an AD LDS store pointing to the 
// partition root using the credentials for a user in the AD LDS store
// and SSL for encryption
PrincipalContext ldsContext = new PrincipalContext(
ContextType.ApplicationDirectory, "sea-dc-02.fabrikam.com:50001",
"ou=ADAM Users,o=microsoft,c=us",
ContextOptions.SecureSocketLayer | ContextOptions.SimpleBind,
"CN=administrator,OU=ADAM Users,O=Microsoft,C=US ", "pass@1w0rd01");

然后你会创建一个 PrincipalSearcher并以“示例查询”样式定义您要查找的内容:
// create a principal object representation to describe
// what will be searched
UserPrincipal user = new UserPrincipal(ldsContext);

// define the properties of the search (this can use wildcards)
user.Enabled = false;
user.Name = "user*";

// create a principal searcher for running a search operation
PrincipalSearcher pS = new PrincipalSearcher();

// assign the query filter property for the principal object you created
// you can also pass the user principal in the PrincipalSearcher constructor
pS.QueryFilter = user;

// run the query
PrincipalSearchResult<Principal> results = pS.FindAll();

Console.WriteLine("Disabled accounts starting with a name of 'user':");
foreach (Principal result in results)
{
Console.WriteLine("name: {0}", result.Name);
}

很漂亮吧??如果可以的话 - 使用新的 S.DS.AM命名空间!!

关于.net - 查询已禁用帐户的 ADAM/ADLDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4891442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com