Где хранятся входные значения при использовании $ host.ui.PromptForCredential? - PullRequest
0 голосов
/ 24 мая 2018

В следующем коде, где система хранит значение для $ Credential?

$Credential= $host.ui.PromptForCredential("","Please Enter Your domain username, eg. user1@contoso.com","","")

Что происходит со значением после выполнения кода?

Извините за очень простые вопросы ... просто хочу быть уверенным в любых последствиях безопасности для сценария, который я делаю.Я также надеялся, что мне удастся найти статью MSDN / TechNet, специально посвященную этому вопросу.

Большое спасибо.

1 Ответ

0 голосов
/ 24 мая 2018

Во-первых, вы должны использовать Get-Credential вместо этого - это проще и выполняет ту же работу:

$credential = Get-Credential -Message "Please Enter Your domain username, eg. user1@contoso.com"

Оба метода создают объект PsCredential, ссылка на которыйхранится в $credential.Пароль хранится в памяти как SecureString, чтобы обеспечить его безопасность, и не записывается на диск, в реестр и т. Д., Если только вы не сделаете это иначе:

PS C:\> $credential

UserName                        Password
--------                        --------
domain\user System.Security.SecureString

Итак,это безопасно от случайных попыток читать.Однако это не совсем безопасно:

PS C:\> $credential.GetNetworkCredential() | Format-List *   

UserName       : user
Password       : Password123
SecurePassword : System.Security.SecureString
Domain         : domain
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...