ホームページ >バックエンド開発 >C++ >PrincipalSearcher を使用して Active Directory からユーザー情報を取得するにはどうすればよいですか?

PrincipalSearcher を使用して Active Directory からユーザー情報を取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-06 13:30:41853ブラウズ

How Can I Retrieve User Information from Active Directory Using PrincipalSearcher?

PrincipalSearcher を使用した Active Directory からのユーザー情報の取得

Active Directory を初めて使用する場合は、その階層データ構造とその構造を理解することが重要です。 LDAP クエリ機能。ユーザーのリストを取得するには、System.DirectoryServices.AccountManagement の PrincipalSearcher クラスが直感的なアプローチを提供します。

using (var context = new PrincipalContext(ContextType.Domain, "yourdomain.com"))
確立指定されたドメインへの接続。

使用 (var searcher = new) PrincipalSearcher(new UserPrincipal(context)))
ユーザー プリンシパルを検索するためのサーチャー オブジェクトを作成します。

FindAll() ループ内で、各結果に関連付けられた DirectoryEntry オブジェクトが取得され、次のようなプロパティにアクセスします。

  • givenName: 名
  • sn: 姓Name
  • samAccountName: Windows 2000 以前のユーザー ログオン名
  • userPrincipalName: Windows 2000 以降に使用されるログオン名

以下のコード スニペットは、このアプローチの例を示しています。

using (var context = new PrincipalContext(ContextType.Domain, "yourdomain.com"))
{
    using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
    {
        foreach (var result in searcher.FindAll())
        {
            DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry;
            Console.WriteLine("First Name: " + de.Properties["givenName"].Value);
            Console.WriteLine("Last Name : " + de.Properties["sn"].Value);
            Console.WriteLine("SAM account name   : " + de.Properties["samAccountName"].Value);
            Console.WriteLine("User principal name: " + de.Properties["userPrincipalName"].Value);
            Console.WriteLine();
        }
    }
}
Console.ReadLine();

このソリューションは、Active から必要なユーザー情報を効率的に取得します。ディレクトリ。

以上がPrincipalSearcher を使用して Active Directory からユーザー情報を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。