Конвейер ввода в исполняемый файл с помощью PowerShell

Конвейер ввода в исполняемый файл с помощью PowerShell

Мне нужно выполнить следующую команду в PowerShell:

%windir%\system32\inetsrv\appcmd add site /in < c:\mywebsite.xml

Я пытаюсь сделать это так:

$appCmd = "$Env:SystemRoot\system32\inetsrv\appcmd.exe"      

[String] $targetFilePath = $restoreFromDirectory + "config.xml"

$AllArgs = @('add', 'site', '/in')

& $appCmd $AllArgs | Get-Content $targetFilePath

Но это, по-видимому, неверно, поскольку выдает ошибку:

Входной объект не может быть привязан ни к одному из параметров команды, поскольку команда не принимает входные данные конвейера или входные данные и их свойства не соответствуют ни одному из параметров, которые принимают входные данные конвейера.

Пожалуйста, помогите определить правильную альтернативу вышеупомянутому скрипту в PowerShell.

решение1

PowerShell pipe принимает ввод слева и передает его в команду справа. В этом случае вы передаете вывод вашей команды в Get-Content, которая не принимает входной параметр.

Измените линию вызова так, чтобы ввод осуществлялся слева направо:

Get-Content $targetFilePath | & $appCmd $AllArgs

Видеть этоответ на StackOverflowдля примера.

Связанный контент