我有一个Jenkins管道,可以通过Powershell插件调用Powershell脚本。管道使用withCredentials将Powershell的用户/密码在SQL连接中使用到变量中。我将它们作为属性传递给命令:
def psCmd="./Set-CheckmarxTeams -server ${server} -jkuser $sqluser -jkpass $sqlpass"
脚本将它们定义为参数:
param ([string]$server='ad1hfddbst930\shared',[string]$jkuser,[string]$jkpass)
,但是使用$jkuser
和$jkpass
的SQL连接失败。密码中间有一个$
。我尝试Write-Host $jkpass
,但只显示了$
之前的部分,但之后没有任何内容。我需要在传递字符串之前对其进行修改吗?如果可以,怎么办?
答案 0 :(得分:0)
“逃脱”美元符号既容易又容易知道。在这种情况下,@ Richard Schaefer需要传递包含美元符号的密码的整个字符串。
像这样将字符串存储在$jkpass
变量中:
$jkpass = "thisisa$password"
将输出:thisisa
因此,用单引号存储密码可以消除此问题。
$jkpass = 'thisisa$password'
这将输出:thisisa$password