PowerShell 使用 /IN < pathToFile 执行 appcmd



我正在构建一个ps1文件,通过appcmd创建所有IIS站点、虚拟目录和应用程序池。我使用appcmd-list/xml从主机上获取设置,并将它们保存到配置文件中。我试图让powershell执行一个appcmd命令

  appcmd add apppool /IN < pathtoFile.xml

我的问题是在powershell中,我不能使用小于符号:

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

如果我使用管道:

  appcmd add apppool /IN | pathtoFile.xml

我得到:

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

一位同事给了我答案。只是在它的头上旋转:

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

这很管用。

Get-Content appppols.xml | .appcmd.exe add apppool /in

最新更新