Использование привязки параметров - определенно путь сюда. Это не только очень быстро писать (просто добавьте [Parameter(Mandatory=$true)]
над вашими обязательными параметрами), но это также единственный вариант, который вы не будете ненавидеть позже.
Подробнее ниже:
[Console]::ReadLine
явно запрещен правилами FxCop для PowerShell. Зачем? Поскольку он работает только в PowerShell.exe, а не в PowerShell ISE , PowerGUI и т. Д.
Read-Host довольно просто, плохая форма. Read-Host неконтролируемо останавливает сценарий для запроса пользователя, а это значит, что у вас никогда не будет другого скрипта, который включает скрипт, который использует Read-Host.
Вы пытаетесь задать параметры.
Вы должны использовать атрибут [Parameter(Mandatory=$true)]
и правильную настройку, чтобы запросить параметры.
Если вы используете это на [SecureString]
, оно предложит ввести поле пароля. Если вы используете это в типе Credential, ([Management.Automation.PSCredential]
), откроется диалоговое окно учетных данных, если параметр отсутствует. Строка станет просто старым текстовым полем. Если вы добавите HelpMessage в атрибут параметра (то есть [Parameter(Mandatory = $true, HelpMessage = 'New User Credentials')]
), он станет справочным текстом для подсказки.
Я исправил это, обновив SSH-клиент Bitvise с 7.27 до версии 7.41.
Обновление до последней версии Bitvise SSH Client помогло мне решить эту проблему.
(с версии 7.39 до 7.45)
Я решил эту проблему путем обновления до последней версии.
Я решил эту проблему, запустив bitvise в режиме совместимости с windows 7