gpt4 book ai didi

msdeploy - psake 使用包含 & 符号的参数调用 msdeploy.cmd

转载 作者:行者123 更新时间:2023-12-03 06:35:21 24 4
gpt4 key购买 nike

我有一个 psake 脚本来管理我的部署,过程如下:

  1. 编译并运行测试
  2. 使用 msbuild 生成部署包
  3. 检查我们是在内部还是外部部署
  4. 如果是内部的,则执行生成的cmd文件
  5. 如果是外部的,则提示输入用户名和密码,并以用户名和密码作为参数执行生成的cmd文件

在外部部署时,我按以下方式执行 msdeploy:

exec { & $deploy_cmd /Y /M:$msdeploy_url /U:$user /P:$pwd /A:NTLM }

当密码包含与号 (&) 时,我假设 cmd 文件在将参数分配给变量时会分配 & 之前的密码部分,并尝试在之后执行该部分。这是bat 文件的行为(& 用于分隔命令)。

我尝试在提示输入密码时使用脱字符号 (^) 转义密码,但没有成功。

除了修改密码,还有其他办法吗?

最佳答案

因为 cmd 文件正在解析参数,然后再次将它们作为原始字符串传递,这是我获得 | 的唯一方法。在密码中使用的字符是在一些特殊字符之前使用 ^^^ 进行三次转义。我假设&将会以类似的方式工作。或者您可以转义密码中的所有字符:

    $pwd = $pwd -replace '.','^^^$&'

关于msdeploy - psake 使用包含 & 符号的参数调用 msdeploy.cmd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7485501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com