Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas. Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine, qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas. Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine, qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas. Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine, qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas. Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine, qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas. Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine, qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas. Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine, qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour,
vous devriez poster sur un forum de scripting.
Adfind de joeware est "the killing tool" :
http://www.joeware.net/freetools/tools/adfind/index.htm
un exemple de script pour lister tous les ordinateurs:
Dim RootDSE, DomainNC, Connection, Command, RecordSet
' BEGIN CALLOUT A
Set RootDSE = GetObject("LDAP://rootDSE")
DomainNC = RootDSE.Get("defaultNamingContext")
' END CALLOUT A
Set Connection = CreateObject("ADODB.Connection")
Connection.Open("ProvidersDSOObject;")
Set Command = CreateObject("ADODB.Command")
Command.ActiveConnection = Connection
' BEGIN CALLOUT B
Command.CommandText = "<LDAP://" & DomainNC _
& ">;(objectCategory=Computer);CN;subtree"
' END CALLOUT B
Command.Properties("Cache Results") = False
Command.Properties("Page Size") = 100
Command.Properties("Sort On") = "CN"
Command.Properties("Timeout") = 30
Set RecordSet = Command.Execute()
' BEGIN CALLOUT C
Do While Not RecordSet.EOF
WScript.Echo RecordSet.Fields("CN").Value
RecordSet.MoveNext()
Loop
' END CALLOUT C
Connection.Close()
--
Cordialement,
Mathieu CHATEAU
http://lordoftheping.blogspot.com
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour,
vous devriez poster sur un forum de scripting.
Adfind de joeware est "the killing tool" :
http://www.joeware.net/freetools/tools/adfind/index.htm
un exemple de script pour lister tous les ordinateurs:
Dim RootDSE, DomainNC, Connection, Command, RecordSet
' BEGIN CALLOUT A
Set RootDSE = GetObject("LDAP://rootDSE")
DomainNC = RootDSE.Get("defaultNamingContext")
' END CALLOUT A
Set Connection = CreateObject("ADODB.Connection")
Connection.Open("ProvidersDSOObject;")
Set Command = CreateObject("ADODB.Command")
Command.ActiveConnection = Connection
' BEGIN CALLOUT B
Command.CommandText = "<LDAP://" & DomainNC _
& ">;(objectCategory=Computer);CN;subtree"
' END CALLOUT B
Command.Properties("Cache Results") = False
Command.Properties("Page Size") = 100
Command.Properties("Sort On") = "CN"
Command.Properties("Timeout") = 30
Set RecordSet = Command.Execute()
' BEGIN CALLOUT C
Do While Not RecordSet.EOF
WScript.Echo RecordSet.Fields("CN").Value
RecordSet.MoveNext()
Loop
' END CALLOUT C
Connection.Close()
--
Cordialement,
Mathieu CHATEAU
http://lordoftheping.blogspot.com
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:O0YtdmD4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour,
vous devriez poster sur un forum de scripting.
Adfind de joeware est "the killing tool" :
http://www.joeware.net/freetools/tools/adfind/index.htm
un exemple de script pour lister tous les ordinateurs:
Dim RootDSE, DomainNC, Connection, Command, RecordSet
' BEGIN CALLOUT A
Set RootDSE = GetObject("LDAP://rootDSE")
DomainNC = RootDSE.Get("defaultNamingContext")
' END CALLOUT A
Set Connection = CreateObject("ADODB.Connection")
Connection.Open("ProvidersDSOObject;")
Set Command = CreateObject("ADODB.Command")
Command.ActiveConnection = Connection
' BEGIN CALLOUT B
Command.CommandText = "<LDAP://" & DomainNC _
& ">;(objectCategory=Computer);CN;subtree"
' END CALLOUT B
Command.Properties("Cache Results") = False
Command.Properties("Page Size") = 100
Command.Properties("Sort On") = "CN"
Command.Properties("Timeout") = 30
Set RecordSet = Command.Execute()
' BEGIN CALLOUT C
Do While Not RecordSet.EOF
WScript.Echo RecordSet.Fields("CN").Value
RecordSet.MoveNext()
Loop
' END CALLOUT C
Connection.Close()
--
Cordialement,
Mathieu CHATEAU
http://lordoftheping.blogspot.com
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les outils de
support offrent un outil nommé LDP.EXE. Il permet de parcourir l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne. Cela
fonctionne chez moi:
Set objGroup = GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les outils de
support offrent un outil nommé LDP.EXE. Il permet de parcourir l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne. Cela
fonctionne chez moi:
Set objGroup = GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:O0YtdmD4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les outils de
support offrent un outil nommé LDP.EXE. Il permet de parcourir l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne. Cela
fonctionne chez moi:
Set objGroup = GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On Error
Resume Next...) que le script fonctionne... mais pas avec tous les CN=
????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du domaine", Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins des
ress. Kaspersky) qui est un groupe de sécurité Global de la même manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères spéciaux,
voici le résultat:
Set objGroup > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le message de
news:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne. Cela
fonctionne chez moi:
Set objGroup = GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche pas.
Jeveux créer quelques VB scripts, pour gérer des choses sur mon domaine,
quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting
Guy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce
quepar défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre
unaprès l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows
ouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois
ADlorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On Error
Resume Next...) que le script fonctionne... mais pas avec tous les CN=
????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du domaine", Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins des
ress. Kaspersky) qui est un groupe de sécurité Global de la même manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères spéciaux,
voici le résultat:
Set objGroup > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le message de
news:e7rkstD4HHA.4436@TK2MSFTNGP03.phx.gbl...
Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne. Cela
fonctionne chez moi:
Set objGroup = GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:O0YtdmD4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On Error
Resume Next...) que le script fonctionne... mais pas avec tous les CN=
????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du domaine", Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins des
ress. Kaspersky) qui est un groupe de sécurité Global de la même manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères spéciaux,
voici le résultat:
Set objGroup > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le message de
news:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne. Cela
fonctionne chez moi:
Set objGroup = GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche pas.
Jeveux créer quelques VB scripts, pour gérer des choses sur mon domaine,
quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions que
j'ai
essayé proviennent du site de Microsoft (en grande partie du Scripting
Guy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP, est-ce
quepar défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup = GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une fenêtre
unaprès l'autre les membres (utilisateurs) de l'unité d'organisation (OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de Windows
ouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je vois
ADlorsque je recherche des imprimantes, lorsque je passe par les Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Dites-moi exactement ce que vous voulez faire et je devrais pouvoir vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarques
du genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
Error
Resume Next...) que le script fonctionne... mais pas avec tous les CN > > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du domaine",
Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins des
ress. Kaspersky) qui est un groupe de sécurité Global de la même manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,
voici le résultat:
Set objGroup > > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le message
de
news:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne.
Cela
fonctionne chez moi:
Set objGroup GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche
pas.
Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,
quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions
que
j'ai
essayé proviennent du site de Microsoft (en grande partie du
Scripting
Guy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-ce
quepar défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtre
unaprès l'autre les membres (utilisateurs) de l'unité d'organisation
(OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
Windows
ouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je
vois
ADlorsque je recherche des imprimantes, lorsque je passe par les
Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Dites-moi exactement ce que vous voulez faire et je devrais pouvoir vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarques
du genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:uvIPgcE4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
Error
Resume Next...) que le script fonctionne... mais pas avec tous les CN > > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du domaine",
Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins des
ress. Kaspersky) qui est un groupe de sécurité Global de la même manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,
voici le résultat:
Set objGroup > > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le message
de
news:e7rkstD4HHA.4436@TK2MSFTNGP03.phx.gbl...
Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne.
Cela
fonctionne chez moi:
Set objGroup GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:O0YtdmD4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche
pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon
domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions
que
j'ai
essayé proviennent du site de Microsoft (en grande partie du
Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation
(OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je
vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les
Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Dites-moi exactement ce que vous voulez faire et je devrais pouvoir vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarques
du genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
Error
Resume Next...) que le script fonctionne... mais pas avec tous les CN > > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du domaine",
Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins des
ress. Kaspersky) qui est un groupe de sécurité Global de la même manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,
voici le résultat:
Set objGroup > > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le message
de
news:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne.
Cela
fonctionne chez moi:
Set objGroup GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche
pas.
Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,
quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions
que
j'ai
essayé proviennent du site de Microsoft (en grande partie du
Scripting
Guy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-ce
quepar défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtre
unaprès l'autre les membres (utilisateurs) de l'unité d'organisation
(OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
Windows
ouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je
vois
ADlorsque je recherche des imprimantes, lorsque je passe par les
Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Je suivais le script du Scripting Guy pour trouver tous les utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y inclus
tous les utilisateurs du domaine et ça fonctionne !
Set objGroup = GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup > GetObject("LDAP://..." avec une boucle sur Member est fréquemment utilisée
pour plein de choses (entre autre l'authentification dans une page ASP des
utilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir pourquoi la
méthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va falloir que
je sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup = GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" a écrit dans le message de
news:O$Dites-moi exactement ce que vous voulez faire et je devrais pouvoir vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarquesdu genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
ErrorResume Next...) que le script fonctionne... mais pas avec tous les CN >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup >> > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du domaine",
Ilse pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,voici le résultat:
Set objGroup >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le message
denews:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne.
Celafonctionne chez moi:
Set objGroup > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvezeffectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche
pas.Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions
quej'ai
essayé proviennent du site de Microsoft (en grande partie du
ScriptingGuy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-cequepar défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtreunaprès l'autre les membres (utilisateurs) de l'unité d'organisation
(OU)nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
WindowsouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je
voisADlorsque je recherche des imprimantes, lorsque je passe par les
Favorisréseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Je suivais le script du Scripting Guy pour trouver tous les utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y inclus
tous les utilisateurs du domaine et ça fonctionne !
Set objGroup = GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup > GetObject("LDAP://..." avec une boucle sur Member est fréquemment utilisée
pour plein de choses (entre autre l'authentification dans une page ASP des
utilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir pourquoi la
méthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va falloir que
je sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup = GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le message de
news:O$bRHgE4HHA.2208@TK2MSFTNGP06.phx.gbl...
Dites-moi exactement ce que vous voulez faire et je devrais pouvoir vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarques
du genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:uvIPgcE4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
Error
Resume Next...) que le script fonctionne... mais pas avec tous les CN >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup >> > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du domaine",
Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,
voici le résultat:
Set objGroup >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le message
de
news:e7rkstD4HHA.4436@TK2MSFTNGP03.phx.gbl...
Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne.
Cela
fonctionne chez moi:
Set objGroup > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:O0YtdmD4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche
pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon
domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions
que
j'ai
essayé proviennent du site de Microsoft (en grande partie du
Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation
(OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je
vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les
Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Je suivais le script du Scripting Guy pour trouver tous les utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y inclus
tous les utilisateurs du domaine et ça fonctionne !
Set objGroup = GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup > GetObject("LDAP://..." avec une boucle sur Member est fréquemment utilisée
pour plein de choses (entre autre l'authentification dans une page ASP des
utilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir pourquoi la
méthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va falloir que
je sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup = GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" a écrit dans le message de
news:O$Dites-moi exactement ce que vous voulez faire et je devrais pouvoir vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarquesdu genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
ErrorResume Next...) que le script fonctionne... mais pas avec tous les CN >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup >> > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du domaine",
Ilse pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,voici le résultat:
Set objGroup >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le message
denews:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne.
Celafonctionne chez moi:
Set objGroup > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvezeffectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche
pas.Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de connexions
quej'ai
essayé proviennent du site de Microsoft (en grande partie du
ScriptingGuy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-cequepar défaut un serveur Windows Server 2003 SP2 avec Active Directory
ouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtreunaprès l'autre les membres (utilisateurs) de l'unité d'organisation
(OU)nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
WindowsouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je
voisADlorsque je recherche des imprimantes, lorsque je passe par les
Favorisréseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
L'attribut 'member' du groupe des utilisateurs du domaine (par défaut
'Utilisateurs du domaine') ne référence pas les utilisateurs
du domaine. Par définition, tous les utilisateurs du domaine sont membres
du
groupe 'Utilisateurs du domaine'. Il en est de même pour
l'attribut 'memberOf' des utilisateurs. Cet attribut ne référence pas le
groupe du domaine. C'est pour cette raison que cela ne fonctionne pas avec
le groupe domain users mais que cela marche avec schema admins par
exemple.
Thierry
"Glenn Gagné" wrote in message
news:%Je suivais le script du Scripting Guy pour trouver tous les utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y
inclus
tous les utilisateurs du domaine et ça fonctionne !
Set objGroup GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup > > GetObject("LDAP://..." avec une boucle sur Member est fréquemment
utilisée
pour plein de choses (entre autre l'authentification dans une page ASP
des
utilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir pourquoi
la
méthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va falloir
que
je sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup = GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" a écrit dans le message
de
news:O$Dites-moi exactement ce que vous voulez faire et je devrais pouvoir
vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me
contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarquesdu genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
ErrorResume Next...) que le script fonctionne... mais pas avec tous les
CN > >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > >> > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du
domaine",
Ilse pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,voici le résultat:
Set objGroup > >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le
message
denews:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne.
Celafonctionne chez moi:
Set objGroup > > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvezeffectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche
pas.Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de
connexions
quej'ai
essayé proviennent du site de Microsoft (en grande partie du
ScriptingGuy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-cequepar défaut un serveur Windows Server 2003 SP2 avec Active
Directory
ouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup > > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtreunaprès l'autre les membres (utilisateurs) de l'unité d'organisation
(OU)nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
WindowsouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je
voisADlorsque je recherche des imprimantes, lorsque je passe par les
Favorisréseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
L'attribut 'member' du groupe des utilisateurs du domaine (par défaut
'Utilisateurs du domaine') ne référence pas les utilisateurs
du domaine. Par définition, tous les utilisateurs du domaine sont membres
du
groupe 'Utilisateurs du domaine'. Il en est de même pour
l'attribut 'memberOf' des utilisateurs. Cet attribut ne référence pas le
groupe du domaine. C'est pour cette raison que cela ne fonctionne pas avec
le groupe domain users mais que cela marche avec schema admins par
exemple.
Thierry
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:%23n58HpE4HHA.5804@TK2MSFTNGP05.phx.gbl...
Je suivais le script du Scripting Guy pour trouver tous les utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y
inclus
tous les utilisateurs du domaine et ça fonctionne !
Set objGroup GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup > > GetObject("LDAP://..." avec une boucle sur Member est fréquemment
utilisée
pour plein de choses (entre autre l'authentification dans une page ASP
des
utilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir pourquoi
la
méthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va falloir
que
je sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup = GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le message
de
news:O$bRHgE4HHA.2208@TK2MSFTNGP06.phx.gbl...
Dites-moi exactement ce que vous voulez faire et je devrais pouvoir
vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me
contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarques
du genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:uvIPgcE4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
Error
Resume Next...) que le script fonctionne... mais pas avec tous les
CN > >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > >> > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du
domaine",
Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,
voici le résultat:
Set objGroup > >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le
message
de
news:e7rkstD4HHA.4436@TK2MSFTNGP03.phx.gbl...
Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne.
Cela
fonctionne chez moi:
Set objGroup > > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:O0YtdmD4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche
pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon
domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de
connexions
que
j'ai
essayé proviennent du site de Microsoft (en grande partie du
Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active
Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup > > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtre
un
après l'autre les membres (utilisateurs) de l'unité d'organisation
(OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je
vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les
Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
L'attribut 'member' du groupe des utilisateurs du domaine (par défaut
'Utilisateurs du domaine') ne référence pas les utilisateurs
du domaine. Par définition, tous les utilisateurs du domaine sont membres
du
groupe 'Utilisateurs du domaine'. Il en est de même pour
l'attribut 'memberOf' des utilisateurs. Cet attribut ne référence pas le
groupe du domaine. C'est pour cette raison que cela ne fonctionne pas avec
le groupe domain users mais que cela marche avec schema admins par
exemple.
Thierry
"Glenn Gagné" wrote in message
news:%Je suivais le script du Scripting Guy pour trouver tous les utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y
inclus
tous les utilisateurs du domaine et ça fonctionne !
Set objGroup GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup > > GetObject("LDAP://..." avec une boucle sur Member est fréquemment
utilisée
pour plein de choses (entre autre l'authentification dans une page ASP
des
utilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir pourquoi
la
méthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va falloir
que
je sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup = GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" a écrit dans le message
de
news:O$Dites-moi exactement ce que vous voulez faire et je devrais pouvoir
vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me
contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarquesdu genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
ErrorResume Next...) que le script fonctionne... mais pas avec tous les
CN > >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > >> > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du
domaine",
Ilse pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,voici le résultat:
Set objGroup > >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le
message
denews:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première ligne.
Celafonctionne chez moi:
Set objGroup > > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvezeffectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche
pas.Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de
connexions
quej'ai
essayé proviennent du site de Microsoft (en grande partie du
ScriptingGuy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-cequepar défaut un serveur Windows Server 2003 SP2 avec Active
Directory
ouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup > > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtreunaprès l'autre les membres (utilisateurs) de l'unité d'organisation
(OU)nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
WindowsouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant je
voisADlorsque je recherche des imprimantes, lorsque je passe par les
Favorisréseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Salut Thierry,
Je crois que tu es dans l'erreur... car c'est le groupe "Utilisateurs"
dans
"Builtin" qui ne référence pas les utilisateurs. Le groupe "Utilisa. du
domaine" dans le conteneur "Users" contient bien la liste des utilisateurs
(si je regarde dans l'onglet Membres je les vois tous très clairement,
contrairement au groupe Utilisateurs qui contient comme membres:
INTERACTIF,
Utilisa. du domaine et Utilisateurs authentifiés qui celui-ci en passant
ne
cause pas d'erreur et pourtant ne contient pas d'éléments membre de type
utilisateur).
NOTE: Lorsque j'essais le script sur un CN autre qui ne contient pas
d'éléments membre de type "utilisateurs" ils ne sont tout simplement pas
compté... mais ne fais pas apparaitre le message d'erreur " Erreur: Cet
objet n'est pas une collection."
---------------------------
Glenn
"Thierry Frache" a écrit dans le message de
news:%L'attribut 'member' du groupe des utilisateurs du domaine (par défaut
'Utilisateurs du domaine') ne référence pas les utilisateurs
du domaine. Par définition, tous les utilisateurs du domaine sont membres
dugroupe 'Utilisateurs du domaine'. Il en est de même pour
l'attribut 'memberOf' des utilisateurs. Cet attribut ne référence pas le
groupe du domaine. C'est pour cette raison que cela ne fonctionne pas
avec
le groupe domain users mais que cela marche avec schema admins par
exemple.
Thierry
"Glenn Gagné" wrote in message
news:%Je suivais le script du Scripting Guy pour trouver tous les
utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y
inclustous les utilisateurs du domaine et ça fonctionne !
Set objGroup > GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par
contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup >> > GetObject("LDAP://..." avec une boucle sur Member est fréquemment
utiliséepour plein de choses (entre autre l'authentification dans une page ASP
desutilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir pourquoi
laméthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour
le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va falloir
queje sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup = GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" a écrit dans le message
denews:O$Dites-moi exactement ce que vous voulez faire et je devrais pouvoir
vousaider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me
contacterdirectement (on gagnera du temps et cela évitera de se prendre des
remarquesdu genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
ErrorResume Next...) que le script fonctionne... mais pas avec tous les
CN >> >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup >> >> > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du
domaine",Ilse pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,voici le résultat:
Set objGroup >> >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le
messagedenews:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première
ligne.
Celafonctionne chez moi:
Set objGroup >> > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvezeffectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche
pas.Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de
connexionsquej'ai
essayé proviennent du site de Microsoft (en grande partie du
ScriptingGuy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-cequepar défaut un serveur Windows Server 2003 SP2 avec Active
Directoryouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup >> > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtreunaprès l'autre les membres (utilisateurs) de l'unité
d'organisation
(OU)nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
WindowsouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche
du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant
je
voisADlorsque je recherche des imprimantes, lorsque je passe par les
Favorisréseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Salut Thierry,
Je crois que tu es dans l'erreur... car c'est le groupe "Utilisateurs"
dans
"Builtin" qui ne référence pas les utilisateurs. Le groupe "Utilisa. du
domaine" dans le conteneur "Users" contient bien la liste des utilisateurs
(si je regarde dans l'onglet Membres je les vois tous très clairement,
contrairement au groupe Utilisateurs qui contient comme membres:
INTERACTIF,
Utilisa. du domaine et Utilisateurs authentifiés qui celui-ci en passant
ne
cause pas d'erreur et pourtant ne contient pas d'éléments membre de type
utilisateur).
NOTE: Lorsque j'essais le script sur un CN autre qui ne contient pas
d'éléments membre de type "utilisateurs" ils ne sont tout simplement pas
compté... mais ne fais pas apparaitre le message d'erreur " Erreur: Cet
objet n'est pas une collection."
---------------------------
Glenn
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le message de
news:%23eqK20E4HHA.5984@TK2MSFTNGP04.phx.gbl...
L'attribut 'member' du groupe des utilisateurs du domaine (par défaut
'Utilisateurs du domaine') ne référence pas les utilisateurs
du domaine. Par définition, tous les utilisateurs du domaine sont membres
du
groupe 'Utilisateurs du domaine'. Il en est de même pour
l'attribut 'memberOf' des utilisateurs. Cet attribut ne référence pas le
groupe du domaine. C'est pour cette raison que cela ne fonctionne pas
avec
le groupe domain users mais que cela marche avec schema admins par
exemple.
Thierry
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:%23n58HpE4HHA.5804@TK2MSFTNGP05.phx.gbl...
Je suivais le script du Scripting Guy pour trouver tous les
utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y
inclus
tous les utilisateurs du domaine et ça fonctionne !
Set objGroup > GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par
contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup >> > GetObject("LDAP://..." avec une boucle sur Member est fréquemment
utilisée
pour plein de choses (entre autre l'authentification dans une page ASP
des
utilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir pourquoi
la
méthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour
le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va falloir
que
je sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup = GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le message
de
news:O$bRHgE4HHA.2208@TK2MSFTNGP06.phx.gbl...
Dites-moi exactement ce que vous voulez faire et je devrais pouvoir
vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me
contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarques
du genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:uvIPgcE4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
Error
Resume Next...) que le script fonctionne... mais pas avec tous les
CN >> >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup >> >> > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du
domaine",
Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,
voici le résultat:
Set objGroup >> >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le
message
de
news:e7rkstD4HHA.4436@TK2MSFTNGP03.phx.gbl...
Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première
ligne.
Cela
fonctionne chez moi:
Set objGroup >> > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:O0YtdmD4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne marche
pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon
domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de
connexions
que
j'ai
essayé proviennent du site de Microsoft (en grande partie du
Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active
Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup >> > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtre
un
après l'autre les membres (utilisateurs) de l'unité
d'organisation
(OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche
du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant
je
vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les
Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Salut Thierry,
Je crois que tu es dans l'erreur... car c'est le groupe "Utilisateurs"
dans
"Builtin" qui ne référence pas les utilisateurs. Le groupe "Utilisa. du
domaine" dans le conteneur "Users" contient bien la liste des utilisateurs
(si je regarde dans l'onglet Membres je les vois tous très clairement,
contrairement au groupe Utilisateurs qui contient comme membres:
INTERACTIF,
Utilisa. du domaine et Utilisateurs authentifiés qui celui-ci en passant
ne
cause pas d'erreur et pourtant ne contient pas d'éléments membre de type
utilisateur).
NOTE: Lorsque j'essais le script sur un CN autre qui ne contient pas
d'éléments membre de type "utilisateurs" ils ne sont tout simplement pas
compté... mais ne fais pas apparaitre le message d'erreur " Erreur: Cet
objet n'est pas une collection."
---------------------------
Glenn
"Thierry Frache" a écrit dans le message de
news:%L'attribut 'member' du groupe des utilisateurs du domaine (par défaut
'Utilisateurs du domaine') ne référence pas les utilisateurs
du domaine. Par définition, tous les utilisateurs du domaine sont membres
dugroupe 'Utilisateurs du domaine'. Il en est de même pour
l'attribut 'memberOf' des utilisateurs. Cet attribut ne référence pas le
groupe du domaine. C'est pour cette raison que cela ne fonctionne pas
avec
le groupe domain users mais que cela marche avec schema admins par
exemple.
Thierry
"Glenn Gagné" wrote in message
news:%Je suivais le script du Scripting Guy pour trouver tous les
utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y
inclustous les utilisateurs du domaine et ça fonctionne !
Set objGroup > GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par
contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup >> > GetObject("LDAP://..." avec une boucle sur Member est fréquemment
utiliséepour plein de choses (entre autre l'authentification dans une page ASP
desutilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir pourquoi
laméthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour
le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va falloir
queje sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup = GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" a écrit dans le message
denews:O$Dites-moi exactement ce que vous voulez faire et je devrais pouvoir
vousaider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me
contacterdirectement (on gagnera du temps et cela évitera de se prendre des
remarquesdu genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant On
ErrorResume Next...) que le script fonctionne... mais pas avec tous les
CN >> >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup >> >> > GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom... sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa. du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du
domaine",Ilse pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins" (Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,voici le résultat:
Set objGroup >> >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne marche
pas,je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le
messagedenews:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première
ligne.
Celafonctionne chez moi:
Set objGroup >> > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvezeffectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne marche
pas.Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de
connexionsquej'ai
essayé proviennent du site de Microsoft (en grande partie du
ScriptingGuy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-cequepar défaut un serveur Windows Server 2003 SP2 avec Active
Directoryouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup >> > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtreunaprès l'autre les membres (utilisateurs) de l'unité
d'organisation
(OU)nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois) et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
WindowsouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche
du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant
je
voisADlorsque je recherche des imprimantes, lorsque je passe par les
Favorisréseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Je ne pense pas être dans l'erreur:
http://groups.google.fr/group/microsoft.public.windows.server.scripting/browse_thread/thread/ca0c1428e51c1fd/02b4d7abc5821c7f?lnk=st&q=%22domain+users%22+member+vbscript&rnum=7&hl=en#02b4d7abc5821c7f
By default, the "primary" group for users is "Domain Users". Unless you
have
modified this, you can assume that everyone belongs to that group. The
above
script may show that group as empty.
Thierry
"Glenn Gagné" wrote in message
news:Salut Thierry,
Je crois que tu es dans l'erreur... car c'est le groupe "Utilisateurs"
dans
"Builtin" qui ne référence pas les utilisateurs. Le groupe "Utilisa. du
domaine" dans le conteneur "Users" contient bien la liste des
utilisateurs
(si je regarde dans l'onglet Membres je les vois tous très clairement,
contrairement au groupe Utilisateurs qui contient comme membres:
INTERACTIF,
Utilisa. du domaine et Utilisateurs authentifiés qui celui-ci en passant
ne
cause pas d'erreur et pourtant ne contient pas d'éléments membre de type
utilisateur).
NOTE: Lorsque j'essais le script sur un CN autre qui ne contient pas
d'éléments membre de type "utilisateurs" ils ne sont tout simplement pas
compté... mais ne fais pas apparaitre le message d'erreur " Erreur: Cet
objet n'est pas une collection."
---------------------------
Glenn
"Thierry Frache" a écrit dans le message
de
news:%L'attribut 'member' du groupe des utilisateurs du domaine (par défaut
'Utilisateurs du domaine') ne référence pas les utilisateurs
du domaine. Par définition, tous les utilisateurs du domaine sont
membres
dugroupe 'Utilisateurs du domaine'. Il en est de même pour
l'attribut 'memberOf' des utilisateurs. Cet attribut ne référence pas
le
groupe du domaine. C'est pour cette raison que cela ne fonctionne pas
avec
le groupe domain users mais que cela marche avec schema admins par
exemple.
Thierry
"Glenn Gagné" wrote in message
news:%Je suivais le script du Scripting Guy pour trouver tous les
utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y
inclustous les utilisateurs du domaine et ça fonctionne !
Set objGroup > > GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par
contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup
GetObject("LDAP://..." avec une boucle sur Member est fréquemment
utiliséepour plein de choses (entre autre l'authentification dans une page
ASP
desutilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir
pourquoi
laméthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour
le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va
falloir
queje sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" a écrit dans le
message
denews:O$Dites-moi exactement ce que vous voulez faire et je devrais pouvoir
vousaider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me
contacterdirectement (on gagnera du temps et cela évitera de se prendre des
remarquesdu genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans
le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant
On
ErrorResume Next...) que le script fonctionne... mais pas avec tous les
CN > >> >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > >> >> >
GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui
est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun
nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom...
sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa.
du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du
domaine",Ilse pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins"
(Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,voici le résultat:
Set objGroup > >> >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne
marche
pas,je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le
messagedenews:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première
ligne.
Celafonctionne chez moi:
Set objGroup > >> > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvezeffectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter
à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne
marche
pas.Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de
connexionsquej'ai
essayé proviennent du site de Microsoft (en grande partie du
ScriptingGuy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-cequepar défaut un serveur Windows Server 2003 SP2 avec Active
Directoryouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup > >> > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtreunaprès l'autre les membres (utilisateurs) de l'unité
d'organisation
(OU)nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois)
et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
WindowsouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche
du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom
du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant
je
voisADlorsque je recherche des imprimantes, lorsque je passe par les
Favorisréseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Je ne pense pas être dans l'erreur:
http://groups.google.fr/group/microsoft.public.windows.server.scripting/browse_thread/thread/ca0c1428e51c1fd/02b4d7abc5821c7f?lnk=st&q=%22domain+users%22+member+vbscript&rnum=7&hl=en#02b4d7abc5821c7f
By default, the "primary" group for users is "Domain Users". Unless you
have
modified this, you can assume that everyone belongs to that group. The
above
script may show that group as empty.
Thierry
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:O3VBv2N4HHA.4184@TK2MSFTNGP06.phx.gbl...
Salut Thierry,
Je crois que tu es dans l'erreur... car c'est le groupe "Utilisateurs"
dans
"Builtin" qui ne référence pas les utilisateurs. Le groupe "Utilisa. du
domaine" dans le conteneur "Users" contient bien la liste des
utilisateurs
(si je regarde dans l'onglet Membres je les vois tous très clairement,
contrairement au groupe Utilisateurs qui contient comme membres:
INTERACTIF,
Utilisa. du domaine et Utilisateurs authentifiés qui celui-ci en passant
ne
cause pas d'erreur et pourtant ne contient pas d'éléments membre de type
utilisateur).
NOTE: Lorsque j'essais le script sur un CN autre qui ne contient pas
d'éléments membre de type "utilisateurs" ils ne sont tout simplement pas
compté... mais ne fais pas apparaitre le message d'erreur " Erreur: Cet
objet n'est pas une collection."
---------------------------
Glenn
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le message
de
news:%23eqK20E4HHA.5984@TK2MSFTNGP04.phx.gbl...
L'attribut 'member' du groupe des utilisateurs du domaine (par défaut
'Utilisateurs du domaine') ne référence pas les utilisateurs
du domaine. Par définition, tous les utilisateurs du domaine sont
membres
du
groupe 'Utilisateurs du domaine'. Il en est de même pour
l'attribut 'memberOf' des utilisateurs. Cet attribut ne référence pas
le
groupe du domaine. C'est pour cette raison que cela ne fonctionne pas
avec
le groupe domain users mais que cela marche avec schema admins par
exemple.
Thierry
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:%23n58HpE4HHA.5804@TK2MSFTNGP05.phx.gbl...
Je suivais le script du Scripting Guy pour trouver tous les
utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y
inclus
tous les utilisateurs du domaine et ça fonctionne !
Set objGroup > > GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par
contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup
GetObject("LDAP://..." avec une boucle sur Member est fréquemment
utilisée
pour plein de choses (entre autre l'authentification dans une page
ASP
des
utilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir
pourquoi
la
méthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour
le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va
falloir
que
je sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le
message
de
news:O$bRHgE4HHA.2208@TK2MSFTNGP06.phx.gbl...
Dites-moi exactement ce que vous voulez faire et je devrais pouvoir
vous
aider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me
contacter
directement (on gagnera du temps et cela évitera de se prendre des
remarques
du genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:uvIPgcE4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans
le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant
On
Error
Resume Next...) que le script fonctionne... mais pas avec tous les
CN > >> >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > >> >> >
GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui
est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun
nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom...
sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa.
du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du
domaine",
Il
se pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins"
(Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,
voici le résultat:
Set objGroup > >> >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne
marche
pas,
je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" <tfrache@NOSPAM.msftlab.info> a écrit dans le
message
de
news:e7rkstD4HHA.4436@TK2MSFTNGP03.phx.gbl...
Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première
ligne.
Cela
fonctionne chez moi:
Set objGroup > >> > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvez
effectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" <glenn_gagne@hotmail.com> wrote in message
news:O0YtdmD4HHA.3940@TK2MSFTNGP05.phx.gbl...
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter
à
l'Active
Directory de mon domaine via une requête LDAP, mais ça ne
marche
pas.
Je
veux créer quelques VB scripts, pour gérer des choses sur mon
domaine,
qui
nécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de
connexions
que
j'ai
essayé proviennent du site de Microsoft (en grande partie du
Scripting
Guy
!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-ce
que
par défaut un serveur Windows Server 2003 SP2 avec Active
Directory
ouvre
les communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup > >> > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtre
un
après l'autre les membres (utilisateurs) de l'unité
d'organisation
(OU)
nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois)
et
pourtant
ce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
Windows
ou
IE et fais ENTER au clavier, j'obtiens la fenêtre de recherche
du
Carnet
d'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom
du
serveur
n'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant
je
vois
AD
lorsque je recherche des imprimantes, lorsque je passe par les
Favoris
réseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn
Je ne pense pas être dans l'erreur:
http://groups.google.fr/group/microsoft.public.windows.server.scripting/browse_thread/thread/ca0c1428e51c1fd/02b4d7abc5821c7f?lnk=st&q=%22domain+users%22+member+vbscript&rnum=7&hl=en#02b4d7abc5821c7f
By default, the "primary" group for users is "Domain Users". Unless you
have
modified this, you can assume that everyone belongs to that group. The
above
script may show that group as empty.
Thierry
"Glenn Gagné" wrote in message
news:Salut Thierry,
Je crois que tu es dans l'erreur... car c'est le groupe "Utilisateurs"
dans
"Builtin" qui ne référence pas les utilisateurs. Le groupe "Utilisa. du
domaine" dans le conteneur "Users" contient bien la liste des
utilisateurs
(si je regarde dans l'onglet Membres je les vois tous très clairement,
contrairement au groupe Utilisateurs qui contient comme membres:
INTERACTIF,
Utilisa. du domaine et Utilisateurs authentifiés qui celui-ci en passant
ne
cause pas d'erreur et pourtant ne contient pas d'éléments membre de type
utilisateur).
NOTE: Lorsque j'essais le script sur un CN autre qui ne contient pas
d'éléments membre de type "utilisateurs" ils ne sont tout simplement pas
compté... mais ne fais pas apparaitre le message d'erreur " Erreur: Cet
objet n'est pas une collection."
---------------------------
Glenn
"Thierry Frache" a écrit dans le message
de
news:%L'attribut 'member' du groupe des utilisateurs du domaine (par défaut
'Utilisateurs du domaine') ne référence pas les utilisateurs
du domaine. Par définition, tous les utilisateurs du domaine sont
membres
dugroupe 'Utilisateurs du domaine'. Il en est de même pour
l'attribut 'memberOf' des utilisateurs. Cet attribut ne référence pas
le
groupe du domaine. C'est pour cette raison que cela ne fonctionne pas
avec
le groupe domain users mais que cela marche avec schema admins par
exemple.
Thierry
"Glenn Gagné" wrote in message
news:%Je suivais le script du Scripting Guy pour trouver tous les
utilisateurs
de
mon domaine afin de créer une liste de distribution dans Outlook avec
ceux-ci... là ça bloque justement si je choisis le groupe (CN) qui
s'appelle
"Utilisa. du domaine"
Temporairement, si je veux, je créé un nouveau groupe "toto" où j'y
inclustous les utilisateurs du domaine et ça fonctionne !
Set objGroup > > GetObject("LDAP://CN=toto,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
-----------------------
Je ne vois pas pourquoi que sur certains groupes ça bloque par
contre...
De
plus, en faisant des recherches j'ai vu que la méthode "Set objGroup
GetObject("LDAP://..." avec une boucle sur Member est fréquemment
utiliséepour plein de choses (entre autre l'authentification dans une page
ASP
desutilisateurs) ce qui m'intéressera pour plus tard.
Je ne suis pas le genre de personnes, lorsque j'ai trouvé une méthode
alternative temporaire à en rester là, je veux toujours avoir
pourquoi
laméthode "normal" ne fonctionne pas :o)
------------------------
Même si ça sort du sujet initial (prob de requête LDAP avec AD). Pour
le
script exact en question, le reste du script est remplacé à la fin
(au-lieu
de faire un WScript.Echo strUserName) par:
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Qui encore là fais une erreur sur objList.AddMember !!!! Il va
falloir
queje sache pourquoi !
pour bien comprendre voici le script complet de la situation:
--------------------------------------
Const olDistributionListItem = 7
Set objOutlook = CreateObject("Outlook.Application")
Set objList = objOutlook.CreateItem(olDistributionListItem)
objList.DLName = "Mon Groupe"
objList.Save
Set objGroup GetObject("LDAP://CN=Tous,CN=Users,DC=domaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Set objRecipient = objOutlook.Session.CreateRecipient(strUserName)
objRecipient.Resolve
objList.AddMember objRecipient
Next
----------------------------------------
Merci
Glenn
"Thierry Frache" a écrit dans le
message
denews:O$Dites-moi exactement ce que vous voulez faire et je devrais pouvoir
vousaider à concevoir le script qu'il vous faut.
Thierry
P.S.: Vous avez mon email donc à la limite, n'hésitez pas à me
contacterdirectement (on gagnera du temps et cela évitera de se prendre des
remarquesdu genre "c'est pas le bon endroit pour parler de ça"...).
"Glenn Gagné" wrote in message
news:Bonjour Thierry,
Merci, effectivement j'ai oublié les "" ... mais uniquement dans
le
message
car je les avais bien mis dans mon script.
Après plusieurs tentatives, je me suis rendu compte (en enlevant
On
ErrorResume Next...) que le script fonctionne... mais pas avec tous les
CN > >> >> > ????
Pourriez-vous essayer de votre côté ceci:
1- J'ai fais comme vous l'essai sur:
Set objGroup > >> >> >
GetObject("LDAP://CN=Utilisateurs,CN=Builtin,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Sauf que ça popup 4 fenêtres blanches (qui
est
égal
au
nombre d'éléments) car le groupe Utilisateurs ne contient aucun
nom
d'usagers (strUser) mais d'autres groupes.
2- J'ai fais ensuite:
Set objGroup = GetObject("LDAP://CNmins du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça fonctionne !!! Je vois mes utilisateurs avec leur nom...
sauf
pour
"Administrateur" ???
3- J'ai fais exactement la même tentative sur le groupe "Utilisa.
du
domaine" comme ceci:
Set objGroup = GetObject("LDAP://CN=Utilisa. du
domaine,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Et ça ne marche pas.... !!!! ?????
J'obtiens l'erreur suivante:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
Pourtant il existe vraiment un CN portant le nom "Utilisa. du
domaine",Ilse pourrait que ce soit à cause du point de le nom ?
4- J'ai alors essayé pour le fun un autre groupe, "KLAdmins"
(Admins
des
ress. Kaspersky) qui est un groupe de sécurité Global de la même
manière
que
"Admins du domaine " ou "Utilisa. du domaine" et sans caractères
spéciaux,voici le résultat:
Set objGroup > >> >> > GetObject("LDAP://CN=KLAdmins,CN=Users,DC=mondomaine,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Résultat:
Script: C:test.vbs
Ligne: 2
Caract.: 3
Erreur: Cet objet n'est pas une collection.
Code: 800A01C3
Source: Erreur d'exécution Microsoft VBScript
-----------------------------------------------
Je n'y comprends rien... des fois ça marche et des fois ça ne
marche
pas,je
n'ai pas de faute de frappe et les groupes existent bien...
Avez-vous une idée ?
Merci
"Thierry Frache" a écrit dans le
messagedenews:Bonsoir Glenn,
pour l'outil, n'importe quel browser ldap peut être utilisé. Les
outils
de
support offrent un outil nommé LDP.EXE. Il permet de parcourir
l'annuaire.
Pour l'erreur du script, vous avez oublié les " à la première
ligne.
Celafonctionne chez moi:
Set objGroup > >> > GetObject("LDAP://CN=Users,CN=Builtin,DC=mshome,DC=local")
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
Thierry
P.S.: La recherche via le carnet d'adresses ne s'applique qu'aux
objets
disposant d'une adresse de messagerie. Pour l'interrogation, vous
pouvezeffectivement utiliser le 389 ou le 3268 (catalogue global).
"Glenn Gagné" wrote in message
news:
Bonjour,
J'essais de diverses manières depuis mon poste de me connecter
à
l'ActiveDirectory de mon domaine via une requête LDAP, mais ça ne
marche
pas.Jeveux créer quelques VB scripts, pour gérer des choses sur mon
domaine,quinécessitent une connexion en LDAP.
Je ne sais pas si je m'y prend mal, mais les exemples de
connexionsquej'ai
essayé proviennent du site de Microsoft (en grande partie du
ScriptingGuy!)
Bon ,sans parler de scripts, mais uniquement de connexion LDAP,
est-cequepar défaut un serveur Windows Server 2003 SP2 avec Active
Directoryouvreles communications LDAP sur le port 389 ?
Est-ce qu'il y a un outil EXE existant permettant de tester la
connectivité
LDAP ?
Est-ce qu'il existe une façon de formuler une requête LDAP très
spécifique,
avez-vous une requête bien banale qui fonctionne à coup sur (du
genre
"sors-moi la liste de tous les utilisateurs du domaine")... ?
Voici commen j'ai tenté l'expérience:
Depuis mon poste client (Windows 2000 SP4):
Dans un script VBS, je tapes:
--------------------
Set objGroup > >> > GetObject(LDAP://CN=groupe1,OU=MonOU2,DC=domaine,DC=com)
For Each strUser in objGroup.Member
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.displayName
Wscript.Echo strUserName
Next
----------------------
* Si je ne fais pas d'erreur, je serais supposer voir dans une
fenêtreunaprès l'autre les membres (utilisateurs) de l'unité
d'organisation
(OU)nommé MonOU2 faisant parti du groupe (CN) nommé groupe1 ???
Il ne m'apparait absolument rien (un echo vide une seule fois)
et
pourtantce groupe et OU existe.
Si par la suite je tapes la requête LDAP:
LDAP://DC=domaine,DC=com directement dans la barre d'adresse de
WindowsouIE et fais ENTER au clavier, j'obtiens la fenêtre de recherche
du
Carnetd'adresse qui dans le champs de la zone de recherche est écrit:
DC=domaine,DC=com
Si je tapes un nom connus de l'AD, il me dit:
Impossible d'atteindre le service d'annuaire spécifié.
Le service est peut-être provisoirement indisponible ou le nom
du
serveurn'est peut-être par correct.
Si j'essais d'ajouter mon domaine comme service d'annuaire dans
Outlook,
j'ai le même problème...
Bref, je n'ai jamais pu atteindre AD avec LDAP... mais pourtant
je
voisADlorsque je recherche des imprimantes, lorsque je passe par les
Favorisréseau (sous la forme NTDS://domaine.com/MonOU1)
------------------------------------------
Merci de m'éclairer sur LDAP et AD.
Glenn