【问题标题】:How to save credentials of technical user in PowerShell如何在 PowerShell 中保存技术用户的凭据
【发布时间】:2017-09-25 10:09:48
【问题描述】:

我们有多个需要技术用户凭据的 PowerShell 脚本。

  • 有什么好的方法可以安全地/散列地存储这些凭据,同时让每个有权运行脚本的用户都可以使用它们?

我们尝试将散列作为安全字符串,但这需要每个用户对凭据进行散列,因为安全字符串与用户的个人资料相关联。

我尝试实现这样的事情没有成功:

“以管理员身份运行脚本->单击是对话框->切换到技术用户->取消哈希凭据->以登录用户身份重新哈希->保存到文件”

(用户确实有管理员权限)

我可以让每个用户输入一次凭据,然后将用户特定的哈希值保存到文件中。但我认为有一个我还没有找到的最佳实践。

【问题讨论】:

    标签: powershell


    【解决方案1】:
    $username = "user1@domain.com"
    $pwdTxt = Get-Content "C:\temp\Stored_Password.txt"
    $securePwd = $pwdTxt | ConvertTo-SecureString 
    $credObject = New-Object System.Management.Automation.PSCredential -ArgumentList $username, $securePwd
    # Now, $credObject is having the credentials stored and you can pass it wherever you want.
    
    
    ## Import Password with AES
    
    $username = "user1@domain.com"
    $AESKey = Get-Content $AESKeyFilePath
    $pwdTxt = Get-Content $SecurePwdFilePath
    $securePwd = $pwdTxt | ConvertTo-SecureString -Key $AESKey
    $credObject = New-Object System.Management.Automation.PSCredential -ArgumentList $username, $securePwd
    
    # Now, $credObject is having the credentials stored with AES Key and you can pass it wherever you want.
    

    您可以使用任何密钥来加密凭据,同样您也可以解密。 希望对您有所帮助。

    【讨论】:

    • 您的 AES 示例正是我想要的。谢谢!
    • @Lerkes:如果这个例子对你有帮助,那么你可以投票给这个例子,因为它也会帮助其他人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 2017-03-10
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多