Консультация № 52503
18.08.2006, 12:57
0.00 руб.
0 8 1
Добрый день! Такой вопрос, У меня выделенка, но с динамическим ip. Нужна програма которая будет следить за с меной ip и при смене его будет высылать или на мыло или на аську новый ip. Возможно ли такое?????

Обсуждение

Неизвестный
18.08.2006, 13:26
общий
это ответ
<b><font color=800000>Ответ удален, как неверный (или вредный) и помещен для обсуждения в ветку форума "О деятельности экспертов и работе портала/Удаленные ответы для обсуждения".</b></font>
<i>Lexandros</i>
давно
Бакалавр
19238
405
23.08.2006, 13:34
общий
Создайте себе файл под название на пример IPAddress.vbs, и скопируйте содержимого приложение, поправьте параметры почты и временного файла C:\Temp\Logfile.txtСам файл пропишите его в шадулерБудут вопросы пишите на мини форум. Удаче----------------------------------Set IPConfigSet = GetObject("winmgmts:").ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where ((IPEnabled = TRUE) And (MacAddress != NULL) And (SettingID != NULL))")‘еребор всех сетевых карт работающихFor Each IPConfig In IPConfigSet If Not IsNull(IPConfig.IPAddress) Then For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress) ‘Получение IP strNIC = IPConfig.IPAddress(i) Next ‘Снятие точек strcut = Replace(strNIC, ".", "") ‘Вызов функций для запись в файл или проверки Call Logfile(strcut) End IfNext ‘функций для запись в файл или проверкиFunction Logfile(ip_address) Const StrLogFile = "C:\Temp\Logfile.txt" Set oFS = CreateObject("Scripting.FileSystemObject") If (oFS.FileExists(StrLogFile)) Then ‘ Чтение из файла Set oTS = oFS.OpenTextFile(StrLogFile, 1, True) ‘Преобразование в длинное число fromlog = CLng(oTS.ReadLine) If ip_address = fromlog Then ‘Если числи одинаковы не чего не делать Else ‘Если числи разное ‘Вызов функций отправки на почту Call Mailing(ip_address) ‘Запись новых значение в файл Set oTS = oFS.OpenTextFile(StrLogFile, 2, True) oTS.WriteLine(ip_address) End If Else ‘Если файл не создан создать новый и записать значение Set oTS = oFS.OpenTextFile(StrLogFile, 2, True) oTS.WriteLine(ip_address) End If oTS.Close Set oFS = Nothing Set oTS = NothingEnd Function‘Функция отправки по почтеFunction Mailing(new_IP)Set objEmail = CreateObject("CDO.Message")objEmail.From = "new_ip@mail.ru"objEmail.To = "vertall@mail.ru"objEmail.Subject = "Смена IP адрес"objEmail.Textbody = "IP адрес вашего выделенного канала изменился"objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "192.168.55.1"objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25objEmail.Configuration.Fields.UpdateobjEmail.SendEnd Function-----------------------
Неизвестный
23.08.2006, 22:38
общий
Спасибо! Чето не выходит, почту проверил,Tmp проверил, а прописать его в шадулер это как?И еще как это все работает если сетевому интерфейсу внешней карты не присвоен ip. Он присваивается модему ADSL. А сетевые интерфесы имеют локальные ip только из разных сегментов, и ходят в инет через шлюз, тоесть модем
давно
Бакалавр
19238
405
24.08.2006, 10:06
общий
%SystemRoot%\explorer.exe ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}Из командной строке запусти этот путь.Для информаций это где-то: пуск – программы – стандартные – служебные программыА программу надо доработать, чтобы запрашивала модем. А ты при ее запуске смотрел в папку C:\Temp\ файл Logfile.txt ?? какие там значение, ну это ради интереса !!
давно
Бакалавр
19238
405
24.08.2006, 10:16
общий
Перед строчкой: strNIC = IPConfig.IPAddress(i)Постав MsgBox(IPConfig.IPAddress(i))При запуске программы она будет выдавать все IP адрес которые она найдет, если один из них окажется от модема то будет легче отредактировать программу.Жду ответа.
Неизвестный
24.08.2006, 20:38
общий
Еще раз привет. шадулер (все оказалось просто, это просто планировщик заданий;) с терминами туговато)В логе ничего нет, путь указал правильно, проверял. При запуске пишет (лож) после чего выдает ошибку такого содержания:Ошибка: 25Символ: 1Ошибка: Ввод данных за приделами файлаКод: 80A003E
Неизвестный
24.08.2006, 20:39
общий
Вот болше ничего пока сказать не могу, Пиши
давно
Бакалавр
19238
405
25.08.2006, 10:08
общий
Обычно ошибка возникает из за какой-то не правильной выражение в самой программе, и указывается номер строке, вот и хотел от вас получить это строку, чтобы опридилить , что там не правильного.Как вы можете понять ваша задача с одной стороне не сложная но с дугой стороне простым способом ее не решить и возможность ее решения заключается в том, что надо использовать язык программирование, что я и собственно и хотел добиться конечно наша дискуссия еще будет продолжатся но желаю, чтобы конечный результат был положительный.
Форма ответа