我有一个 psake 脚本来管理我的部署,过程如下:
- 编译和运行测试
- 使用 msbuild 生成部署包
- 检查我们是在内部部署还是在外部部署
- 如果是内部的,执行生成的cmd文件
- 如果是外部的,则提示输入用户名和密码,并以用户名和密码作为参数执行生成的 cmd 文件
我在外部部署时以以下方式执行 msdeploy:
exec { & $deploy_cmd /Y /M:$msdeploy_url /U:$user /P:$pwd /A:NTLM }
当密码包含与号 (&) 时,我假设 cmd 文件在将参数分配给变量时会分配 & 之前的密码部分,然后尝试执行该部分。这是 bat 文件行为(& 用于分隔命令)。
我尝试在提示输入密码时使用插入符号 (^) 转义密码,但这没有用。
除了更改密码,还有其他选择吗?