【问题标题】:powershell execute appcmd with /IN < pathToFilepowershell 使用 /IN < pathToFile 执行 appcmd
【发布时间】:2012-03-20 12:34:53
【问题描述】:

我正在构建一个 ps1 文件以通过 appcmd 创建我的所有 IIS 站点、虚拟目录和应用程序池。我已经使用 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

【问题讨论】:

    标签: powershell appcmd


    【解决方案1】:

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

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

    这很好用。

    【讨论】:

      【解决方案2】:
      Get-Content appppols.xml | .\appcmd.exe add apppool /in
      

      【讨论】:

      • 欢迎来到 StackOverflow。如果您提供答案,请说明您的代码在做什么。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 2011-06-02
      • 1970-01-01
      • 2014-06-14
      • 1970-01-01
      相关资源
      最近更新 更多