1
A
ответ
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();
}
0
Microsoft имеет KB-233023 по этой теме: How To Find All ADSI Providers on a System
другой вариант:
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 + ":";
}
}
Я понимаю ваш вопрос сейчас, я думал, вы имели в виду какие серверы предоставляют услуги, но вы имели в виду, какие услуги предоставляются. Я не знаю ответа, но, боюсь, вы можете спросить на сервере ServerFault.com, если кто-нибудь знает, как их перечислить с помощью vbscript или что-то в этом роде (поскольку это похоже на то, что может заинтересовать системных администраторов), и если вы можете получить ответ, который не должен быть слишком сложным, чтобы перевести его на C#. –
+1 Спасибо за подсказку. –