J'ai vu un lien pour savoir si AD était en cours d'exécution, mais je ne suis pas sûr si la même chose s'applique à AD/AM. Un inconvénient est que je devrais pouvoir vérifier n'importe quelle instance AD / AM (n'importe quel domaine) en supposant que j'ai des permissions.Comment savoir si votre instance AD / AM est opérationnelle via C#?
Répondre
L'exécution de requêtes LDAP sur AD/AM et AD a une fonctionnalité très proche. Vous avez juste besoin d'inclure un préfixe DNS dans votre chaîne de liaison, ainsi que le port (si ce n'est pas la valeur par défaut 389):
LDAP://ADAMServer:50000/DC=domain,DC=local
Une douleur importante est l'absence de défaut de RootDSE dans AD/AM. Vous pouvez l'ajouter manuellement mais, par défaut, vous ne pouvez pas utiliser les filtres de recherche pratiques qui utilisent la syntaxe LDAP: // Server/RootDSE. Les instances ADAM sont séparées par des numéros de port. Vous devrez donc indiquer un port basé sur l'instance que vous voulez. Vous pouvez trouver cela dans le Registre Windows 2008 du serveur à l'adresse:
HKLM\SYSTEM\CurrentControlSet\Services\ADAM_InstanceName\Parameters
ou vous pouvez effectuer une ligne de commande requête:
c:\windows\adam\dsdbutil.exe "list instances"
La même approche s'applique à AD ou à AD LDS (services de répertoire légers, nouveau nom pour ADAM). Exemples .NET à http://msdn.microsoft.com/en-us/library/x8wxt72e(VS.71).aspx