Question
Modification description groupes AD
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 1 an 11 mois #32883
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Modification description groupes AD
Si le texte avant le nom d'application n'a pas d'importance on peut aussi écrire la regex de cette manière :
if ($GroupName -match '^(?<Prefixe>(.*?_){4})(?<Application>.*?)((?<Postfixe>_.*){0,1})$')
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Christophe MELIN
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 26
- Remerciements reçus 4
il y a 1 an 11 mois #32896
par Christophe MELIN
Réponse de Christophe MELIN sur le sujet Modification description groupes AD
bonjour,
Si le nom de tes groupes suit un plan de nommage homogène avec 5 ou 6 blocs séparé par le caractère _, est-ce que vous avez envisagé de spliter la chaine de caractères ?
Exemple :
$groupname = "GL_APP_SCCM_APP_application_M1"
$arr = $groupname.split( '_' )
alors le résultat est :
$arr[0] = "GL"
$arr[1] = "APP"
$arr[2] = "SCCM"
$arr[3] = "APP"
$arr[4] = "application"
$arr[5] = "M1"
tu peux alors faire des tests simples
$application = ""
$version = ""
if ($arr.count -lt 5) { write-error "$groupname : pas de bloc pour trouver l'application" }
if ($arr.count -ge 5) { $application = $arr[4] }
if ($arr.count -gt 5) { $version = $arr[5] }
Sous réserve que le _ est bien un séparateur qu'on ne retrouve pas dans les blocs, avec cette méthode, tu n'as aucune taille de bloc codé en dur.
J'ai eu la même problématique que toi car on a un plan de nommage assez proche du tien :
<type de groupe>_<code appli>_<code environnement>[_<suffixe>]
Avec le split, j'ai pu mettre à jour la description avec un code ressemblant à ce qui suit :
et voilà, le tour est joué
Si le nom de tes groupes suit un plan de nommage homogène avec 5 ou 6 blocs séparé par le caractère _, est-ce que vous avez envisagé de spliter la chaine de caractères ?
Exemple :
$groupname = "GL_APP_SCCM_APP_application_M1"
$arr = $groupname.split( '_' )
alors le résultat est :
$arr[0] = "GL"
$arr[1] = "APP"
$arr[2] = "SCCM"
$arr[3] = "APP"
$arr[4] = "application"
$arr[5] = "M1"
tu peux alors faire des tests simples
$application = ""
$version = ""
if ($arr.count -lt 5) { write-error "$groupname : pas de bloc pour trouver l'application" }
if ($arr.count -ge 5) { $application = $arr[4] }
if ($arr.count -gt 5) { $version = $arr[5] }
Sous réserve que le _ est bien un séparateur qu'on ne retrouve pas dans les blocs, avec cette méthode, tu n'as aucune taille de bloc codé en dur.
J'ai eu la même problématique que toi car on a un plan de nommage assez proche du tien :
<type de groupe>_<code appli>_<code environnement>[_<suffixe>]
- type de groupe est un code sur 2 ou 3 caractères,
- code appli est un code sur 5 à 8 caractère
- code environnement est un caractère
- j'ai mis la partie suffixe entre [ ] pour signifier qu'elle est facultative (comme ton 6ème bloc).
Avec le split, j'ai pu mettre à jour la description avec un code ressemblant à ce qui suit :
$arr = $groupname.split( '_' )
if ($arr.count -lt 3) { throw "Impossible de traiter le groupe $groupname. Il manque des blocs" }
$type = $arr[0]
$application = $arr[1].ToUpper() # conversion en majuscule
$env = $arr[2].ToUpper() # conversion en majuscule
if ($arr.count -ge 4) { $suffixe = $arr[3] } else { $suffixe = $null }
switch( $env) {
"P" { $envlong = "PROD" }
"T" { $envlong = "TEST" }
...
default { $envlong = $null }
}
$description = "Application $application"
if ($envlong) { $description += " - $envlong" }
if ($suffixe) { $description += " ($suffixe)" }
et voilà, le tour est joué
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.102 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Modification description groupes AD