Expresiones regulares en C # para validación de nombre de archivo

¿Cuál es una buena expresión regular que puede validar una cadena de texto para asegurarse de que sea un nombre de archivo válido de Windows? (AKA no tiene\/:*?"<>| caracteres).

Me gustaría usarlo como el siguiente:

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

Respuestas a la pregunta(4)

Su respuesta a la pregunta