Question Accès direct enregistrement Find

Plus d'informations
il y a 17 ans 2 mois #3616 par david
Bonjour,
J'aimerais savoir s'il existe une méthode find qui permet d'accéder directement à un enregistrement et comment elle fonctionne, avec quels paramètre.
J'ai vu qu'il y avait les méthodes findone et findall mais elles ne m'interessent pas.
Merci

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

Plus d'informations
il y a 17 ans 2 mois #3617 par Laurent Dardenne
Salut,
dav écrit:

Bonjour,
J'aimerais savoir s'il existe une méthode find qui permet d'accéder directement à un enregistrement

De quelle structure de données tu parles ?

Tutoriels PowerShell

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

Plus d'informations
il y a 17 ans 2 mois #3618 par david
Réponse de david sur le sujet Re:Accès direct enregistrement Find
D'un annuaire LDAP.
En fait, j'ai deux foreach imbriqués donc niveau temps c'est pas terrible.
Et je cherche un équivalent de la méthode find ou méthode find en elle même pour accéder directement un utilisateur en passant par exemple en paramètre un attribut obtenu grâce au premier foreach

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

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

J'ai vu qu'il y avait les méthodes findone et findall mais elles ne m'interessent pas.

Peut-on savoir pourquoi elle ne répond pas à ton besoin ?
dav écrit:

pour accéder directement un utilisateur en passant par exemple en paramètre un attribut obtenu grâce au premier foreach

Si ton chemin est unique dans l'annuaire un appel via un second DirectorySearcher,raccourci [ADSI], est une piste.
Consulte également les différents constructeurs de cette classe, certains peuvent être une solution,
combiné avec la valeur Base de SearchScope .

Tutoriels PowerShell

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

Plus d'informations
il y a 17 ans 2 mois #3620 par david
Réponse de david sur le sujet Re:Accès direct enregistrement Find
Actuellement j'ai :
[code:1]
$ldapQuery = \"(&(objectCategory=person)(objectClass=user))\"
$de = [ADSI]\"LDAP://*/ou=*,OU=*,dc=*,dc=*\"
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()

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\"



$de1 = [ADSI]\"LDAP://*/ou=*,OU=*,dc=*,dc=*\"
$ads1 = new-object system.directoryservices.directorysearcher -argumentlist $de1,$ldapQuery
$complist1 = $ads1.findall()
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\"«»)}
}[/code:1]
Je vais regarder avec la valeur base de searchscope mais je suis pas sur d'avoir tout compris.
Je cherche juste à optimiser mon script parce que foreach sa met un tps fou....Donc je cherche à replacer le deuxieme par un acces direct. En lecture sa doit être possible non?
Merci<br><br>Message édité par: Arnaud, à: 5/01/09 22:06

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

Plus d'informations
il y a 17 ans 2 mois #3622 par Laurent Dardenne
Je crois que c'est le même problème qu' ici ...
Je ne pense pas que cela te serve d'ouvrir + posts sur le même sujet.
Si tu n'as pas de correspondance entre les 2 objets cela sera difficile d'accéder directement à un objet.
De plus je suppose cette opération cyclique dans ce cas peut être faut-il construire une table de correspondance entre les 2 annuaires.
Mais vue la direction que cela prend je préfère passer la main :silly:

Tutoriels PowerShell

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

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