IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Manipulation de variable (commencement 4e caractère) [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 23
    Par défaut Manipulation de variable (commencement 4e caractère)
    Bonjour,

    Je réalise un script me permettant de lister les groupes d'accès d'un utilisateur précis au sein de l'AD, les archiver dans un fichier texte pour ensuite supprimer l'appartenance groupe/utilisateur.
    Tout marche correctement sauf que je souhaiterai "manipuler" le résultat d'une variable de telle sorte :

    Résultat initial :
    CN=L_XXXX_XXXXXXX-PROJET-TEST-RW,OU=PROJETS,OU=XXXXXXX,OU=Locaux,OU=XXXXX Groupes,DC=XXXXX,DC=local

    Résultat attendu :
    L_XXXX_XXXXXXX-PROJET-TEST-RW

    En gros, je souhaiterai lui dire de commencer à partir du 4ème caractère et de s'arrêter à la première virgule. Avez-vous des idées?

    Merci beaucoup de votre aide!

  2. #2
    Membre éprouvé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2015
    Messages : 66
    Par défaut
    Regex peut aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $dn = "CN=L_XXXX_XXXXXXX-PROJET-TEST-RW,OU=PROJETS,OU=XXXXXXX,OU=Locaux,OU=XXXXX Groupes,DC=XXXXX,DC=local"
    
    $regex = [regex]'CN=(.+?),'
    $resultat = $regex.Matches($dn) 
    $resultat.Groups[1].Value
    Nous créons un groupe de capture (entre parenthèses) qui veut dire :
    • . tout type de caractère
    • +? entre 1 et l'infini sauf un newline



    puis en dehors du groupe de capture:

    • , on s'arrête si on trouve une virgule


    Dans l'objet reçu, l'array groups contient le résultat à la deuxième position [1].

    Résultat : L_XXXX_XXXXXXX-PROJET-TEST-RW

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 23
    Par défaut
    Merci beaucoup, effectivement ça fonctionne!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/08/2011, 08h27
  2. Réponses: 9
    Dernier message: 21/02/2007, 13h20
  3. Comparaison de 2 variables (chaines de caractères)
    Par beberd dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/11/2006, 15h19
  4. Réponses: 3
    Dernier message: 14/03/2006, 14h43
  5. [Tableaux] manipulation de variable
    Par mectouzen dans le forum Langage
    Réponses: 12
    Dernier message: 02/02/2006, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo