Получите SecureString как параметр простого текста - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь получить SecureString в виде простого текстового параметра в командной строке PowerShell.

Я знаю, какова форма безопасной строки. Например, строка «abc» будет безопасной строкой «71289371289».

Затем я хочу передать «71289371289» в качестве параметра скрипту (запуск его из командной строки), который будет моей безопасной строкой, а затем расшифровать его до открытого текста, чтобы передать его другой вызываемой программе. от Powershell.

Как бы я сделал что-то подобное?

Обновление:

Я закончил тем, что использовал Credfile с PSCredential для сохранения учетных данных при перезагрузке, пока сценарий не будет завершен.

1 Ответ

0 голосов
/ 25 января 2019

Вы можете преобразовать его обратно в простой текстовый пароль с SecureStringToBSTR:

Param(
    $securestring = (Read-Host -AsSecureString)
)
Write-Host "Encrypted Password: $(ConvertFrom-SecureString $securestring)"
$ClearText = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($securestring))
Write-Host "Original Password: $ClearText"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...