Удаленное выполнение команд в системе Windows из консоли Linux. Установка из исходников Winexe 1.1 + Samba 4.5 на Debian 9 Stretch.

Задался недавно вопросом, как можно из консоли Linux, подключится к удаленной машине с ОС Windows на борту и выполнить на ней какую либо команду (прим. «ipconfig») или запустить за ранее написанный скрипт (*.bat, *.ps1).

 

В ходе поиска решения данного вопроса, был найден инструмент Winexe, который по сути является аналогом psexec под Windows. Winexe работает в связке с Samba, поэтому последняя должна присутствовать в системе.

 

Из замеченных неудобств работы с Winexe, хочу отметить что для корректного отображения «кириллицы», необходимо конвертировать вывод в UTF-8 из cp866/cp1251. Так же в случае запуска на удаленной машине «cmd», «powershell» не работают клавиши курсора, «backspace» и возможен задвоенный ввод символов.

 

Установка будет производится на Debian 9 Stretch. В ходе установки будет использоваться Fork пакета Winexe 1.1 (https://sourceforge.net/u/mstowe/winexe/ci/v0.2/tree/), а так же версия Samba 4.5.16 из стандартные репозиториев Debian.

 

Подготовка системы

Обновляем систему до актуального состояния:

Устанавливаем необходимые пакеты для сборки и работы «winexe»:

Для корректной сборки «winexe» делаем необходимые симлинки:

 

Установка Winexe

Скачиваем исходники «winexe», выполняем компиляцию и установку:

Копируем скомпилированный «winexe» в (/usr/bin):

 

Синтаксис использования «winexe»:

 

Для примера выполним на удаленной машине команду «ipconfig»:

 

Как я и писал в начале, что в случае вывода с локалью отличной от вашей, мы получим не читаемые каракули. В примере выше, вывод был получен в кодировке «cp866», а текущая локаль моей системы «UTF-8».

 

Исправить это поможет пакет «luit», рассмотрим его установку и применение ниже.

 

Установка luit

Скачиваем исходники «luit», распаковываем архив:

Выполняем сборку и установку пакета «luit»:

 

Теперь перед запуском «winexe», указываем перекодировку из «cp866» в текущую:

 

Дополнительно

Работоспособность пакета «winexe» проверил на системах Windows 7, 10, 2012R2, 2019. В случае с Windows 2012R2, 2019 пришлось на них установить компонент SMB 1.0/CIFS File Sharing Support

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (1 голос(ов), в среднем: 5,00 из 5)
Загрузка...

Всего комментариев: 2 Комментировать

  1. Realmagnum /

    в тексте pspexec — должно быть psexec.

    1. Жаконда / Автор записи

      Спасибо, поправил!

Оставить ответ

5 × один =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика