Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 15:11   #1
ARTlink
Новичок
Джуниор
 
Регистрация: 23.05.2012
Сообщений: 2
По умолчанию VBS: скрипт: групповой ping

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

Нашел материал, но как собрать не вспомню:

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

Set FSO = CreateObject("Scripting.FileSystemO bject")
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:{impersonationL evel=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.FileSystemO bject")
Set LogFile = FSO.OpenTextFile(LogFilePath, 8, True)
LogFile.WriteLine Now & " " & compip & " доступен"
LogFile.Close

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

'MsgBox compip & " пингуется smile "

End If
Next
End Function

Все вместе не работает. Под руками кроме блокнота нет ничего, проверить ошибки негде.
Прошу проверить и по возможности указать на недочеты, и пояснить, как исправить сию ситуацию.
Буду очень благодарен, так, как облегчится жизнь значительно)
ARTlink вне форума Ответить с цитированием
Старый 23.05.2012, 19:02   #2
ARTlink
Новичок
Джуниор
 
Регистрация: 23.05.2012
Сообщений: 2
По умолчанию

Неужто никто не делал такого?
ARTlink вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сокеты групповой расслыки и UDP robesh Помощь студентам 0 20.01.2012 13:04
ping на c++ маришка001 Помощь студентам 3 30.10.2011 11:51
C++, групповой турнир Лиги Чемпионов Avror@ Фриланс 3 03.06.2008 14:35