How to get ADs Providers list (C#)

Hi, welcome back, 

We may want to get the list of Active Directory Providers ("LDAP: ", "WinNT: ", "IIS: "...) with .NET the same way we do it with this VBScript:

 Set ads = GetObject("ADs:")
For Each provider In ads
    Wscript.Echo provider.Name
Next

The information we need is here in the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs\Providers. So the following sample code will get the info we need:

 using Microsoft.Win32;

...

    // Get the HKLM registry key
    RegistryKey RegKey = Registry.LocalMachine;

    // Open the sub-key which contains all the providers
    RegistryKey ProviderKey = RegKey.OpenSubKey(@"Software\Microsoft\ADs\Providers");

    // Get the list of the sub-keys
    string[] SubKeys = ProviderKey.GetSubKeyNames();

    // Create the string array which will hold the provider list
    string[] ListOfProviders = new string[SubKeys.Length];

    // Now add all providers to the array
    for (int Count = 0; Count < SubKeys.Length; Count++)
    {
        ListOfProviders[Count] = SubKeys[Count] + ":";
    }

    // Show the list of providers
    foreach (string providerName in ListOfProviders)
    {
        MessageBox.Show(providerName);
    }
...

I hope this helps.

Cheers,

 

Alex (Alejandro Campos Magencio)