利用可能なADSI(Active Directoryサービスインターフェイス)サービスプロバイダーをC#で一覧表示するにはどうすればよいですか?
2 に答える
1
私はそれを見つけました:
foreach (object obj in (IEnumerable)Marshal.BindToMoniker("ADs:"))
{
obj.GetType().InvokeMember("Name", BindingFlags.DeclaredOnly |
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance |
BindingFlags.GetProperty, null, obj, null).Dump();
}
于 2010-08-06T23:36:43.763 に答える
0
Microsoftには、このトピックに関するKB-233023があります。システム上のすべてのADSIプロバイダーを検索する方法
別のバリアント:
public static IEnumerable<string> GetAdsiProviders()
{
var providers = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\ADs\Providers");
if (null == providers) yield break;
foreach (var name in providers.GetSubKeyNames())
{
yield return name + ":";
}
}
于 2012-05-25T22:49:23.170 に答える