,所以我想为本地用户保存安全的字符串变量类型。这样,我可以运行一个转换式搜索,以在.ps1文件中进行REST API调用,而无需访问密码。我正在尝试什么?
我正在使用的代码在下面,但尚未工作:
$PlainPassword = "atestpassword"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
[Environment]::SetEnvironmentVariable('JiraCreds', $SecurePassword, "User")
环境变量仅保存为字符串,而无需支持其他数据类型?
是的,环境变量始终是 strings ,并且[securestring]
实例无法直接使用,因为其字符串表示仅仅是其类型名称(System.Security.SecureString
(。p>但是,您可以管道到ConvertFrom-SecureString
以获取(仍然加密的(字符串表示:
$PlainPassword = "atestpassword" # Don't actually store this in your script.
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force |
ConvertFrom-SecureString
[Environment]::SetEnvironmentVariable('JiraCreds', $SecurePassword, "User")
以后使用环境变量构建[pscredential]
实例(以当前用户的用户名为例(:
$cred = New-Object pscredential $env:USERNAME, (ConvertTo-SecureString $env:JiraCreds)