Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] скрипт cmd если хост не доступен по ip, то выключить определенные пк по сети (http://forum.oszone.net/showthread.php?t=346765)

Pasha8921 20-10-2020 13:45 2936981

скрипт cmd если хост не доступен по ip, то выключить определенные пк по сети
 
Добрый день, прошу помощи, нужен скрипт cmd такого плана,
Скрипт выполняется на пк1: Если ПК2 не доступен по сети в течении 5 минут, то выключить ПК1 и другие определенные ПК по сети. Помогите пожалуйста.

Elven 20-10-2020 14:11 2936985

Как проверяется доступность по сети (достаточно пинга, или должна быть доступна шара, или какой-то конкретный порт), какие средства управления доступны (чтобы выключить удаленный комп), откуда уверенность что "определенные ПК по сети" доступны на момент выключения и как поступать если они таки недоступны? Этот и многие другие вопросы будут заданы в процессе ответа на первый вопрос топика.

Pasha8921 20-10-2020 16:18 2936996

Доступность по сети - достаточно пинга
выключить удаленный ПК - как то так "shutdown -s — t 300 -m \192.168.1.12"
как поступать если они не доступны - никак, просто отправить на IP команду (без обратной связи), если доступен , то пусть выключается.

какие средства управления доступны - какие могут быть средства управления, подскажите пожалуйста ?

Elven 20-10-2020 17:23 2937006

Цитата:

Цитата Pasha8921
какие могут быть средства управления »

если есть и достаточно shutdown -m - не вижу смысла искать что-то еще.
приблизительно так можно:
Код:

@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
if not exist result.log (echo 0 > result.log)
FOR /F %%i IN (result.log) DO (
        if %%i LEQ 4 (
                set /a sum=%%i+1
                ping 127.0.0.1 | findstr -i TTL  && (
                        echo 0 > result.log
                        ) || (
                        echo !sum! > result.log
                        )
        ) ELSE (
                echo 0 > result.log
                echo shutdown -m ...)
)

Загнать в шедулер с запуском каждую минуту. Если пять минут подряд не достучался, то на шестой минуте... shutdown -m


Время: 16:54.

Время: 16:54.
© OSzone.net 2001-