![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Тестирование сетки. |
|
CMD/BAT - [решено] Тестирование сетки.
|
Новый участник Сообщения: 12 |
Возникла необходимость тестировать сеть, чтобы определить работающее оборудование.
Имеется Excel-ский файл, состоит из нескольких столбцов. В 14 столбце занесены IP адреса. Нужно взять IP, пингануть и результат пингов записать в следующий столбец т.е сформировать 15 столбец с результатами, если хоть один пинг прошёл то результат ОК, если нет то строку оставить пустым. Затем переход на следующую строку. и так до конца столбца. Всего 1000 строк. Желательно, чтобы можно былобы регулировать количество пингов. Буду очень признателен за помощь. |
|
Отправлено: 15:32, 12-10-2010 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать megaloman Разобрался, для было уровне безопасности, поставил низкую заработала.
Но осталось ещё одна проблема. При любом пинге, есть оборудование нет его - результат ОК. Специально ввёл несуществующие IP, результат проверки ОК. Вижу запускается командная строка в ней пингование и вижу что нет ответа, но в строчке результат ОК Что же это может быть? |
Последний раз редактировалось a139st, 15-10-2010 в 11:19. Отправлено: 11:01, 15-10-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать Понятненько - если пингов несколько - результат положительный, если узел был досупен хоть раз.
В макросе думаю проблема в том, что возвращается код завершения CMD.EXE, а не самого PING. Попробуйте, выполнит ли макрос саму команду Ping без CMD |
------- Отправлено: 13:18, 15-10-2010 | #12 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Нет не выполняет, Даёт ошибку.
Я сделал так: в макросе удалил команду cmd, и запустил макрос. Правильно? А как можно пустить пинг без cmd? в фоновом режиме? |
Отправлено: 13:40, 15-10-2010 | #13 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Ret = WS.Run("Ping " + ip, 1, True)
Но у меня ведь работает! Правильно. И с CMD и без него |
------- Отправлено: 14:08, 15-10-2010 | #14 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Мои действия были такие:
Сохранил файл который вы выслали. Из трёх IP два заменил на мои рабочие и удалил содержимое 15 столбца. Запустил макрос, открылcя cmd вижу как идут пинги, первые два прошли успешно, а третий не прошёл. А после завершения макроса результат все три IP ОК. Может есть какие мысли? что не так делаю? Если во время пингования я закрою окошко cmd командной строки (т.е. просто нажимаю крестик), то результат везде Err. |
Отправлено: 15:08, 15-10-2010 | #15 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Похоже, во всём виноват Windows. Проверил на Win XP, 2003 -работает. Win 2000 (у меня сервер) - увы. Там пинг по любому выдаёт ErrorLevel=0. Ни мой макрос, никакой батник с ping-ом и дальнейшей проверкой на ErrorLevel там работать не будут.
Цитата:
Попробуйте запустить вот такой батник для имеющегося адреса и отсутствующего. Подозреваю, ErrorLevel в обоих случаях = 0 А уровень безопасности лучше сделать средний- чтобы Excel спросил, отключить макрос или нет. |
|
------- Последний раз редактировалось megaloman, 15-10-2010 в 19:30. Отправлено: 19:10, 15-10-2010 | #16 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 04:19, 16-10-2010 | #17 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать megaloman Спасибо Вы оказались правы. Действительно на компьютере установлен Win 2000Server. Я тут и пробовал, он у меня имеет выход в инет.
Код я запустил вот результат: Set ip=192.168.0.5 ping %ip% Обмен пакетами с 192.168.0.5 по 32 байт: Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Статистика Ping для 192.168.0.5: Пакетов: отправлено = 4, получено = 0, потеряно = 4 (100% потерь), Приблизительное время передачи и приема: наименьшее = 0мс, наибольшее = 0мс, среднее = 0мс Echo --------------------------------- --------------------------------- echo %ip% ErrorLevel=%ErrorLevel% 192.168.0.5 ErrorLevel=0 Echo --------------------------------- --------------------------------- Pause Там всё действительно работает. Если не тяжело можно будет дополнить макрос следующим образом: После проверки IP, если результат ОК, то проверить IP на 1 больше, пример IP 192.168.2.2 результат ОК проверить IP 192.168.2.3 и результат проверки записать в 16 столбец. А потом переход на следующую строку. Если после проверки IP результат Err, то сразу переход на следующую строку. Дело в том, что за одним оборудованием установлено ещё одно, IP которого отличается от главного на 1. Если главный IP не виден то второй проверять нет смысла. Заранее благодарен за помощь! |
Отправлено: 09:45, 18-10-2010 | #18 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Sub pinglan() Begin = "N3" ' Клетка, с которой начинается просмотр адресов в таблице N_Uzl = 2 ' Число подузлов, отлич на единицу в последнем октете N_Ping = 8 ' Число запросов Set WS = CreateObject("WScript.Shell") ip = Range(Begin) i = 0 Do While Len(Trim(ip)) <> 0 ipm = Split(ip, ".") Range(Begin).Offset(i, 1) = "Тестирую ..." Range(Begin).Offset(i, 2) = "" Ret = WS.Run("cmd /C Ping -n " + CStr(N_Ping) + " " + ip, 0, True) Msg = CStr(Date) + " " + CStr(Time) Msg2 = "" If Ret = 0 Then Msg = Msg + " OK" For j = 1 To N_Uzl ip = CStr(ipm(0)) + "." + CStr(ipm(1)) + "." + CStr(ipm(2)) + "." + CStr(ipm(3) + j) Ret = WS.Run("cmd /C Ping -n " + CStr(N_Ping) + " " + ip, 0, True) Msg2 = Msg2 + ip If Ret = 0 Then Msg2 = Msg2 + "-OK " Else Msg2 = Msg2 + "-Err " Next Else Msg = Msg + " Err" End If Range(Begin).Offset(i, 1) = Msg Range(Begin).Offset(i, 2) = Msg2 i = i + 1 ip = Range(Begin).Offset(i, 0) Loop End Sub |
------- Отправлено: 19:39, 18-10-2010 | #19 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Всё работает, Спасибо!
Только число подузлов у меня только один, и нет смысла пинговать второй подузел, его нет. Для этого как нужно изменит код? Сделать N_Uzl = 1 , этого хватает или ещё что нужно поменять? Измените пожалуйста код. ещё одна просьба что нужно сделать чтобы тестирование проходило не в фоновом режиме, а наглядно видеть, т.е. окошко cmd? какая команда в коде? (Чтобы мог самостоятельно менять) |
Отправлено: 10:34, 19-10-2010 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Route/Bridge - Схема сетки | dmz | Сетевые технологии | 4 | 06-12-2010 20:28 | |
Доступ к шаре из сетки | Negativ | Microsoft Windows NT/2000/2003 | 2 | 17-08-2010 17:45 | |
Прочее - Схема небольшой сетки | migel2007 | Сетевые технологии | 10 | 28-06-2008 01:42 | |
создание сетки | abramov4 | Сетевые технологии | 15 | 06-03-2006 13:31 | |
Проблема со скоростью в сетки | SanCho | Сетевые технологии | 7 | 14-11-2003 01:21 |
|