【发布时间】:2023-11-16 01:52:01
【问题描述】:
我在 Powershell 中使用了一个脚本,该脚本使用来自 API 的用户名和密码发出 Web 请求。由于是共享计算机,出于安全原因,我想加密用户和密码。 这是我使用的基本网络请求(我从堆栈溢出中的其他 question 获得):
$user = 'user'
$pass = 'pass'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
Authorization = $basicAuthValue
}
Invoke-WebRequest -Uri 'https://whatever' -Headers $Headers
我的问题是我没有找到加密用户和密码变量的方法,尝试使用 ConvertTo-SecureString 和 convertTFrom-SecureString,但它不起作用。我想知道是否有办法将加密的凭据保存在文件或其他方式中。无需保存为环境变量并避免获取凭据,因为我想将脚本作为任务自动化。
如有任何疑问,请发表评论。
感谢观看,祝您编码愉快。
问候
【问题讨论】:
-
您是否尝试过此处详细介绍的任何内容:purple.telstra.com.au/blog/… 或者您可以尝试使用机密管理模块:devblogs.microsoft.com/powershell/…
标签: powershell encryption credentials webrequest