相关疑难解决方法(0)

如何使用powershell的读取主机功能来接受外部服务的密码?

我有一个脚本,我写的是连接到SOAP服务.建立连接后,我需要使用我发送的每个命令传入用户名/传递.我遇到的问题是,当我使用read-host执行此操作时,我的密码以明文形式显示并保留在shell中:

PS C:\Users\Egr> Read-Host "Enter Pass"
Enter Pass: MyPassword
MyPassword
Run Code Online (Sandbox Code Playgroud)

如果我使用-AsSecureString隐藏它,则该值不能再传递给服务,因为它现在是System.Security.SecureString对象:

PS C:\Users\gross> Read-Host "Enter Pass" -AsSecureString
Enter Pass: **********
System.Security.SecureString
Run Code Online (Sandbox Code Playgroud)

当我通过它时,它不起作用.我不关心以明文形式传递给服务的密码,我只是不希望它们在输入密码后粘在用户的shell上.是否可以隐藏Read-Host输入,但仍然将密码存储为明文?如果没有,有没有办法可以将System.Security.SecureString对象作为明文传递?

谢谢

powershell user-input securestring powershell-2.0

23
推荐指数
2
解决办法
3万
查看次数