Question Accès direct enregistrement Find

Plus d'informations
il y a 17 ans 2 mois #3640 par Jacques Barathon
Ok, et le chemin de la deuxième OU varie-t-il à chaque itération de la boucle ou est-ce la même OU qui est interrogée à chaque fois dans la deuxième boucle?

Si c'est la toujours la même OU qui est interrogée, tu peux faire la requête récupérée dans $complist1 en tout début de script, en même temps que la première requête. Ensuite, il suffit de re-parcourir $complist1 autant de fois que tu as de résultats dans $complist.

Si c'est une OU différente qui est interrogée à chaque fois, ça se complique... enfin, l'optimisation se complique.

Janel

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3641 par david
Réponse de david sur le sujet Re:Accès direct enregistrement Find
Re
Non c'est la même OU qui est interrogée à chaque fois dans la seconde OU.Heureusement ! C'est déja assez compliqué comme sa!
Si tu pouvais me faire un petit récapitulatif de ce que sa donne, sa serait sympa
Merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3642 par Jacques Barathon
Quelque chose comme ça:

[code:1]
# requête dans première OU:

$ldapQuery = \"(&(objectCategory=person)(objectClass=user))\"
$de = [ADSI]\"LDAP://*/ou=*,OU=*,dc=*,dc=*\"
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()

# requête dans deuxième OU:

$de1 = [ADSI]\"LDAP://*/ou=*,OU=*,dc=*,dc=*\"
$ads1 = new-object system.directoryservices.directorysearcher -argumentlist $de1,$ldapQuery
$complist1 = $ads1.findall()

# parcours de la première OU:

foreach ($i in $complist) {
$i.Properties.cn
$User = $i.GetDirectoryEntry()
$EmpID=$user.employeeID
$num=$user.samAccountName
$num=$num -replace('^.', '1')
Write-Host \"$EmpID\"
write-Host \"$num\"

# parcours de la deuxième OU:

foreach ($j in $complist1) {
$j.Properties.cn
$numiut=([string]$j.properties.description).split(' ')
$num1=$numiut[3]
write-Host \"$num1\"
if ($num -eq $num1)
{ write-Host (\"les chaines sont égales\"«»)}
else
{ write-Host(\"les chaines ne sont pas égales\"«»)}
} # fin de foreach ($j in $complist1)

} # fin de foreach ($i in $complist)
[/code:1]
Au passage, j'ai corrigé quelques accolades mal placées ou oubliées. J'espère ne pas avoir dénaturé le sens de ton script.

Janel

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3643 par david
Réponse de david sur le sujet Re:Accès direct enregistrement Find
Merci beaucoup Janel.<br><br>Message édité par: dav, à: 6/01/09 12:07

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3645 par Laurent Dardenne
janel écrit:

Si c'est une OU différente qui est interrogée à chaque fois, ça se complique... enfin, l'optimisation se complique.

De mon coté c'est ce que j'avais compris.
Belle bille, comme on dit au billard.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.095 secondes
Propulsé par Kunena