从Powershell中运行msdeploy.exe

时间:2012-10-20 22:32:18

标签: powershell msdeploy

我正在尝试从Powershell中运行以下命令:

msdeploy -verb:sync -source:archiveDir=c:\KitchenPC\Build -dest:appHostConfig="KitchenPC",computerName=https://192.168.0.3:8172/msdeploy.axd,authType=Basic,userName=someuser,password="secret" -allowUntrusted

docs say只需用:替换每个参数后的=。所以我试过这个:

msdeploy -verb=sync -source=archiveDir=c:\KitchenPC\Build -dest=appHostConfig="KitchenPC",computerName=https://192.168.0.3:8172/msdeploy.axd,authType=Basic,userName=someuser,password="secret" -allowUntrusted

然而,我收到错误:

  

错误:无法识别的参数   '计算机名= HTTPS://192.168.0.3:8172 / msdeploy.axd'。所有论点   必须以“ - ”开头。错误计数:1。

我已经检查了docs on provider settings,但他们没有提及他们的等效Powershell语法。

1 个答案:

答案 0 :(得分:4)

How do you call msdeploy from powershell when the parameters have spaces?

认为这已经回答了,只需修改它。 防爆。使用变量包含“KitchenPC”和“secret”,并将-dest部分放在引号内。

工作示例:

msdeploy '-verb=sync' '-source=archiveDir=c:\KitchenPC\Build -dest=appHostConfig="KitchenPC",computerName=https://192.168.0.3:8172/msdeploy.axd,authType=Basic,userName=someuser,password="secret"' -allowUntrusted

(注意每个命令行参数的单引号)