Вопрос по загрузке ВинХР

Все, что не подходит под определение "старого софта и железа", обсуждается здесь
Аватара пользователя
CodeMaster
Advanced Member
Сообщения: 7669
Зарегистрирован: 27.08.2010,11:17
Откуда: Воронеж
Контактная информация:

Вклад в сообщество

Вопрос по загрузке ВинХР

Сообщение CodeMaster » 10.09.2020,21:06

pahan писал(а): 10.09.2020,20:29 Сетевой интерфейс в момент его срабатывания ещё не обязательно поднят, поэтому всё равно писать свой скрипт, который сначала будет проверять (через wmi, например), что сеть вообще доступна и уже потом делать нужные действия.
Ну, и в чём проблема?
"Во времена всеобщей лжи говорить правду - это экстремизм" © Джордж Оруэлл, "1984"

pahan
Advanced Member
Сообщения: 4455
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Вопрос по загрузке ВинХР

Сообщение pahan » 10.09.2020,21:22

Исходная проблема - ТС нужно с машины А узнать, когда на машине Б поднимется служба rdp и машина А станет доступна по сети. Если предлагается для этого исполнять скрипт на машине Б, стучащийся наружу, то:
1) момент запуска скрипта по условию "загрузка компьютера" и наличие в этот момент сетевого соединения между собой не связаны никак. Значит, ваш скрипт все равно должен сначала ждать установки сетевого соединения, а значит, когда именно и по какому условию он будет запущен - особо не принципиально. Можно хоть по времени поставить каждую минуту ломиться и вообще ничего внутри скрипта не проверять ;)
2) зачем вообще предлагать сторонний планировщик, если с этими задачами справляется штатный?
3) зачем вообще вешать на планировщик задачу со стартом "при загрузке", если такие задачи обычно принято вешать в политике безопасности? И да, это отдельная служба и задачи, определенные в этих двух местах, будут совершенно независимы. Это ещё про папку Автозагрузка и Run в реестре не вспоминаем ;)
Последний раз редактировалось pahan 11.09.2020,10:31, всего редактировалось 1 раз.

Аватара пользователя
CodeMaster
Advanced Member
Сообщения: 7669
Зарегистрирован: 27.08.2010,11:17
Откуда: Воронеж
Контактная информация:

Вклад в сообщество

Вопрос по загрузке ВинХР

Сообщение CodeMaster » 10.09.2020,21:42

pahan писал(а): 10.09.2020,21:22 Значит, ваш скрипт все равно должен сначала ждать установки сетевого соединения
Да мне похрен вообще. ТС засомневался как запустить скрипт без логона, я подсказал, а дальше извините - напрягите извилины.
pahan писал(а): 10.09.2020,21:22 зачем вообще предлагать сторонний планировщик
Для большего разнообразия. Не удивлюсь, что есть утилиты уже со всем необходимым функционалом под эту задачу, но мне искать лень, я бы написАл скрипт.
pahan писал(а): 10.09.2020,21:22 зачем вообще вешать на планировщик задачу со стартом "при загрузке", если такие задачи обычно принято вешать в политике безопасности?
От перестановки слагаемых сумма не меняется.
"Во времена всеобщей лжи говорить правду - это экстремизм" © Джордж Оруэлл, "1984"

rw6hrm
Advanced Member
Сообщения: 1110
Зарегистрирован: 17.02.2008,16:07
Откуда: Ставрополь
Контактная информация:

Вклад в сообщество

Вопрос по загрузке ВинХР

Сообщение rw6hrm » 10.09.2020,21:57

Решение нашлось, причём всё переложено на подключающегося пользователя (т.е. на третью машину).
Раз у нас есть веб-сервер (а у нас он есть, на РаспберриПи, она ещё и включает удалённый комп своими стандартными функциями через веб-морду, да и много чем ещё занимается), прикрутили к нему пхп с поддержкой сокетов. Написали пхп-страничку, которая от пользователя и стучит в порт рдп (особо с кодом не парились, поэтому стучит один раз, затем рефреш через десяток секунд). Как только достучались - цвет окна меняется. Можно запускать удалёнку.
Код ниже - не моего авторства! Спасибо другу.

Код: Выделить всё

<?php
$host = 'HOST.IP.AD.DR';
$port = PORT;
$timeout = 3; //seconds
$connection = @fsockopen($host, $port, $errno, $errstr, $timeout);
if (is_resource($connection)) {
echo "<body bgcolor=\"#00FF00\">";
}
else {
echo "<body bgcolor=\"#FF0000\">";
}
?>
Выглядит страничка запуска компа очень скромно:
Буфер обмена-2.jpg
Буфер обмена-2.jpg (11.75 КБ) 473 просмотра
Вопросами авторизации пока не парились. Нажимаем кнопку, красное окошко сменяется жёлтым, затем зелёным, когда рдп доступно. Окошко - обычный ифрейм. живущий собственной жизнью.
Засим всем спасибо за советы. Кое-чего мудрого почерпнул для других приложений.
http://rw6hrm.qrz.ru - Мои поделки

geg
Advanced Member
Сообщения: 12303
Зарегистрирован: 21.11.2010,12:04

Вопрос по загрузке ВинХР

Сообщение geg » 10.09.2020,22:09

pahan писал(а): 10.09.2020,21:22 Исходная проблема - ТС нужно с машины А узнать, когда на машине Б поднимется служба rdp и машина А станет доступна по сети.
Исходная проблема - ТС нужно с машины А узнать, когда на машине Б поднимется служба rdp и с машины А запустить клиентское ПО, для подключения к серверу rdp, запустившемуся на машине Б.
rw6hrm писал(а): 10.09.2020,21:57 Решение нашлось, причём всё переложено на подключающегося пользователя (т.е. на третью машину).
рукалицо.

pahan
Advanced Member
Сообщения: 4455
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Вопрос по загрузке ВинХР

Сообщение pahan » 11.09.2020,11:00

Исходная проблема - ТС нужно с машины А узнать, когда на машине Б поднимется служба rdp и с машины А запустить клиентское ПО, для подключения к серверу rdp, запустившемуся на машине Б.
Ну да, ошибся немного в именованиях. Но кстати, служба rdp прекрасно поднимется и без сетевого подключения, так что при проверке с Б проверять надо оба этих события. А извне - да, достаточно проверять порт.
От перестановки слагаемых сумма не меняется.
Ещё как меняется. Увидел бы такое (скрипт на запуск в планировщике) в боевой системе - яйца бы оторвал. Потому что задачи планировщика - суть файлы в определенной папке и прописать им ACL, так что остальные кто станет работать с этой машиной их вообще не увидят без дополнительных действий - как нефиг делать. А с групповой политикой такой фокус чуть менее очевиден ;) Про разные службы уже напоминал - если отключенный планировщик почти ни на что не влияет, то отключенная групповая политика - плохая идея ;)

Ответить