Извините, если мой вопрос тривиален; Я новичок в PowerShell.
Моя программа (plink) ожидает ответа от клавиатуры и выдаст некоторый вывод. Можно ли перенаправить вывод в переменную / файл?
Подробности:
(Я назначаю саму команду переменной для удобства.)
Без перенаправления вывода - Консольный вывод в порядке:
PS C:\Users\user> $mycmd="plink -v -ssh -l $user $myserver vncserver -list"
PS C:\Users\user> invoke-expression $mycmd
user@server's password:
TigerVNC server sessions:
X DISPLAY # PROCESS ID
:1 26788
PS C:\Users\user>
Однако с перенаправлением вывода в переменную:
PS C:\Users\user> $myoutput=invoke-expression "$mycmd"
... все еще жду в этом состоянии ==> Я набираю свой passwd вслепую (приглашение passwd записывается в $ myoutput)
PS C:\Users\user> $ myoutput
пароль пользователя @ сервера:
Сеансы TigerVNC-сервера:
X DISPLAY # ID ПРОЦЕССА
PS C:\Users\ сервер>
Переменная $ myoutput с содержимым в порядке, но запрос пароля также перенаправляется в переменную!
Мой pbm теперь состоит в том, как сделать использование всеобъемлющим: пользователь не может угадать при вводе своего пароля :( (то есть, как обработать запрос пароля?)
Замечания: подробный режим plink (plink -v ...) все еще выводится на консоль при перенаправлении на $ myoutput
$ myoutput = invoke-выражение "$ mycmd"
Looking up host "server"
Connecting to xxx.XXX.XXX.XXX port 22
We claim version: SSH-2.0-PuTTY_Release_0.66
Server version: SSH-2.0-OpenSSH_7.4
Using SSH protocol version 2
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-256
Host key fingerprint is:
ssh-rsa 2048 blabklablablablabla
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA-256 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA-256 server->client MAC algorithm
Using username "user".
Using SSPI from SECUR32.DLL
Attempting GSSAPI authentication
GSSAPI authentication initialisation failed
The target was not recognized.
Я ввожу свой пароль здесь (в темноте)
Sent password
Access granted
Opening session as main channel
Opened main channel
Started a shell/command
Server sent command exit status 1
Disconnected: All channels closed