Active Directory からのユーザー情報の取得
Active Directory からユーザーのリストと、対応するユーザー名、姓名を収集するには、次のアプローチを検討してください:
Active Directory について構造
Active Directory は、識別名で識別されるコンテナーとオブジェクトを使用してデータを階層的に編成します。クエリを実行する前に、この構造を理解することが重要です。
LDAP クエリと PrincipalSearcher
Active Directory は LDAP サーバーであり、LDAP クエリを利用して情報を取得できます。ユーザー固有のクエリの場合は、System.DirectoryServices.AccountManagement の PrincipalSearcher クラスが推奨されます。
取得のサンプル コード
次のコード サンプルは、ユーザー情報を取得する方法を示しています。を使用してPrincipalSearcher:
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(); } } }
属性に関する考慮事項
「givenName」は名に対応し、「sn」は姓を表すことに注意してください。ユーザー名に関しては、Active Directory には 2 つのログオン名、「samAccountName」 (Windows 2000 以前) と「userPrincipalName」 (Windows 2000 以降) が保存されます。
以上がActive Directory からユーザー情報 (名前とユーザー名) を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。