Eu acredito que é um bug no analisador do PowerShell. Parece que quando está no modo de análise, tenta primeiro interpretar a primeira coisa como BareWord
string literal. E se falhar, produzirá erro. Você pode solucionar isso colocando espaço extra antes ou depois do sinal de igual:
$herestr =@"
'"'
"@
ou
$herestr= @"
'"'
"@
Ou usando parênteses:
[void]($herestr=@"
'"'
"@)
Note que, como parêntese não é atribuição ou incremento / decremento, eles escreverão o resultado da expressão no pipeline, ao contrário da expressão de atribuição nua, então você precisa explicitamente ignorá-lo com [void]
ou qualquer outro método. em>