Question Renommage de groupe en masse

Plus d'informations
il y a 11 ans 8 mois #17821 par Thibulaire
Bonjour à tous, alors voilà j'effectue un renommage de groupe en masse avec un script.
Les groupes ont tous une nomencalture précise de ce type : G_KSA23L22_TEST_E

et mon code ci-dessous répond globalement à mes attentes.
Il permet de modifier que la deuxième partie du nom du groupe (KSA23L22 qui est un nom de serveur)

[code:1]$grp2 = Read-host \"Entrez le nom du serveur (exemple : KSA23L30)\"

gc \"c:\temp\grpren.txt\" |%{
$grp1 = Get-AdGroup $_ | select -expandproperty samaccountname
$split = $grp1.split(\"_\")
$test = $split[0]+\"_\"+$grp2+\"_\"+$split[2]+\"_\"+$split[3]

$grp1 = Get-AdGroup $_ | select -expandproperty distinguishedname

Rename-Adobject -identity $grp1 -newname $test

$grp1 = Get-AdGroup $_ | select -expandproperty samaccountname

Set-Adgroup $grp1 -samaccountname $test

}[/code:1]

Le seul souci, c'est que parfois il y a des loupés dans les noms et que j'ai des groupes de ce type : G_KSA23L22_TEST-E ou G_KSA23L22-TEST-E.

Donc mon split ne peut plus ce faire uniquement sur des underscore.

D’où ma question est ce que je peux utiliser plusieurs caractères pour mon split en utilisant un or ou quelque chose comme ça.

D'avance merci.<br><br>Message édité par: Thibulaire, à: 11/07/14 12:02

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

Plus d'informations
il y a 11 ans 8 mois #17824 par Laurent Dardenne
Thibulaire écrit:

J’espère avoir été clair.

Presque, l'exemple cité est identique.
La chaîne saisie doit-elle répondre à une norme ?

Une approche :
[code:1]
$old='G_KSA23L22_TEST'
$new='KSA52L44'
$old -replace '(.*?)_(.*?)_(.*)',\&quot;`$1_${new}_`$3\&quot;
[/code:1]
Mais sans le détail de la norme, difficile de proposer une solution.

Tutoriels PowerShell

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

Plus d'informations
il y a 11 ans 8 mois #17825 par Thibulaire
Réponse de Thibulaire sur le sujet Re:sous chaine de charactère
Merci Laurent pour ta réponse,

mais malheureusement mon problème à changer entre temps.
Je peux renommer les groupes avec la nomenclature spécifique j'ai juste rajouter des +\&quot;_\&quot;+
pour réafficher les underscore dans le nouveau nom du groupe.
En revanche je me demandais si il était possible d'utiliser plusieurs caractères pour le split avec un genre de $split = $grp1.split(\&quot;_\&quot;) or (\&quot;-\&quot;).<br><br>Message édité par: Thibulaire, à: 11/07/14 11:54

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

Plus d'informations
il y a 11 ans 8 mois #17826 par Laurent Dardenne
Thibulaire écrit:

En revanche je me demandais si il était possible d'utiliser plusieurs caractères pour le split avec un genre de $split = $grp1.split(\&quot;_\&quot;) or (\&quot;-\&quot;).

Avec l'opérateur -Split :
[code:1]
'G_KSA23L22_TEST' -split '_|-'
'G-KSA23L22-TEST' -split '_|-'
'G-KSA23L22_TEST' -split '_|-'
[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 11 ans 8 mois #17828 par Thibulaire
Réponse de Thibulaire sur le sujet Re:sous chaine de charactère
Yes ! merci ça marche nickel avec un [code:1]$split = $grp1.split(\&quot;_|-\&quot;«»)[/code:1]

Dernières petites questions : Cela fontionne t'il avec des espaces et peut on le faire avec plus de deux séparateurs du style (\&quot;-|_|*| \&quot;).

Dans tous les cas encore un grand merci.

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

Plus d'informations
il y a 11 ans 8 mois #17831 par Laurent Dardenne
Thibulaire écrit:

Cela fontionne t'il avec des espaces

Oui.
Thibulaire écrit:

et peut on le faire avec plus de deux séparateurs du style (\&quot;-|_|*| \&quot;).

Oui, sous réserve d'échapper les métacaractères :
[code:1]
'G-KSA 23L*22_TEST' -split '_|-| |*'
'G-KSA 23L*22_TEST' -split '_|-| |\*'
[/code:1]
En passant, attention à la saisie (Read-Host) de ta varaible, car elle peut être vide.

Tutoriels PowerShell

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

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