我正在尝试从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语法。
答案 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
(注意每个命令行参数的单引号)