none
Editer une liste des users AD contenant des caractères accentué RRS feed

  • Question

  • Bonjour à tous,

    Je suis étudiant en alternance dans une boite informatique. On m'a confié le travail d'établir la liste des utilisateurs AD dont le display name contient un caractère accentué et extraire le tout dans un fichier .csv

    N'ayant jamais fait de powershell, je viens vers vous afin d'avoir un petit coup de main!

    lundi 3 décembre 2012 11:23

Réponses

  • Bonjour,

    essaie ceci (glaner de-ci de-là sur le net) pour déterminer si la propriété DisplayName contient un accent :

    Function Test-DiacriticCharacters {
     param ($S)
    
     $N=$S.Normalize([System.text.NormalizationForm]::FormD)
     Foreach ($Char in $N.GetEnumerator())
     { 
       If ([char]::GetUnicodeCategory($Char) -eq 'NonSpacingMark')
       { Return $True } 
     } 
     Return $False 
    }#Test-DiacriticCharacters
    
    $autres='&"(-_)12345678°+µ*£$%§!:/;.?,`'
    
    Test-DiacriticCharacters $Autres
    Test-DiacriticCharacters 'öttö'
    Test-DiacriticCharacters 'Châpeau'
    Test-DiacriticCharacters 'Diacritic'


    Beatus, qui prodest, quibus potest.

    • Marqué comme réponse Senetaire mardi 11 décembre 2012 08:25
    mardi 4 décembre 2012 20:39
    Modérateur

Toutes les réponses

  • Bonjour,

    Essayez ceci:

    dir | select-object Name | export-csv test.csv -Encoding unicode

    import-csv test.csv

    Name
    ----
    öttö

    test.csv

    Les caractères spéciaux s'afficheront correctement dans les fichiers .csv ANSI généré par Excel mais seront corrompus lorsque vous les importerez via Import-CSV. La solution consiste pour Excel CSV à ouvrir le fichier CSV bloc notes et à l'enregistrer au format Unicode.

    Cordialement,

    Bricoleur.


    sans l'acquisition d'un immense superflu chaque condition se sent misérable. DIDEROT


    • Modifié Bricoleur lundi 3 décembre 2012 22:30
    lundi 3 décembre 2012 22:27
  • Bonjour,

    essaie ceci (glaner de-ci de-là sur le net) pour déterminer si la propriété DisplayName contient un accent :

    Function Test-DiacriticCharacters {
     param ($S)
    
     $N=$S.Normalize([System.text.NormalizationForm]::FormD)
     Foreach ($Char in $N.GetEnumerator())
     { 
       If ([char]::GetUnicodeCategory($Char) -eq 'NonSpacingMark')
       { Return $True } 
     } 
     Return $False 
    }#Test-DiacriticCharacters
    
    $autres='&"(-_)12345678°+µ*£$%§!:/;.?,`'
    
    Test-DiacriticCharacters $Autres
    Test-DiacriticCharacters 'öttö'
    Test-DiacriticCharacters 'Châpeau'
    Test-DiacriticCharacters 'Diacritic'


    Beatus, qui prodest, quibus potest.

    • Marqué comme réponse Senetaire mardi 11 décembre 2012 08:25
    mardi 4 décembre 2012 20:39
    Modérateur
  • Bonjour,

    essaie ceci (glaner de-ci de-là sur le net) pour déterminer si la propriété DisplayName contient un accent :

    Function Test-DiacriticCharacters {
     param ($S)
    
     $N=$S.Normalize([System.text.NormalizationForm]::FormD)
     Foreach ($Char in $N.GetEnumerator())
     { 
       If ([char]::GetUnicodeCategory($Char) -eq 'NonSpacingMark')
       { Return $True } 
     } 
     Return $False 
    }#Test-DiacriticCharacters
    
    $autres='&"(-_)12345678°+µ*£$%§!:/;.?,`'
    
    Test-DiacriticCharacters $Autres
    Test-DiacriticCharacters 'öttö'
    Test-DiacriticCharacters 'Châpeau'
    Test-DiacriticCharacters 'Diacritic'


    Beatus, qui prodest, quibus potest.

    Merci beaucoup messieurs pour votre qui m'a été d'une grande utilité ! En particulier la tienne Laurent !
    Passez une bonne journée ! A bientot !
    mardi 11 décembre 2012 08:25