PowerShell - Decodificar System.Security.SecureString para contraseña legible

Quiero decodificar la contraseña de un System.Security.SecureString a una contraseña legible.

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

Esta parte del código funciona bien, puedo usar el objeto $ credentials. Pero más adelante en mi código necesito la contraseña en un formato legible. Porque un método necesita la contraseña en una cadena legible. Entonces debo decodificar la contraseña de nuevo.

¿Cómo es posible decodificar la contraseña del objeto $ credentials?

Actualiza

No funciona

$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 

Respuestas a la pregunta(4)

Su respuesta a la pregunta