Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интересный скрипт: групповой ping, Необходима помощь в реализации идеи 
:(
    Опции темы
ARTlink
Дата 23.5.2012, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 23.5.2012

Репутация: нет
Всего: нет



Доброго времени суток, уважаемые форумчане! Я чайник в программировании, в детстве увлекался, но все забыл.
По долгу работы требуется:
  • 1. Загнать список адресов в массив из файла
  • 2. По очереди пропинговать каждый
  • 3. Недоступные адреса записать в лог с датой и временем пинга
  • 4. Выкинуть окно (ошибочное) с кнопкой ОК и инфой по недоступному адресу. один адрес-одно окно
  • 5. Зациклить процесс с задержкой 15 минут.
Нашел материал, но как собрать не вспомню:

[*]1. Загнать список адресов в массив из файла

Код

Set FSO = CreateObject("Scripting.FileSystemObject")
Dim arrMass()
Dim pathToFile
pathToFile = "machines.txt"

Sub GetMachines()
    On Error Resume Next
    Dim strText
    Set objTextFile = FSO.OpenTextFile(pathToFile, 1, True)
    i = 0
    Do While objTextFile1.AtEndOfStream <> True
        strMachine = objTextFile.ReadLine
        ReDim Preserve arrMass(i + 1)
        arrMass(i) = strText
        i = i + 1
    Loop
    ReDim Preserve arrMass(i - 1)
    i = 0
    objTextFile.Close
End Sub


[*]2. Поочередной пинг IP адресов. (Здесь ведется полный лог, и отображаются сообщения о любом результате)

Код

For Each strMachine In arrMass
    Ping(strMachine)
Next

Function Ping(machineName)
    On Error Resume Next
    Dim objStatus
    Dim objPing

    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
        ExecQuery("select * from Win32_PingStatus where address = '"_
        & machineName & "'")
    For Each objStatus In objPing
        If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
        ' Записать в файл информацию
        Set FSO = CreateObject("Scripting.FileSystemObject")
            Set LogFile = FSO.OpenTextFile(LogFilePath, 8, True)
            LogFile.WriteLine Now & " " & compip & " доступен"
            LogFile.Close

            'MsgBox compip & " пингуется :) "
    Else
        ' Записать в файл информацию
        Set FSO = CreateObject("Scripting.FileSystemObject")
            Set LogFile = FSO.OpenTextFile(LogFilePath, 8, True)
            LogFile.WriteLine Now & " " & compip & " ytдоступен"
            LogFile.Close

            'MsgBox compip & " пингуется :) "    
    
        End If
    Next
End Function
Все вместе не работает. Под руками кроме блокнота нет ничего, проверить ошибки негде. 
Прошу проверить и по возможности указать на недочеты, и пояснить, как исправить сию ситуацию.
Буду очень благодарен, так, как облегчится жизнь значительно)

Это сообщение отредактировал(а) Akina - 23.5.2012, 14:34
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0395 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.