событие планировщика задач Windows при внешнем изменении ip

553
argaud bastien

ОБНОВЛЕНИЕ 2: я придумал этот скрипт:

@echo off  nslookup myip.opendns.com resolver1.opendns.com | Find "Address:" | Find /V "208.67.222.222" >IP_1.txt nslookup myip.opendns.com resolver1.opendns.com | Find "Address:" | Find /V "208.67.222.222" >IP_2.txt  FC IP_1.txt IP_2.txt IF %ERRORLEVEL% EQU 1 goto script IF %ERRORLEVEL% EQU 0 goto end  :script Kill_port_forwarding_SSH.bat Established_SSH.bat  :end pause 

проблема в том, что скрипт Established_SSH.batне запустится, он запустит первый, но не второй, содержимое первого скрипта таково:

plink -ssh root@145.239.79.229 -pw 28101997 fuser -k 32400/tcp 

Я снова с нетерпением жду вас, чтобы обойти это


ОБНОВЛЕНИЕ: теперь я создал два простых скрипта, которые регистрируют мой внешний ip в двух разных файлах в одном каталоге, как я могу сравнить их значения и, если они не совпадают, запустить мой скрипт?


я ищу журнал, который создают окна, если это даже делает. Когда внешний IP-адрес меняется на моем компьютере, я нахожусь на Windows 10 Pro. По сути, сейчас я пытаюсь решить эту проблему:

1

хорошо, что должен был отслеживать и выдавать журнал, когда мой внешний ip меняется, но на самом деле он просто создает журнал каждые 10 минут по какой-то причине:

2

так что я с нетерпением жду вас, если вы случайно поможете мне с этим спасибо.

ps: если вам нужна дополнительная информация, просто спросите;) ps *: это событие просто вызовет два простых скрипта.

1
Windows не знает внешний IP-адрес, поэтому вы не можете перехватить его для планировщика задач. Вам нужно будет запускать скрипт или приложение для каждого X, который ищет внешний ip через внешний сервис, такой как API whatismyip.com, и сравнивает его с результатом в прошлый раз. Tyson 6 лет назад 1
Я понимаю принцип этого, но если бы вы могли привести меня к решению, было бы неплохо. Поскольку идея сценариев такого рода вещей неясна, я думаю, что самой большой проблемой является не отслеживание и сравнение, может быть, немного. но это скорее как я могу вызвать событие в планировщике задач Windows со сценарием в качестве события argaud bastien 6 лет назад 0
См. Https://community.spiceworks.com/topic/2014380-external-ip-address-logging. Tyson 6 лет назад 0
спасибо за то, что они не говорят о том, как автоматически ввести результат в журнал, а затем всю работу по сравнению сравнения также извините, что раздражаю вас таким скучным вопросом argaud bastien 6 лет назад 0
и моя проблема в том, что я не знаю, как это сделать в Windows .. Я могу сделать это в Bash .... Tyson 6 лет назад 0
прямо сейчас у меня есть это @echo echo nslookup myip.opendns.com resolver1.opendns.com | Найти "Адрес:" | Найдите / V "208.67.222.222"> C: \ Users \ Bastien Argaud \ Desktop \ log_EXT_IP.txt pause 'в пакетном скрипте, но он просто не будет регистрировать результат, хотя сама команда, запущенная в CMD, вернет внешний ip argaud bastien 6 лет назад 0
Google о «регистрации внешних изменений IP PowerShell» это было сделано, я гарантирую, Tyson 6 лет назад 0
хорошо, ты прав, извини, я просто посмотрю вокруг, попробуй то, что я увижу, и вернусь сюда с результатом ^^ хорошего дня, спасибо еще раз argaud bastien 6 лет назад 0
Нет проблем, иногда нам просто нужно указывать в правильном направлении, чтобы начать ... Tyson 6 лет назад 0

1 ответ на вопрос

0
argaud bastien

так что я нашел свой путь, я просто упростил сценарий к этому

@echo off  :while   plink -ssh root@vps_IP -pw ******** fuser -k port/tcp plink -ssh root@vps_IP -pw ********  goto while 

поэтому я понял, что команда

fuser -k port/tcp 

закроет соединение между мной и VPS, так что это будет автоматически при сценарии.

спасибо Тайсону за его руководство :)