Question
Export Utilisateurs et groupes
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
si tu cherche un peu tu devrais trouver
sinon tu peut partir de zéro et on t'aidera !!
Connexion ou Créer un compte pour participer à la conversation.
- crogiez
- Hors Ligne
- Membre premium
-
- Messages : 102
- Remerciements reçus 0
j'ai fait la meme chose entre deux AD
jai utilise un outil de microsoft ADMT
jai toutes les docs, script, ...
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Connexion ou Créer un compte pour participer à la conversation.
- Mrgrours
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 8
- Remerciements reçus 0
J'ai réussi la partie export de mon objectif.
j’obtiens donc 2 fichiers un fichier d'export des UO et un fichier d'export des groupes et utilisateurs. Je vous donne ma proposition :
Code pour export des UO :
[code:1]Get-ADOrganizationalUnit -Filter * -Properties DistinguishedName,Name,canonicalName,displayName | Select-Object Name,canonicalName,DisplayName,DistinguishedName | export-csv C:\ListeOU.csv -Encoding Unicode -NoTypeInformation -Delimiter \";\"[/code:1]
Code pour export des groupes et utilisateurs :
[code:1]get-aduser -filter * -properties name, memberof | select name, @{name=”MemberOf”;expression={$_.memberof -join “;”}},@{name=”samaccountname”;expression={$_.samaccountname -join “;”}} | export-csv “C:\utilisateursGroupes.csv” -notypeinformation -Encoding UTF8 -Delimiter \";\"[/code:1]
Voilà c'est joli tout ça mais j'ai un soucis pour l'import des données :
Par exemple pour recréer les UO voici la première et deuxième ligne du fichier exporté la première ligne contient les en-têtes la seconde les données :
\"Name\";\"canonicalName\";\"DisplayName\";\"DistinguishedName\"
\"developpeur\";\"testAD.fr/developpeur\";;\"OU=developpeur,DC=testAD,DC=fr\"
[code:1]
#import fichier csv dans une variable
$listeOu=import-csv -Path C:\ListeOU.csv -Delimiter \";\" -Encoding Unicode
# Création des Ou
foreach ($item in $listeOu){
$Name=$item.Name
$CanName=$item.CanonicalName
$DisplayName=$item.DisplayName
$DistinguishedName=$item.DistinguishedName
New-ADOrganizationalUnit -name $Name -Path \"$DistinguishedName\"
}[/code:1]
Mon problème est que pour la dernière ligne New-ADOrganizationalUnit s'attend à avoir dans le paramètre -name le nom(developpeur) ici pas de problème, pour le paramètre -Path le distinguishedName contient toute la longueur du chemin (OU=developpeur,DC=testAD,DC=fr) hors il ne prend en compte que DC=testAD,DC=fr.
J'imagine qu'une des solutions consisterai à parser le fichier. Mais comment faire ? Ou si quelqu'un à une autre solution pour recréer l'OU à partir de l'export. Ou une autre solution tout cour.
En remerciant tout le monde par avance
Grouic
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
si tu n'a pas de message d'erreur je suis surpris !Mon problème est que pour la dernière ligne New-ADOrganizationalUnit s'attend à avoir dans le paramètre -name le nom(developpeur) ici pas de problème, pour le paramètre -Path le distinguishedName contient toute la longueur du chemin (OU=developpeur,DC=testAD,DC=fr) hors il ne prend en compte que DC=testAD,DC=fr.
tu essai de créé une OU (ici \"developpeur\") dans une OU qui s'appelle \"developpeur\" vu que tu a mis dans le path le DistinguishedName de l'export
normalement \"developpeur\" n'existe pas
si \"developpeur\" existe, une OU \"developpeur\" sera créé dans l'OU \"developpeur\" sinon tu a une erreur
quand tu recrée une OU depuis un export tu doit enlever du DistinguishedName le nom de l'OU pour ne garder que l'emplacement<br><br>Message édité par: 6ratgus, à: 27/09/17 12:22
Connexion ou Créer un compte pour participer à la conversation.
- Mrgrours
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 8
- Remerciements reçus 0
6ratgus écrit:
si tu n'a pas de message d'erreur je suis surpris !Mon problème est que pour la dernière ligne New-ADOrganizationalUnit s'attend à avoir dans le paramètre -name le nom(developpeur) ici pas de problème, pour le paramètre -Path le distinguishedName contient toute la longueur du chemin (OU=developpeur,DC=testAD,DC=fr) hors il ne prend en compte que DC=testAD,DC=fr.
Oui exactement j'ai un message d'erreur car dans mon fichier d'export des UO je dois parvenir à supprimer OU=********,\"
Mais étant pas équipé en powershell je ne vois pas trop comment procéder pour manipuler le fichier texte j'ai tenté ceci :
[code:1]
#import de mon fichier d'export :
$fichierOu=import-csv -Path C:\ListeOU.csv -Delimiter \";\" -Encoding Unicode
#correction du fichier d'export
foreach($ou in $fichierOu){
$fichierOu.DistinguishedName -replace \"OU=,\",\"\"
}
#export du fichier corrigé.
$fichierOu | Export-csv \"C:\ListeOuCorrigé.csv\" -NoTypeInformation -Delimiter \";\"[/code:1]
Voilà ma boucle foreach ne marche pas. Je sais juste qu'il faut parcourir le fichier de ligne en ligne dans et dans le champs \"DistinguishedName\" supprimer OU=********,.
Je vous donne un aperçu du fichier évidement il y a plus de ligne mais c'est pour le principe :
\"Name\";\"canonicalName\";\"DisplayName\";\"DistinguishedName\"
\"test\";\"testAD.fr/test\";;\"OU=test,DC=testAD,DC=fr\"
Voilà si y en à qui ont des pistes.
En vous remerciant tout le monde par avance
Grouic
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
[code:1]foreach($ou in $fichierOu) {
$fichierOu.DistinguishedName = $fichierOu.DistinguishedName -replace \"OU=$($fichierOu.Name),\",\"\"
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Export Utilisateurs et groupes