Насколько я читал, Powershell не может перенаправлять входные потоки. Вместо этого нужно использовать Get-Content
, чтобы передать результат целевой программе. Но похоже, что это создает текстовые потоки.
Я пытался передать двоичные данные в plink:
Get-Content client.zip | & 'C:\Program Files (x86)\PuTTY\plink.exe' unix nop
Целевая система 'unix' - это Debian с фиксированной командой в authorized_keys
file.
Это первые байты файла, которые я пытался передать:
00000000 50 4b 03 04 0a 00 00 00 00 00 6f 4a 59 50 c8 cb |PK........oJYP..|
И вот что поступило в целевую систему:
00000000 50 4b 03 04 0d 0a 00 00 00 00 00 6f 4a 59 50 3f |PK.........oJYP?|
'0a' заменяется на '0d 0a'. Я не уверен, но я предполагаю, что Get-Content
делает это.
Как передать двоичные данные с помощью Powershell?
Я уже установил Powershell 6. Я уже попробовал опции -AsByteStream -ReadCount - Сырой и я получаю разные забавные результаты. Но ничто не дает мне только точную копию почтового файла. Где опция "--stop-делать-что-с-моим-файлом"?