суббота, 28 мая 2011 г.

net view ping Пропинговать сетевое окружение

Бывает необходимо быстро просмотреть “сетевое окружение” с какими-то заданными параметрами и иногда сохранить отчет в файл или выполнить какие-то действия над компьютерами доступными в “Сетевом окружении”. Два скрипта ниже, показывают простейшие примеры работы, модифицируйте их под свои нужды, при необходимости.

 

net-view-ping.cmd

::  если выдернуть кабель из сетевой карты, пакетник не работает
::  у команды delims=\\ " наличие пробела после двух обратных
::  бэкслэшей - обязательно (задает разделители, для правильного
::  извлечения имен компьютеров, для послед передачи команде ping
  @echo off
  cls
  echo.
  echo проверяю доступность компьютеров
  echo.
  echo займет некоторое время, если часть станций выключена
  echo но masterbrowser еще не обновил списки 
  echo.
  echo.
  del 1.txt 2>nul
  net view | for /F "tokens=1 delims=\\ " %%c in ('@find "\\"') do @(
  ping -n 1 %%c | Find "TTL">NUL && Echo  ON  - %%c >>1.txt || Echo  OFF  - %%c>>1.txt
  )
  echo.
  echo.
  type 1.txt
  pause>>nul
  del /q 1.txt






net view-ip-ru.cmd

@ECHO OFF
cls
echo.
echo.
:: Выводит список компов в сети в виде Имя - Адрес - Доступные шары
:: Если имя share-ресурса состоит из двух и более слов, отображения нет.
:: Повторный запуск производить через 10-15сек, иначе сбоит.
FOR /F "tokens=1 delims=\ " %%n IN ('net view^|FIND "\\"') DO (
  FOR /F "tokens=2 delims=[]" %%i IN ('ping -a -n 1 -w 0 %%n^|FIND "["') DO (
    ECHO %%i  %%n
    REM ~ NET VIEW \\%%n|FIND "       "
    FOR /F "tokens=1,2,3,4 delims= " %%a IN ('net view \\%%n^|FIND "       "') DO IF "%%b"=="Диск" (ECHO               %%b: \\%%n\%%a) ELSE IF "%%b"=="Печать" (ECHO               %%b: \\%%n\%%a)
  )
)
echo.
echo.
echo Сканирование подсети завершено
pause >nul

См. также:

Комментариев нет:

Отправить комментарий