Salut casimir,
Depuis le temps, tu l'as peut être fait à la main ^^
Sinon pour tes débuts, regarde plutôt au niveau des commandlets Active Directory de chez Quest c'est plus compréhensible en comparaison au début de solution que tu as trouvé.
Sinon pour répondre à ta question, en formatant ton fichier ainsi :
colonne1;colonne2
"CN=Listededistrib1,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
"CN=Listededistrib2,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
"CN=Listededistrib3,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
"CN=Listededistrib4,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
"CN=Listededistrib5,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
"CN=Listededistrib6,OU=Compta,OU=Groupe,DC=domaine,DC=corp";"OU=DLs,DC=domaine,DC=corp"
Et en exécutant ce bout de code, ça devrait le faire :
1 2 3 4 5
| Import-Csv -Path "c:\temp\monfichier.csv" -Delimiter ";" | % {
$from = [ADSI]"LDAP://$($_.colonne1)"
$toOU = [ADSI]"LDAP://$($_.colonne2)"
$from.PSBase.MoveTo($toOU,"cn="+$from.name)
} |
Le problème de ce code et que tu n'as pas de contrôle, donc en "bon" admin que je suis et toi aussi j'espère, ça pose un petit problème d'éthique :p
Avec l'utilisation des commandlets tu as en général le paramètre -Whatif qui te permet de tester ton code avant de passer réellement en production.
Pour info avec le commandlet Quest ça donne :
Import-Csv -Path "c:\temp\monfichier.csv" -Delimiter ";" |% { Move-QADObject -Identity $_.colonne1 -NewParentContainer $_.colonne2 -WhatIf }
En tout cas bienvenu dans la communauté et bonne continuation.
Partager