Capturing group number
Use a named capture group instead of a non-capturing group:
$pattern = '\s*([a-zA-Z_]+)\s*=(?<value>\s*"(.*)"|([^;#]*))'$value = ($string |Select-String -Pattern $pattern).Matches.Groups['value'].Value.Trim(' "')
Use a named capture group instead of a non-capturing group:
$pattern = '\s*([a-zA-Z_]+)\s*=(?<value>\s*"(.*)"|([^;#]*))'$value = ($string |Select-String -Pattern $pattern).Matches.Groups['value'].Value.Trim(' "')