Вирубуємо windows з freebsd

Вирубуємо Windows з FreeBSD через wudown


Знадобилося мені вимикати комп'ютери з Windows з FreeBSD. Все для того щоб сервак сам вирубав інші серваки і машини при осутствіе електрики.
Трохи погуглити, нічого зрозумілого не знайшов. В результаті махнув рукою і подумав, а напишу ка я свій софт для цієї справи, щоб комп'ютери можна було вирубувати по мережі. Так і зробив. За пів дня написав софт під unix на С і під windows на Delphi.
Можливо я винайшов велосипед, але для мене так простіше. =).

Віддалено з консолі вирубувати комп'ютери з ОС Windows з FreeBSD, linux, Windows
Віддалено виконувати комманду на Windows (з FreeBSD, linux, Windows) яка може
наприклад запускати какойто скрипт правильно все вирубується, бикапящій ітд.

Завершувати роботу або виконувати комманду можна тільки знаючи ip, порт, і пароль.
Комманду можна виконувати тільки ту яка прописана в конфіги софта який встановлений на машині яку потрібно вирубати, тобто не можна виконувати будь-які ліві віддалені комманди в цілях безпеки.

Софт складається з трьох програм:

Вся суть настройки сходиться в установці і налаштування сервісу (служби), інсталювати нічого непотрібно. Качаємо софт по посиланню внизу, розпаковуємо і заходимо в папку windows, в ній лежать дві папки, wudown і wudown_svc. Беремо другу wudown_svc і кладемо куданибудь на диск C:
запускаємо service_install.cmd, має з'явитися "Service installed successfully!"
Потім відкриваємо settings.ini і бачимо

тут все наочно і просто, вказуємо порт який слухати, пароль. У exec = вказується комманда або файл який потрібно виконати. Якщо в exec буде вказано шлях або комманда наприклад calc.exe, тоді сервіс не буде вирубувати комп, а тільки виконає те що зазначено в exec =. Загалом щось одне, або вирубати або виконати комманду.

Хочу зауважити, що сервіс, тому що він сервіс, то що він виконує - виконується в фоновому режимі і якщо є якісь Вікна у виконуваного застосування (наприклад calc.exe) вони не будуть малюватися на екрані. Але процес буде успішно працювати і висіти в диспетчері до завершення.

Отже, службу встановили, конфиг налаштували, Терера запускаємо: service_start.cmd. На цьому настройка вирубуваних машини закінчена, не забудьте про фаєрвол і порт.
В папці src лежать вихідні цього сервісу на delphi 7

Тепер, для того щоб вирубати цей комп по мережі, потрібно виконати:

Тепер для FreeBSD

Тамже в розпакованому архіві бачимо папку unix, в ній лежить архів wudown.tar.gz розпакувати який побачимо два файли:
wudown - готова відкомпільоване програма
wudown.c - вихідні кому потрібно.
використання таке ж як і з wudown.exe.

Ще для зручності можна скопіювати wudown в / usr / local / bin / і зробити rehash щоб зручніше було користуватися.

Схожі статті