Как отобразить подсказку для ввода пароля в Power Shell при использовании param () - PullRequest
0 голосов
/ 27 июня 2018

Как сделать так, чтобы поле пароля отображалось как приглашение для пользователя в контексте параметра функции?

Это код, который у меня уже есть:

param(
  [Parameter(Mandatory=$true,HelpMessage="Enter Appliance Host Name")][string]$hostname,
  [Parameter(Mandatory=$true,HelpMessage='Enter Appliance Username')][string]$username,
  [Parameter(Mandatory=$true,HelpMessage='Enter Appliance Password')][string]$password,

  [Parameter(Mandatory=$false,HelpMessage='Enter Appliance Proxy if required')][string]$proxy=""
)

1 Ответ

0 голосов
/ 27 июня 2018

Вы можете запустить метод в параметрической части функции.

Попробуйте запустить его так:

param(
  [Parameter(Mandatory=$true,HelpMessage="Enter Appliance Host Name")][string]$hostname,
  [Parameter(Mandatory=$false,HelpMessage="Enter Credentials here")][System.Management.Automation.PSCredential]$Credential = (Get-Credential)
  [Parameter(Mandatory=$false,HelpMessage='Enter Appliance Proxy if required')][string]$proxy=""
)

Вы также можете проанализировать имя пользователя и пароль непосредственно для функции и создать объект учетных данных в функции:

param(
  [Parameter(Mandatory=$true,HelpMessage="Enter Appliance Host Name")][string]$hostname,
  [Parameter(Mandatory=$true,HelpMessage='Enter Appliance Username')][string]$username,
  [Parameter(Mandatory=$true,HelpMessage='Enter Appliance Password')][string]$password,
  [Parameter(Mandatory=$false,HelpMessage='Enter Appliance Proxy if required')][string]$proxy=""
)
$password = ConvertTo-Securestring -string $password -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ("$username", $password)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...