Удалённое выключение компа... (1 Viewer)

StasX4

Portal Member
May 20, 2009
43
0
Всем привет!
Решил с помощью кнопки пульта:
1. Выключить телевизор и ресивер.
2. Усыпить сервер(комп-медиасервер). На нём у меня хранятся видеофайлы и музыка.
3. Усыпить ноут(комп-медиаплеер)
Реализовал всё кроме выключения сервера, а он он не даёт спать ну никак. Стандартными методами в Windows 7 не сделаешь (даже через shutdown.exe). Вот написал программу, которая это позволяет сделать.

На счёт shutdown.exe в "читать далее"
[cut]
1. shutdown не совсем корректно работает
2. shutdown не уводит в ждущий режим, а только выключение, перезагрузка и гибернация(W7)
3. shutdown заставить работать для удалённого выключения в W7 - это ещё тот танец с бубнами
4. shutdown не уводит в гибернацию удалённую машину

Выдержка из хелпа shutdown W7:
Code:
Использование: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
    [/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c "комментарий"]]

    Без пар.   Отображение справки. То же, что и с параметром /?.
    /?         Отображение справки. То же, что и без параметров.
    /i         Отображение графического интерфейса пользователя. Этот параметр должен быть первым.
    /l         Завершение сеанса. Этот параметр нельзя использовать с параметрами /m или /d.
    /s         Завершение работы компьютера.
    /r         Завершение работы и перезагрузка компьютера.
    /g         Завершение работы и перезагрузка компьютера. После перезапуска системы, запуск всех зарегистрированных приложений.
    /a         Отмена завершения работы системы. Этот параметр можно использовать только в период ожидания.
    /p         Немедленное отключение локального компьютера без предупреждения. Можно использовать с параметрами /d и /f.
    /h         Переключение локального компьютера в режим гибернации. Можно использовать с параметром /f.
    /e         Указание причины непредвиденного завершения работы компьютера.
    /m \\компьютер Указание конечного компьютера.
    /t xxx     Задание задержки в xxx секунд перед завершением работы компьютера. Допустимый диапазон: 0-315360000 (10 лет); значение по умолчанию: 30. Если период таймаута больше 0, применяется
               параметр /f.
    /c "комментарий" Комментарий с причиной перезапуска или завершения работы. Наибольшая длина - 512 знаков.
    /f         Принудительное закрытие запущенных приложений без предупреждения пользователей. Параметр /f используется, если для параметра /t задано значение больше 0.
    /d [p|u:]xx:yy  Необходимо указать причину для перезагрузки или выключения.
               "p" означает запланированную перезагрузку или завершение работы.
               "u" означает, что причина определяется пользователем.
               Если не задано ни "p", ни "u", перезагрузка или завершение работы

               являются незапланированными.
               xx является основным номером причины (целое положительное число,
меньшее 256).
               yy является вспомогательным номером причины (целое положительное
число, меньшее 65536).
[/cut]___

Для клиента(комп-медиаплеер), где установлен IRSS:Путём отправки команды TCP Message через транслятор с таким видом:
IP Address: 192.168.0.2 (IP адрес сервера)
Port: 1024 (порт, по которому слушает сервер)
TEXT: SUSPEND (если нужно усыпить)
TEXT: HIBERNATE (если нужно послать в гибернацию)
____
Для сервера установить приложенную программу.
1. Устанавливаем программу

2. Запускаем программу и входим в настройку
3. Если хотим принимать команды сна/гибернации с любого IP, то нажимаем на кнопку "Любой", а если с определённых IP или хостов, просто вводим IP адрес или имя хоста клиента(компа-медиаплеера).
4. Устанавливаем порт, по которому будет слушать сервер команды (вводим тот же, что и ввели для клиента при отправке TCP Message)
5. Также можно Установить автоматический запуск при входе в винду... По умолчанию включено.
_____________________________________
Изменения:
22 декабря 2010 - Добавил инсталлятор и логирование в файл.
23 декабря 2010 - Добавил возможность принимать команды с нескольких заранее заданных адресов, а также ввод не только IP, но и имени хоста.
Удачи!
 

kerber

Portal Pro
November 24, 2008
1,210
6
Russian Federation Russian Federation
Все выяснения отношений - в личке.
Понравилась прога-скажите спасибо
Не понравилась-промолчите, никто не заставляет ей пользоваться.
Если человек написал ее, значит посчитал нужным и ему так удобно.
 

myhnet

Portal Pro
February 11, 2009
1,733
4
Russian Federation Russian Federation
StasX4
по пункту 3. (сразу оговорюсь я вашей программкой не пользовался, у меня все на одном единственном HTPC) просто как предложения:
1. а нельзя ли предусмотреть не только единственный IP или все, а например несколько IP, для случая если клиентов в домашней сетке несколько, но не с каждого можно\нужно рулить (понимаю, что можно просто на клиенте в IRSS это не прописывать, но всеже вдруг пригодится, на сервачке добавил или убрал и все).
2. если адреса в сетке по DHCP раздаются т.е. могут меняться, как быть, а разрешать все не хочется, как бы тоже предусмотреть.

но в монстра конечно, программку превращать не стоит. Хм, а если вообще сделать подобное плагином для портала к примеру, подумай на досуге.
 

StasX4

Portal Member
May 20, 2009
43
0
@myhnet
1. Можно, конечно... Подумаю как лучше реализовать... Думаю, что в следующих версиях появится... :)
2. Тут есть два варианта. По имени компа попытаться прогу переделать или просто забить назначение IP по мак адресу в DHCP серевере.
3. Как плагин? Ух... Я с этим ещё не работал даже... Если я знал как писать плагины, то я уже такого-бы наковырял... :)
 

StasX4

Portal Member
May 20, 2009
43
0
@myhnet
Первый и второй пункты сделал... :) Обновил прогу в шапке, а также описание.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Top Bottom