Дженкинс - Пауэршелл - Нужно ли избегать знаков доллара в переданных параметрах? - PullRequest
1 голос
/ 09 июля 2019

У меня есть конвейер 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)

, но соединение SQL с использованием $jkuser и $jkpass не удается. Пароль имеет $ в середине. Я попытался Write-Host $jkpass, и он показывает только часть до $, но ничего после нее. Нужно ли изменять строку перед передачей? Если да, то как?

1 Ответ

0 голосов
/ 09 июля 2019

«Спасаться» от знака доллара легко и полезно знать. В этом случае @Richard Schaefer нужно было передать всю строку пароля, включающую знак доллара.

Сохранение строки в переменной $jkpass следующим образом:

$jkpass = "thisisa$password"

Будет выводить: thisisa

Следовательно, хранение пароля в одинарных кавычках устраняет эту проблему.

$jkpass = 'thisisa$password'

Это выводит: thisisa$password

...