Rechercher des Caractères Spéciaux dans une chaîne de caractères en powershell

J'ai le code ci-dessous dans lequel je suis en train de rechercher des caractères spéciaux (& la longueur de la chaîne. Si la condition d'échec, une erreur de note doit être écrit pour de l'hôte. Je suis à l'aide de Powershell 2.0. Le code vérifie la longueur de la chaîne, mais il n'est pas en mesure de vérifier tous les caractères spéciaux. S'il vous plaît aider.

$chk=$user_logon.Output_Value
if($chk.length -gt 64 -or $chk -notmatch '[^a-zA-Z0-9]')
{
  write-host "Error - The Value ""$chk"" is greater than 64 bits or it contains a special character" -BackgroundColor "White" -ForegroundColor "Red";     
}

J'ai aussi essayé -

if($chk.length -gt 64 -or $chk -notmatch "^[a-zA-Z0-9\s]+$")

qui a travaillé. Mais je voudrais avoir la condition qui vérifie pour tous les caractères spéciaux sauf un trait de soulignement "_" qui peut être une partie de $chk.

Grâce.

InformationsquelleAutor 0nir | 2013-06-27