PowerShell выполнить appcmd с / IN <pathToFile - PullRequest
1 голос
/ 20 марта 2012

Я в процессе создания файла ps1 для создания всех моих сайтов IIS, виртуальных каталогов и пулов приложений через appcmd. Я использовал appcmd list / xml, чтобы получить настройки с главного компьютера и сохранить их в конфигурационных файлах. Что я пытаюсь заставить powershell выполнить команду appcmd

  appcmd add apppool /IN < pathtoFile.xml

Моя проблема в PowerShell, я не могу использовать символ меньше, чем:

PS C:\temp\deployments> .\createIISSetup.ps1
The '<' operator is reserved for future use.
At C:\temp\deployments\createIISSetup.ps1:36 char:28
+     .$appcmd add apppool /IN < <<<<  $pathToAppPoolSettings;
    + CategoryInfo          : ParserError: (<:OperatorToken) [], ParseException
    + FullyQualifiedErrorId : RedirectionNotSupported

если я использую трубу:

  appcmd add apppool /IN | pathtoFile.xml

Я получаю:

PS C:\temp\deployments> .\createIISSetup.ps1
Expressions are only allowed as the first element of a pipeline.
At C:\temp\deployments\createIISSetup.ps1:36 char:51
+     .$appcmd add apppool /IN | $pathToAppPoolSettings <<<< ;
    + CategoryInfo          : ParserError: (:) [], ParseException
    + FullyQualifiedErrorId : ExpressionsMustBeFirstInPipeline

Ответы [ 2 ]

5 голосов
/ 20 марта 2012

Коллега дал мне ответ на этот вопрос. Просто развернул его на голову:

type $pathToapppoolSettings | .$appcmd add apppool/IN; 

это прекрасно работает.

3 голосов
/ 10 марта 2016
Get-Content appppols.xml | .\appcmd.exe add apppool /in
...