Question
[RESOLU]Renommer Groupe de l'AD
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 4 mois #21301
par Philippe
si ton fichier ne contient que le groupe informatique, tu a bien qu'un seul passage
si tu rajoute maintenant d'autre groupe au fichier ?
si tu test cette commande tu devrais affiché la liste des groupes du fichier :
[code:1]PS C:\Users\xxx>>Import-Csv $path
Name
----
Informatique [/code:1]
si ca s'affiche autrement c'est que formatage du fichier n'est pas bon
Réponse de Philippe sur le sujet Re:Renommer Groupe de l'AD
Du coup, Informatique est bien renommer par contre ma boucle ne fait plus qu'un passage
si ton fichier ne contient que le groupe informatique, tu a bien qu'un seul passage
si tu rajoute maintenant d'autre groupe au fichier ?
la je suis surpris !$grouplist est vide
si tu test cette commande tu devrais affiché la liste des groupes du fichier :
[code:1]PS C:\Users\xxx>>Import-Csv $path
Name
----
Informatique [/code:1]
si ca s'affiche autrement c'est que formatage du fichier n'est pas bon
Connexion ou Créer un compte pour participer à la conversation.
- Calvino
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 10 ans 4 mois #21302
par Calvino
Réponse de Calvino sur le sujet Re:Renommer Groupe de l'AD
Comme je suis rentrer chez moi j'ai du recommencer le script, bref...
pour le -filter que je dois changer, si je change celui qui est en dehors du foreach je n'obtiens aucun résultat. Si je laisse le filtre avec \"*\" je retrouve bien mes 3 groupes dans le fichier csv
Par contre encore une fois seule Informatique est renommer correctement
Lorsque je fait Import-Csv grouplist.Csv
J'obtiens
[code:1]Name
----
Informatique.psv
Accueil
Administration[/code:1]
pour le -filter que je dois changer, si je change celui qui est en dehors du foreach je n'obtiens aucun résultat. Si je laisse le filtre avec \"*\" je retrouve bien mes 3 groupes dans le fichier csv
Par contre encore une fois seule Informatique est renommer correctement
Lorsque je fait Import-Csv grouplist.Csv
J'obtiens
[code:1]Name
----
Informatique.psv
Accueil
Administration[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Calvino
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 10 ans 4 mois #21319
par Calvino
Réponse de Calvino sur le sujet Re:Renommer Groupe de l'AD
Bonjour,
Je viens ENFIN de trouver la solution
Voici le script
[code:1]Import-module ActiveDirectory
$Path=\"C:\Users\Administrateur\Desktop\GL.csv\"
Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | Select-Object Name | Export-Csv $Path -notype
$grouplist=Import-Csv $Path
foreach ($group in $grouplist) {
$NewGroup=$group.Name+\".psv\"
Get-ADgroup $group.Name | Rename-ADObject -NewName $NewGroup
Get-ADGroup $group.Name | Set-ADGroup -SamAccountName $NewGroup
}[/code:1]
Merci pour votre aide
Je viens ENFIN de trouver la solution
Voici le script
[code:1]Import-module ActiveDirectory
$Path=\"C:\Users\Administrateur\Desktop\GL.csv\"
Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | Select-Object Name | Export-Csv $Path -notype
$grouplist=Import-Csv $Path
foreach ($group in $grouplist) {
$NewGroup=$group.Name+\".psv\"
Get-ADgroup $group.Name | Rename-ADObject -NewName $NewGroup
Get-ADGroup $group.Name | Set-ADGroup -SamAccountName $NewGroup
}[/code:1]
Merci pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 4 mois #21321
par Philippe
Réponse de Philippe sur le sujet Re:Renommer Groupe de l'AD
désolé de répondre un peu tard !
si tu veux resté dans l'esprit de ton script, le deuxième Get-ADGroup doit filtré un par un les groupes pour le renomage en fonction du contenue du fichier grouplist.csv, tu ta la fais dans ton script. d'où le filtre que je t'avais donné dans un message précèdent
mais si le but est le renomage de tous les groupes de HPPS sans tenir compte du contenu de grouplist.csv, la boucle est inutile, et la ligne Get-ADGroup ... doit être légèrement modifier :
[code:1]Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | Rename-ADObject -NewName \"$($_.Name).psv\" | Select-Object Name | Export-Csv $Path2 -notype[/code:1]
mais bien tous soit bon cette construction ne focntionne pas !
malgres ce que dis la doc Rename-ADObject ne semble bien prendre l'identité d'un groupe par pipeline !?!!
du coup j'ai modifier un peu la ligne de code comme ceci :
[code:1]Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | foreach { Rename-ADObject -Identity $_ -NewName \"$($_.Name).psv\" -PassThru } | Select-Object Name | Export-Csv $Path2 -notype
[/code:1]
ce qui fait un code bien plus court quand même :
[code:1]Import-Module ActiveDirectory
$Path=\"C:\Users\Administrateur\Desktop\grouplist.csv\"
$Path2=\"C:\Users\Administrateur\Desktop\grouplistV2.csv\"
Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | Select-Object Name | Export-Csv $Path -notype
Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | foreach {
Set-ADGroup -Identity $_ -SamAccountName \"$($_.Name).psv\"
Rename-ADObject -Identity $_ -NewName \"$($_.Name).psv\" -PassThru
} | Select-Object Name | Export-Csv $Path2 -notype
[/code:1]
je vois que tu a pensé a changé aussi le SamAccountName, je voulais aussi tant parlé mais je pense que tu a compris tout seul<br><br>Message édité par: 6ratgus, à: 20/01/16 10:01
ton premier Get-ADGroup sert à remplie le fichier grouplist.csv de tous les groupes qui ce trouve dans l'OU HPPS. donc pas besoin de filtrage spécifique sauf si tu a besoin que de certains groupes ou pour des tests.pour le -filter que je dois changer, si je change celui qui est en dehors du foreach je n'obtiens aucun résultat. Si je laisse le filtre avec \"*\" je retrouve bien mes 3 groupes dans le fichier csv
si tu veux resté dans l'esprit de ton script, le deuxième Get-ADGroup doit filtré un par un les groupes pour le renomage en fonction du contenue du fichier grouplist.csv, tu ta la fais dans ton script. d'où le filtre que je t'avais donné dans un message précèdent
mais si le but est le renomage de tous les groupes de HPPS sans tenir compte du contenu de grouplist.csv, la boucle est inutile, et la ligne Get-ADGroup ... doit être légèrement modifier :
[code:1]Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | Rename-ADObject -NewName \"$($_.Name).psv\" | Select-Object Name | Export-Csv $Path2 -notype[/code:1]
mais bien tous soit bon cette construction ne focntionne pas !
malgres ce que dis la doc Rename-ADObject ne semble bien prendre l'identité d'un groupe par pipeline !?!!
du coup j'ai modifier un peu la ligne de code comme ceci :
[code:1]Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | foreach { Rename-ADObject -Identity $_ -NewName \"$($_.Name).psv\" -PassThru } | Select-Object Name | Export-Csv $Path2 -notype
[/code:1]
ce qui fait un code bien plus court quand même :
[code:1]Import-Module ActiveDirectory
$Path=\"C:\Users\Administrateur\Desktop\grouplist.csv\"
$Path2=\"C:\Users\Administrateur\Desktop\grouplistV2.csv\"
Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | Select-Object Name | Export-Csv $Path -notype
Get-ADGroup -SearchBase \"OU=HPPS,DC=HPPS,DC=FR\" -filter * | foreach {
Set-ADGroup -Identity $_ -SamAccountName \"$($_.Name).psv\"
Rename-ADObject -Identity $_ -NewName \"$($_.Name).psv\" -PassThru
} | Select-Object Name | Export-Csv $Path2 -notype
[/code:1]
je vois que tu a pensé a changé aussi le SamAccountName, je voulais aussi tant parlé mais je pense que tu a compris tout seul<br><br>Message édité par: 6ratgus, à: 20/01/16 10:01
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.038 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [RESOLU]Renommer Groupe de l'AD