相关疑难解决方法(0)

PowerShell - 将System.Security.SecureString解码为可读密码

我想将System.Security.SecureString中的密码解码为可读密码.

$password = convertto-securestring "TestPassword" -asplaintext -force
$credentials = New-Object System.Net.NetworkCredential("TestUsername", $password, "TestDomain")
Run Code Online (Sandbox Code Playgroud)

这段代码部分工作正常,我可以使用$ credentials对象.但后来在我的代码中,我需要以可读格式输入密码.因为methode需要可读字符串中的密码.所以我必须解密密码.

如何解码$ credentials对象的密码?

更新

不工作:

$password = convertto-securestring "TestPassword" -asplaintext -force
$credentials = New-Object System.Net.NetworkCredential("TestUsername", $password, "TestDomain")

$Ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($credentials.password)
$result = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($Ptr)
[System.Runtime.InteropServices.Marshal]::ZeroFreeCoTaskMemUnicode($Ptr)
$result 
Run Code Online (Sandbox Code Playgroud)

powershell system.security powershell-2.0

21
推荐指数
5
解决办法
4万
查看次数