powershell - 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
解决方案
秘密变量使用 2018 位 RSA 密钥进行静态加密。不太可能是普通变量,它们不会自动解密为脚本的环境变量。要将密钥传递给脚本,请使用脚本任务输入变量的 Environment 部分。
您可以参考此处了解更多详细信息。https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops-2019&tabs=classic%2Cpowershell#secret-variables
推荐阅读
- angular - 数据绑定后更改样式
- bash - 如何组合两个多行输出命令?
- c++ - 无法防止来自不同用户的同一程序的多个实例
- google-cloud-platform - 在不破坏构建日志的情况下并行化 google cloudbuild 步骤
- powershell - 在 AD 的 OU 中搜索登录到多台计算机的用户的最快方法
- c++11 - 为什么我会收到错误“使用临时作为左值”
- sql-server - SQL Server:从 jpeg 文件更新二进制数据以获取多个 jpeg 文件
- python-3.x - python“请求”如何提供历史url数据?
- multithreading - 在 perl 中将线程队列对象作为对象变量传递
- css - 代码的第一个 CSS 声明适用于内部样式表,但不适用于外部样式表