![]() |
Возможности команды net send
День добрый
при выполнении команды net send на определенный ВЫКЛЮЧЕННЫЙ компьютер команда пытается около 3х минут отправить сообщение и только потом вываливается в ошибку. возможно ли сократить это время? допустим 2 секунды и сразу сброс попытки. |
Whiteee, например, можно проверять доступность с помощью Ping (если ICMP разрешен):
Код:
@Echo Off |
ошибка возникает также при отправке на включенный компьютер с остановленной службой сообщений
|
собственно я и использую стороннюю, send.exe приблуда (использует службу сообщений), работает из командной строки что крайне удобно
в батнике, в котором используется send.exe, указаны 80 компов получателей, вот если один из них выключен - задержка в выполнении несколько минут, если выключенно несколько - уже много минут. выглядит так: SET /P text=Please, input message text: "\\srv-file\public\it\sent.exe" visior-1,hina1,hev1,era1,hin1,kov1 "%text%" тут 6 получателей. можно как либо тут сократить время при отключенном компе? службы сообщений на ВСЕХ компах включены |
Whiteee, как-то так:
Код:
@Echo Off |
При наличии в сети WINS-сервера список активных клиентов службы сообщений удобно получать через "NETSH WINS"... фишка в том, что при запуске компа и при регистрации пользователя служба сообщений регистрирует на WINS-сервере запись с кодом [03], а при выключении (штатном) освобождает эту запись... Т.е. список активных записей в норме соответствует списку компов/пользователей, готовых к получению сообщений. Из этого даже можно извлечь выгоду - не рассылать сообщения на машины без залогиненных пользователей.
Один минус - WINS не отличает компьютер от пользователя, поэтому сообщения могут уйти дважды... но обычно в организациях система именования пользователей и станций отличается, поэтому их можно фильтровать регулярным выражением (через FINDSTR) или применять другие методы (например, сверять со списком машин/пользователей). Для надежности и учета незапланированных отключений света можно совмещать с пингом, который привел выше Petya V4sechkin. Пример команды "NETSH WINS": Код:
@Echo Off |
Petya V4sechkin, спасибо большое за верно указанный путь, но тут проблемка, в вашем скрипте программа sent.exe не будет выполнена если хоть один из узлов недоступен. Или я не прав? а надо что бы команда выполнялась на все узлы, за исключением недоступных.
amel27, а вот про это я даже не подумал, да и с WINS никогда не сталкивался... как итог на 2003 win рядом с службой DNS я поднимаю службу WINS и запуская этот скрипт (указав свой сервер на месте MyServer) в переменную %%i я получаю список клиентов поддерживаюзих Службу сообщений? опять не совсем то... служба включена у всех, а получателях send.exe должны только определнные компьютеры... |
Цитата:
|
Цитата:
Код:
@Echo Off - пользователь-отправитель должен входить в группу "пользователи WINS" сервера |
Цитата:
а возможно сделать так, что бы ping сначала проверял весь список получателей, потом сключал недоступных и доступных единой толпой передавал в приложение send (она умеет обрабатывать получателей через запятую без пробела) просто при существующем раскладе приложение send запускается каждый раз заново, а ее запуск это около 10ти секунд %( |
Whiteee, можно:
Код:
@Echo Off |
спасибо!
|
Время: 01:27. |
Время: 01:27.
© OSzone.net 2001-