Tenho certeza de que você está executando o comando abaixo em cmd.exe (linha de comando comum), pois is not recognized as an internal or external command
é um erro que você veria no cmd.
get-content file.text | %{$_ -replace "USERNAME","testing"}
Quanto ao seu segundo comando, há uma confusão de qouting lá. A maneira mais fácil de consertá-lo seria substituir qoutes duplos por qoutes simples e ter qoutes duplos ao redor dos argumentos do parâmetro -Command. Assim:
powershell.exe -Command "Get-Content file.text | %{$_ -replace 'USERNAME','testing'}"