Aufgrund von Sonderzeichen kann die Kennwortvariable in Powershell nicht verarbeitet werden.

Aufgrund von Sonderzeichen kann die Kennwortvariable in Powershell nicht verarbeitet werden.

Ich arbeite an einem PS-Skript, um VSTS-Agenten über eine Azure DevOps Release Pipeline auf meinen Azure-VMs zu installieren.

Hier im folgenden Skript übergebe ich ein Service-Konto-Passwort, das von meinen Kunden festgelegt wird. Das folgende Skript schlägt fehl, wenn das Passwort aus Sonderzeichen besteht, wie

")';:(

Code:

 .\config.cmd --deploymentgroup --deploymentgroupname DeployGroupSQL --agent $env:COMPUTERNAME --runasservice --windowsLogonAccount $(ServiceAccountUser) 
--windowsLogonPassword **"$(Service_Account_Password)"** --work '_work' 
--adddeploymentgrouptags --deploymentgrouptags $SQL 
--url 'https://dev.azure.com/campusmgmt-product-development/' 
--projectname 'Student' --auth PAT --token u4bq6j******************************bhhyq; 

Ich habe versucht, das gesamte Passwort in doppelte und einfache Anführungszeichen zu setzen, aber das hat nicht geholfen.

Dieses Dienstkontokennwort ist eine Pipeline-Variable und muss daher wie $(Service_Account_Password) übergeben werden.

Können Sie mir bitte einen Vorschlag machen, wie ich mit dieser Situation umgehen kann? Ich habe bereits versucht, dies als Here-String, Secure-String oder Skriptparameter einzufügen, aber das hat nicht geholfen.

Ich hoffe, bald eine Antwort zu erhalten, da dies für die Veröffentlichung meines Projekts dringend ist.

verwandte Informationen