首页 > 解决方案 > Azure Devops 服务器密码变量参数到 powershell

问题描述

我将 Azure Devops 服务器变量中的密码传递给 powershell 方法。当变量在 AD 中标记为 ** 时,代码不起作用。但是,如果我只是将变量作为纯字符串传递,它就可以工作。

$password =  ConvertTo-SecureString -String $passwordParam -AsPlainText -Force

$Credentials= New-Object System.Management.Automation.PSCredential ( $user, $password )

Send-MailMessage -From $emailAddressFrom -To $SendTo -Subject  'Test Message' -Body $body-SmtpServer $server -port $port -UseSsl -Credential $Credentials

标签: powershellazure-devops

解决方案


秘密变量使用 2018 位 RSA 密钥进行静态加密。不太可能是普通变量,它们不会自动解密为脚本的环境变量。要将密钥传递给脚本,请使用脚本任务输入变量的 Environment 部分。

您可以参考此处了解更多详细信息。https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops-2019&tabs=classic%2Cpowershell#secret-variables


推荐阅读