Expressões regulares em C # para validação de nome de arquivo

O que é uma boa expressão regular que pode validar uma cadeia de texto para se certificar de que é um nome de arquivo válido do Windows? (AKA não tem\/:*?"<>| personagens).

Eu gostaria de usá-lo como o seguinte:

<code>// Return true if string is invalid.
if (Regex.IsMatch(szFileName, "<your regex string>"))
{
    // Tell user to reformat their filename.
}
</code>

questionAnswers(4)

yourAnswerToTheQuestion