我想将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)