这可以按预期工作,它在菜单循环中运行,并且我能够存储和解密凭据。
但是,因为这是循环菜单(为了能够运行不同的命令),所以每次循环重新启动时都要求提供用户/密码对话框。
有人对如何更改此密码有任何想法吗?这样一来,一旦输入用户名/密码,然后再运行,就不会再询问该会话的密码了吗?
我以为我需要获取凭证的条件,但我不确定..(部分但相关的部分,因为菜单很长。
感谢任何输入
LoadMenuSystem
$Key = New-Object Byte[] 32
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($Key)
$Key | Out-File AES.key
(get-credential).Password | ConvertFrom-SecureString -key (get-content AES.key) | set-content "AESPassword.txt"
$password = Get-Content AESPassword.txt | ConvertTo-SecureString -Key (Get-Content AES.key)
$credential = New-Object System.Management.Automation.PsCredential($env:userName,$password)
$ServerName = Read-Host -Prompt "What is the server name?"
$Command = ".\myProgram"
$arg1 = '-t'
$arg2 = $credential.GetNetworkCredential().username+'@'+$ServerName
$arg3 = '-pw'
$arg4 = $credential.GetNetworkCredential().Password
$arg5 = $scriptcmd