Io parto dal presupposto che si sta scrivendo VBA. In Outlook, è possibile utilizzare ADO per eseguire la query sul provider LDAP. La query si compone di quattro parti
- percorso di base
- Filtro di ricerca
- attributi restituiti nel recordset
- Ambito di ricerca.
L'URL LDAP che hai creato è in realtà il percorso di base della query LDAP. È possibile utilizzare ADSIedit per ottenere il percorso di base nel dominio locale. Normalmente, se il tuo dominio è chiamato abc.com, il tuo percorso di base dovrebbe essere qualcosa come LDAP: //abc.com/DC=abc,DC=com. Tuttavia, non è sempre il caso. Active Directory consente di denominare un dominio di Active Directory diverso dal dominio DNS, anche se la maggior parte delle volte sono uguali. Questa configurazione è denominata disjoint namespace.
Per il caso del namespace disgiunto, per individuare il percorso di base corretto, è possibile installare ADSIedit da Windows 2003 support tools. Avviare ADSIEdit digitando adsiedit.msc nella riga di comando. Fare clic con il tasto destro del mouse sul nodo ADSIEdit e fare clic su "Connetti a". Quindi, selezionare il contesto di denominazione "RootDSE" e lasciare tutte le altre impostazioni come predefinite per connettersi al dominio locale. Se la tua macchina è già stata aggiunta al dominio, dovresti essere automaticamente connesso a quel dominio. Nel nodo RootDSE in alto, dovresti anche vedere a quale controller di dominio sei connesso ora. Segna il FQDN del controller di dominio connesso. Dovrebbe essere qualcosa come dc1.yourdomain.com. Quindi, espandi il nodo "RootDSE" in alto e vedrai un altro nodo di cartella "RootDSE" sotto. Fare clic con il tasto destro e fare clic sulle proprietà. Trova il defaultNamingContext. Dovrebbe essere qualcosa come DC = yourdomain, DC = com.
Con il nome del controller di dominio e il contesto di denominazione predefinito, è possibile creare il percorso di base, dovrebbe essere LDAP: // controller di dominio/contesto predefinito di denominazione
A volte si vede persone che inseriscono il nome di dominio FQDN invece del nome del controller di dominio nel percorso di base LDAP. Questo è legittimo solo se il record A del dominio esiste sul server DNS. Non è consigliabile utilizzare il nome di dominio. Tuttavia, se davvero non si desidera specificare un controller di dominio specifico, è possibile considerare l'utilizzo dell'associazione serverless. LDAP: // contesto di denominazione predefinito. È una funzionalità di Active Directory. Non funziona su altri server LDAP. È possibile utilizzare l'associazione serverless solo se si esegue come utente di dominio. Quando si utilizza uno serverless binding, la query LDAP selezionerà semplicemente il prossimo controller di dominio disponibile nel sito. In questo modo, riduci le possibilità di sovraccaricare quel server con le richieste.Tuttavia, ciò rende anche i risultati meno prevedibili perché a volte i dati non vengono ancora replicati da un controller di dominio a un altro controller di dominio.
Solo una nota a margine, ti suggerisco di utilizzare il contesto dei nomi di dominio come percorso della tua base di ricerca perché presumo che tu voglia cercare tutti gli utenti del tuo dominio. Puoi sempre scegliere altri contenitori come percorso base. Ad esempio, LDAP: //yourdomain.com/CN=Users,DC=yourdomain,DC=com. Quindi, la ricerca verrà eseguita solo sotto il contenitore Utenti nel tuo dominio.
Non so quanti dettagli hai bisogno di sapere. Inoltre non so che tipo di strumenti stai usando. Ecco una breve spiegazione su ciascun campo. L'URI ti consente di trovare il server LDAP. Normalmente, dovrebbe essere ldap: //yourdc.yourdomain.com Vedi la mia risposta su come trovare il tuo dc in AD sulla tua workstation.Manager DN deve essere l'account utente che verrà utilizzato per accedere al server LDAP. Ogni account utente ha un oggetto sul server LDAP. Ogni oggetto ha un nome distinto (DN). È necessario utilizzare LDAP Browser o ADSIedit per trovare il DN dell'account utente. Non posso scrivere troppo a lungo nel commento –