グループの検索
ここでは、DirectorySearcher を使用してグループを検索する方法を示します。
次の C# の例は、ドメイン内のすべてのグループを検索する方法を示しています。
using System.DirectoryServices;
...
DirectorySearcher src = new DirectorySearcher(ou,"(objectCategory=group)");
foreach(SearchResult res in src.FindAll())
{
Console.WriteLine(res.Path);
}
次の C# の例は、すべてのセキュリティが有効なグループを検索する方法を示しています。この検索では、COM 相互運用ADSI にアクセスするための COM 相互運用機能の使用機能を使用します。詳細については、MSDN ライブラリ (https://go.microsoft.com/fwlink/?LinkID=27252) で Visual Basic および Visual C# での COM 相互運用機能に関するトピックを参照してください。この例では、ビットごとの検索が使用されます。
using System.DirectoryServices;
...
DirectorySearcher src = new DirectorySearcher(ou,"(objectCategory=group)");
int val = (int) ActiveDs.ADS_GROUP_TYPE_ENUM.ADS_GROUP_TYPE_SECURITY_ENABLED;
string query = "(&(objectCategory=group)(groupType:1.2.840.113556.1.4.804:=" + val.ToString() + "))";
src.Filter = query;
foreach(SearchResult res in src.FindAll())
{
Console.WriteLine(res.Path);
}
次の C# の例は、セキュリティで保護されているかどうかに関係なく、すべてのグローバル ドメイン グループを検索する方法を示しています。この検索では、COM 相互運用ADSI にアクセスするための COM 相互運用機能の使用機能を使用します。詳細については、MSDN ライブラリ (https://go.microsoft.com/fwlink/?LinkID=27252) で Visual Basic および Visual C# での COM 相互運用機能に関するトピックを参照してください。
using System.DirectoryServices;
...
DirectorySearcher src = new DirectorySearcher(ou,"(objectCategory=group)");
int val = (int) ActiveDs.ADS_GROUP_TYPE_ENUM.ADS_GROUP_TYPE_GLOBAL_GROUP;
string query = "(&(objectCategory=group)(groupType:1.2.840.113556.1.4.804:=" + val.ToString() + "))";
src.Filter = query;
foreach(SearchResult res in src.FindAll())
{
Console.WriteLine(res.Path);
}
次の C# の例は、セキュリティで保護されたすべてのグローバル ドメイン グループを検索する方法を示しています。この検索では、COM 相互運用ADSI にアクセスするための COM 相互運用機能の使用機能を使用します。詳細については、MSDN ライブラリ (https://go.microsoft.com/fwlink/?LinkID=27252) で Visual Basic および Visual C# での COM 相互運用機能に関するトピックを参照してください。
[C#]
using System.DirectoryServices;
...
DirectorySearcher src = new DirectorySearcher(ou,"(objectCategory=group)");
int val = (int) (ActiveDs.ADS_GROUP_TYPE_ENUM.ADS_GROUP_TYPE_GLOBAL_GROUP
| ActiveDs.ADS_GROUP_TYPE_ENUM.ADS_GROUP_TYPE_SECURITY_ENABLED);
string query = "(&(objectCategory=group)(groupType=" + val.ToString() + "))";
src.Filter = query;
foreach(SearchResult res in src.FindAll())
{
Console.WriteLine(res.Path);
}
関連項目
リファレンス
DirectorySearcher
System.DirectoryServices
概念
Send comments about this topic to Microsoft.
Copyright © 2007 by Microsoft Corporation. All rights reserved.