Question
Accès direct enregistrement Find
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 17 ans 2 mois #3640
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Accès direct enregistrement Find
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
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.
- david
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
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
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.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 17 ans 2 mois #3642
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Accès direct enregistrement Find
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
[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.
- david
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 2 mois #3645
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Accès direct enregistrement Find
janel écrit:
Belle bille, comme on dit au billard.
De mon coté c'est ce que j'avais compris.Si c'est une OU différente qui est interrogée à chaque fois, ça se complique... enfin, l'optimisation se complique.
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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Accès direct enregistrement Find