Это близко. Вы можете иметь массив шаблонов, разделенных запятыми. Как и в bash, точка с запятой должна быть заключена в кавычки, потому что это означает «конец утверждения» в powershell. Команда избегает строк, которые начинаются с "#", ";" или являются пустыми.
'# comment',
'; semicolon',
'',
'one',
'two',
'three' | select-string ^#, '^;', ^$ -notmatch
one
two
three