【发布时间】:2019-09-20 09:59:16
【问题描述】:
我正在使用 azure devops 构建项目服务器解决方案。
在我的发布管道中,我有多个需要用户凭据作为参数的 powershell 脚本。密码保存在 DevOps 中的一个秘密变量中,并包含一个单引号。
Password: abcd'efgh
这导致管道抛出错误:“字符串缺少终止符:'。”
当我用双引号将密码硬编码到管道中时,脚本会完美执行。
Argument: -password "abcd'efgh"
当我将 DevOps 机密变量放在双引号中时,脚本会执行,但在尝试在服务器上进行身份验证时会出错,这可能是因为传递的密码是“***”。
Argument: -password "$(passwordVariable)"
这里是管道正在执行的脚本的相关部分。非常感谢任何帮助。
param(
$siteUrl,
$username,
$password
)
$encpassword = convertto-securestring -String $password -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
Connect-PnPOnline -Url $siteUrl -Credentials $cred
如何将密码输入脚本?
【问题讨论】:
-
看看这个扩展:marketplace.visualstudio.com/…这可能有用
-
@redleo85 我正面临着同样的情况。你有没有解决过这个问题(不使用市场扩展)?
-
@符号也有同样的问题。"myname@here.com"转换为"***"。如果我删除域信息,那很好,"myname"仍然是"myname"。
标签: azure-devops azure-pipelines