2012-03-20 51 views
1

我在構建ps1文件以通過appcmd創建所有IIS站點,虛擬目錄和應用程序池的過程中。我已經使用appcmd list/xml從主機獲取設置並將它們保存到配置文件中。我想獲得PowerShell來執行APPCMD命令powershell使用/ IN <pathToFile執行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 

回答

4

一位同事給了我這個答案。只需將其旋轉在其頭部即可:

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

這很好。

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

歡迎來到StackOverflow。如果您提供答案,請解釋您的代碼正在做什麼。 – sschale 2016-03-10 01:19:50