Question Fusionner des comptes LDAP

Plus d'informations
il y a 17 ans 3 mois #3466 par david
Fusionner des comptes LDAP a été créé par david
Bonjour,
Je dois écrire un script pour fusion des comptes Active Directory qui se trouvent à deux endroits différents.Et je ne vois pas trop comment attaquer le problème, les différentes étapes pour fusionner.Pouvez-vous m'aider ? Merci

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

Plus d'informations
il y a 17 ans 3 mois #3515 par david
Réponse de david sur le sujet Re:Fusionner des comptes LDAP
Bonjour,
Je cherche à fusionner deux conteneurs.
Pour chaque objet d'un conteneur1, je récupère le champ puis traite la donnée que je récupère dans une variable1.
Idem pour le conteneur2, je récupère le champ puis traite la donnée que je récupère dans une variable2.
Après je compare variable 1 et variable2 qui sont deux chaines, si elles sont égales, j'insere dans le conteneur 3.
Plusieurs questions : quelle est la méthode pour tester l'égalité de deux variables de type chaine? Quelle est la méthode pour insérer dans un conteneur ? Et comment je crée ce 3ème conteneur?
Et si les deux chaines ne sont pas égales, je ne fais rien????
Merci pour votre aide.

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

Plus d'informations
il y a 17 ans 3 mois #3516 par david
Réponse de david sur le sujet Re:Fusionner des comptes LDAP
Je poste mon code pour info, j'ai limpression qui boucle à l'infini
$ldapQuery = \"(&(objectCategory=person)(objectClass=user))\"
$de = [ADSI]\"LDAP://*/ou=*,OU=*,dc=*,dc=*\"
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
$de1 = [ADSI]\"LDAP://*/ou=*,OU=*,dc=*dc=*\"
$ads1 = new-object system.directoryservices.directorysearcher -argumentlist $de1,$ldapQuery
$complist1 = $ads1.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\"

foreach ($j in $complist1) {
$j.Properties.cn
$numiut=([string]$j.properties.description).split(' ')
$num1=$numiut[3]
write-Host \"$num1\"

#comparaison des deux variables $num et $num1
if ($num -eq $num1)
{ write-Host (\"les chaines sont égales\")}
}
}

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

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

Je poste mon code pour info, j'ai limpression qui boucle à l'infini

A première vue je dirais non, mais il doit prendre un certain temps,
nb d'itération= $complist.Count * $complist1.Count

La seconde boucle parcourt à chaque fois l'intégralité de la collection c'est le comportement attendu ?

Pour accélérer la recherche tu peux peut-être utiliser la méthode IndexOf ou Contains de la classe SearchResultCollection.

En suivant les conseils de MSDN, en fin de traitement, il faut libérer manuellement les ressources de la collection :
msdn.microsoft.com/fr-fr/library/system.....findall(VS.80).aspx
[code:1]
$complist.Dispose()
$complist1.Dispose()
[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 17 ans 3 mois #3522 par david
Réponse de david sur le sujet Re:Fusionner des comptes LDAP
Le but est de récupérer dans chacun des deux groupes pour chaque objet un attribut qu'on modifiera et de le stocker dans une variable.
Donc obligation de parcourir chacun des deux groupes entièrement une fois?
Puis de reparcourir un groupe et de tester pour chaque objet de l'autre goupe. J'ai du mal à y voir autrment
Puis comparé pour chaque objet les deux variables récupérées et si elles sont égales faire une insertion dans un 3eme conteneur. Je sais pas si j'ai été clair.

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

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

Je sais pas si j'ai été clair.

Pour moi pas vraiment :S
Mais je vais prendre le temps de relire tes précédents posts et voir si je peux t'aider.<br><br>Message édité par: Laurent Dardenne, à: 19/12/08 16:34

Tutoriels PowerShell

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

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