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

  1. #1
    Futur Membre du Club
    Sélectionner des caractères dans une chaîne de caractères
    bonjour,
    J'ai un script qui doit ajouter des utilisateurs dans un groupe AD. Les personnes que j' ajoutent se trouve dans un fichier csv, je dispose du nom et du prénom.
    Pour ajouter des utilisateurs au groupe j'utilise la commande add-adgroupmember. j'ai donc former un nom sam (login windows).
    ex jean Dupont > jdupont
    J'arrive à supprimer les "-" et les espaces avec cette regex [^a-zA-Z].mon problème se situe au niveau des nom composé
    ex : jean-pierre dupont > jpdupont
    Je souhaite sélectionner le caractère après le "-".

    Code PowerShell :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $pattern = '[^a-zA-Z]'
    $prenom= "Jean-patrick" 
    $nom= "maréchal"
    $nomgroup = $prenom[0] + $nom
    #supprime les accents
    $nomgroup= [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding("Cyrillic").GetBytes("$nomgroup"))
    $nomgroup = $nomgroup -replace $pattern,''
    Add-ADGroupMember -Identity "groupetest " -Members $nomgroup

  2. #2
    Expert éminent

    Je ne sais pas si ça vous convient ce code ou non ?
    Code POWERSHELL :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $pattern = '[^a-zA-Z]'
    $prenom= "Jean-patrick" 
    $nom= "marèchal"
    $prenom = $prenom.split('-')
    $nomgroup = $prenom[0][0] + $prenom[1][0] + $nom
    #supprime les accents
    $nomgroup= [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding("Cyrillic").GetBytes("$nomgroup"))
    $nomgroup

    On obtient comme sortie : Jpmarechal

  3. #3
    Futur Membre du Club
    Citation Envoyé par hackoofr Voir le message

    Je ne sais pas si ça vous convient ce code ou non ?
    Code POWERSHELL :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $pattern = '[^a-zA-Z]'
    $prenom= "Jean-patrick" 
    $nom= "marèchal"
    $prenom = $prenom.split('-')
    $nomgroup = $prenom[0][0] + $prenom[1][0] + $nom
    #supprime les accents
    $nomgroup= [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding("Cyrillic").GetBytes("$nomgroup"))
    $nomgroup

    On obtient comme sortie : Jpmarechal

    Merci je connaissait pas split

  4. #4

  5. #5
    Expert confirmé
    Une variante
    Code powershell :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    $prenom= "Jean-patrick"
    ($prenom -split "-" | ForEach-Object {$_[0]}) -join ""

###raw>template_hook.ano_emploi###