Débutant en vbs je me pose la question suivante sur les script liés à
l'Active directory.
J' ai écrit quelques scripts de la forme :
Set variable1=
getobject("LDAP://ou=utilisateurs,ou=centre,dc=domaine,dc=com)
for each variable2 in variable1
wscript.echo "Pour" &variable2.samaccountname & "&variable2.descritpion"
next
avec quelques commandes put ou remplace pour effectuer des modifications.
Par contre je ne comprends pas les scripts de la forme:
set objcommand = createobject("adodb.connection")
objcommand.activeconnection=objconnection
objcommandcommandtext="LDAP://dc=domaine,dc=com"distinguishedname..."
...
set obRecordset
objconnection.close
Quelle est la différence fondamentale, pouquoi la méthode du premier script
ne permet elle pas de satisfaire toutes les modifications liées à l'annuaire
LDAP.
Pourquoi faire un Connection/command/recordset au lieu d'une requete sur
ldap?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jérôme Cornier [MS]
Bonjour,
Tel que vous le présentez il peut y avoir confusion. En fait une requête LDAP simple permet de charger un objet (getobject) et ses propriétés. S'il est nécessaire de charger plusieurs objets d'un même container AD par exemple, vous devrez interroger la base Active Directory avec une requête de type "Select ...". Evidemment il faudra ensuite analyser les objets trouvés un par un, d'où le foreach ou le until sur le recordset.Dans ce cas il s'agit d'une communication entre les fournisseurs de services ADO et ADSI.
Pour illustrer cela je vous propose quelques liens (il y a certainement mieux mais je n'ai pas encore trouvé) : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/searching_with_activex_data_objects_ado.asp http://msdn.microsoft.com/library/en-us/adsi/adsi/adsi_object_model_for_ldap_providers.asp
Exemple d'interrogation avec ADO : http://www.microsoft.com/technet/scriptcenter/scripts/ad/sites/adsivb07.mspx Ici, on cherche toutes les entrées de la class 'nTDSDSA' contenues dans le container 'configuration' du domain fabrikam.com. C'est une façon de scripter l'équivalent d'une recherche avec ADSIEdit.
J'espère que ce début d'explication vous aidera.
-- Cordialement, _________________________________________________________ Jérôme Cornier Microsoft Services France
"olivier" a écrit dans le message de news: 4219cba0$0$28425$
Bonjour,
Débutant en vbs je me pose la question suivante sur les script liés à l'Active directory.
J' ai écrit quelques scripts de la forme : Set variable1= getobject("LDAP://ou=utilisateurs,ouÎntre,dc=domaine,dc=com) for each variable2 in variable1 wscript.echo "Pour" &variable2.samaccountname & "&variable2.descritpion" next avec quelques commandes put ou remplace pour effectuer des modifications.
Par contre je ne comprends pas les scripts de la forme: set objcommand = createobject("adodb.connection") objcommand.activeconnection=objconnection objcommandcommandtext="LDAP://dc=domaine,dc=com"distinguishedname..." ... set obRecordset objconnection.close
Quelle est la différence fondamentale, pouquoi la méthode du premier script ne permet elle pas de satisfaire toutes les modifications liées à l'annuaire LDAP. Pourquoi faire un Connection/command/recordset au lieu d'une requete sur ldap?
Merci
Olivier Hardy http://oprhardy.free.fr
Bonjour,
Tel que vous le présentez il peut y avoir confusion. En fait une requête
LDAP simple permet de charger un objet (getobject) et ses propriétés. S'il
est nécessaire de charger plusieurs objets d'un même container AD par
exemple, vous devrez interroger la base Active Directory avec une requête de
type "Select ...". Evidemment il faudra ensuite analyser les objets trouvés
un par un, d'où le foreach ou le until sur le recordset.Dans ce cas il
s'agit d'une communication entre les fournisseurs de services ADO et ADSI.
Pour illustrer cela je vous propose quelques liens (il y a certainement
mieux mais je n'ai pas encore trouvé) :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/searching_with_activex_data_objects_ado.asp
http://msdn.microsoft.com/library/en-us/adsi/adsi/adsi_object_model_for_ldap_providers.asp
Exemple d'interrogation avec ADO :
http://www.microsoft.com/technet/scriptcenter/scripts/ad/sites/adsivb07.mspx
Ici, on cherche toutes les entrées de la class 'nTDSDSA' contenues dans le
container 'configuration' du domain fabrikam.com. C'est une façon de
scripter l'équivalent d'une recherche avec ADSIEdit.
J'espère que ce début d'explication vous aidera.
--
Cordialement,
_________________________________________________________
Jérôme Cornier
Microsoft Services France
"olivier" <olivier@aol.fr> a écrit dans le message de news:
4219cba0$0$28425$626a14ce@news.free.fr...
Bonjour,
Débutant en vbs je me pose la question suivante sur les script liés à
l'Active directory.
J' ai écrit quelques scripts de la forme :
Set variable1=
getobject("LDAP://ou=utilisateurs,ouÎntre,dc=domaine,dc=com)
for each variable2 in variable1
wscript.echo "Pour" &variable2.samaccountname & "&variable2.descritpion"
next
avec quelques commandes put ou remplace pour effectuer des modifications.
Par contre je ne comprends pas les scripts de la forme:
set objcommand = createobject("adodb.connection")
objcommand.activeconnection=objconnection
objcommandcommandtext="LDAP://dc=domaine,dc=com"distinguishedname..."
...
set obRecordset
objconnection.close
Quelle est la différence fondamentale, pouquoi la méthode du premier
script ne permet elle pas de satisfaire toutes les modifications liées à
l'annuaire LDAP.
Pourquoi faire un Connection/command/recordset au lieu d'une requete sur
ldap?
Tel que vous le présentez il peut y avoir confusion. En fait une requête LDAP simple permet de charger un objet (getobject) et ses propriétés. S'il est nécessaire de charger plusieurs objets d'un même container AD par exemple, vous devrez interroger la base Active Directory avec une requête de type "Select ...". Evidemment il faudra ensuite analyser les objets trouvés un par un, d'où le foreach ou le until sur le recordset.Dans ce cas il s'agit d'une communication entre les fournisseurs de services ADO et ADSI.
Pour illustrer cela je vous propose quelques liens (il y a certainement mieux mais je n'ai pas encore trouvé) : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/searching_with_activex_data_objects_ado.asp http://msdn.microsoft.com/library/en-us/adsi/adsi/adsi_object_model_for_ldap_providers.asp
Exemple d'interrogation avec ADO : http://www.microsoft.com/technet/scriptcenter/scripts/ad/sites/adsivb07.mspx Ici, on cherche toutes les entrées de la class 'nTDSDSA' contenues dans le container 'configuration' du domain fabrikam.com. C'est une façon de scripter l'équivalent d'une recherche avec ADSIEdit.
J'espère que ce début d'explication vous aidera.
-- Cordialement, _________________________________________________________ Jérôme Cornier Microsoft Services France
"olivier" a écrit dans le message de news: 4219cba0$0$28425$
Bonjour,
Débutant en vbs je me pose la question suivante sur les script liés à l'Active directory.
J' ai écrit quelques scripts de la forme : Set variable1= getobject("LDAP://ou=utilisateurs,ouÎntre,dc=domaine,dc=com) for each variable2 in variable1 wscript.echo "Pour" &variable2.samaccountname & "&variable2.descritpion" next avec quelques commandes put ou remplace pour effectuer des modifications.
Par contre je ne comprends pas les scripts de la forme: set objcommand = createobject("adodb.connection") objcommand.activeconnection=objconnection objcommandcommandtext="LDAP://dc=domaine,dc=com"distinguishedname..." ... set obRecordset objconnection.close
Quelle est la différence fondamentale, pouquoi la méthode du premier script ne permet elle pas de satisfaire toutes les modifications liées à l'annuaire LDAP. Pourquoi faire un Connection/command/recordset au lieu d'une requete sur ldap?