O parâmetro -Xml espera a entrada xml como uma string.
Get-Content , por padrão, retorna uma matriz de strings (uma para cada linha), e é por isso que o primeiro erro é lançado.
Para contornar isso, use o parâmetro -Raw ao chamar Get-Content para que ele retorne uma única string:
$xmlContents = Get-Content $xmlFilename -Raw
Antes do PowerShell 3.0, você pode obter a mesma coisa canalizando a matriz de string para Out-String :
$xmlContents = Get-Content $xmlFilename | Out-String