Я пытаюсь создать простую функцию PowerShell для использования команды ssh в стиле Linux.Например:
ssh username@url
Я использую plink для этого, и эту функцию я написал:
function ssh {
param($usernameAndServer)
$myArray = $usernameAndServer.Split("@")
$myArray[0] | C:\plink.exe -ssh $myArray[1]
}
Если правильно введеноuser, $ myArray [0] - это имя пользователя, а $ myArray [1] - это URL.Таким образом, он подключается к URL-адресу, и когда вам предлагается ввести имя пользователя, имя пользователя передается по конвейеру.Все работает отлично, за исключением того, что конвейер продолжает вводить имя пользователя ($ myArray [0]), и оно вводится как пароль снова и снова.Пример:
PS C:\Users\Mike> ssh xxxxx@yyyyy
login as: xxxxx@yyyyy's password:
Access denied
xxxxx@yyyyy's password:
Access denied
xxxxx@yyyyy's password:
Access denied
xxxxx@yyyyy's password:
Access denied
xxxxx@yyyy's password:
Access denied
xxxxx@yyyyy's password:
FATAL ERROR: Server sent disconnect message
type 2 (protocol error):
"Too many authentication failures for xxxxx"
Если имя пользователя было заменено на xxxxx, а URL-адрес был заменен на yyyyy.
По сути, мне нужно выяснить, как остановить сценарий в конвейере вимя пользователя ($ myArray [0]) после его однократного ввода.
Есть идеи?Я искал решение по всему интернету и ничего не нашел.