我正在使用 azure devops 构建项目服务器解决方案。
在我的发布管道中,我有多个 powershell 脚本,它们需要用户凭据作为参数。密码保存在 DevOps 中的一个秘密变量中,并包含一个单引号。
Password: abcd'efgh
Run Code Online (Sandbox Code Playgroud)
这会导致管道抛出错误:“字符串缺少终止符:'。”
当我用双引号将密码硬编码到管道中时,脚本会完美执行。
Argument: -password "abcd'efgh"
Run Code Online (Sandbox Code Playgroud)
当我将 DevOps 秘密变量放在双引号中时,脚本会执行,但在尝试在服务器上进行身份验证时出现错误,可能是因为传递的密码是“***”。
Argument: -password "$(passwordVariable)"
Run Code Online (Sandbox Code Playgroud)
这是管道正在执行的脚本的相关部分。任何帮助是极大的赞赏。
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
Run Code Online (Sandbox Code Playgroud)
如何将密码输入脚本?