Я хочу декодировать пароль из System.Security.SecureString в читаемый пароль.
$password = convertto-securestring "TestPassword" -asplaintext -force
$credentials = New-Object System.Net.NetworkCredential("TestUsername", $password, "TestDomain")
Эта часть кода работает нормально, я могу использовать объект $ credentials.
Но позже в моем коде мне нужен пароль в читаемом формате. Потому что методу нужен пароль в читаемой строке. Поэтому я должен расшифровать пароль обратно.
Как можно декодировать пароль из объекта $ 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