|
Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Возможности команды net send |
|
|
Разное - [решено] Возможности команды net send
|
Новый участник Сообщения: 20 |
День добрый
при выполнении команды net send на определенный ВЫКЛЮЧЕННЫЙ компьютер команда пытается около 3х минут отправить сообщение и только потом вываливается в ошибку. возможно ли сократить это время? допустим 2 секунды и сразу сброс попытки. |
|
Отправлено: 17:41, 08-09-2008 |
Сообщения: 53530
|
Профиль | Отправить PM | Цитировать Whiteee, например, можно проверять доступность с помощью Ping (если ICMP разрешен):
Сохранить в .cmd файл и вызывать его с параметрами имя сообщение. |
Отправлено: 18:01, 08-09-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать ошибка возникает также при отправке на включенный компьютер с остановленной службой сообщений
|
Отправлено: 11:01, 09-09-2008 | #3 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать собственно я и использую стороннюю, 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 получателей. можно как либо тут сократить время при отключенном компе? службы сообщений на ВСЕХ компах включены |
Отправлено: 11:14, 09-09-2008 | #4 |
Сообщения: 53530
|
Профиль | Отправить PM | Цитировать Whiteee, как-то так:
@Echo Off SetLocal EnableExtensions EnableDelayedExpansion SET /P text=Please, input message text: For %%I In (visior-1,hina1,hev1,era1,hin1,kov1) Do ( Ping -n 1 -w 1 %%I >nul If "!ErrorLevel!"=="0" ( "\\srv-file\public\it\sent.exe" %%I "%text%" ) Else ( Echo При проверке связи не удалось обнаружить узел %%I. ) ) |
|
Отправлено: 13:03, 09-09-2008 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать При наличии в сети WINS-сервера список активных клиентов службы сообщений удобно получать через "NETSH WINS"... фишка в том, что при запуске компа и при регистрации пользователя служба сообщений регистрирует на WINS-сервере запись с кодом [03], а при выключении (штатном) освобождает эту запись... Т.е. список активных записей в норме соответствует списку компов/пользователей, готовых к получению сообщений. Из этого даже можно извлечь выгоду - не рассылать сообщения на машины без залогиненных пользователей.
Один минус - WINS не отличает компьютер от пользователя, поэтому сообщения могут уйти дважды... но обычно в организациях система именования пользователей и станций отличается, поэтому их можно фильтровать регулярным выражением (через FINDSTR) или применять другие методы (например, сверять со списком машин/пользователей). Для надежности и учета незапланированных отключений света можно совмещать с пингом, который привел выше Petya V4sechkin. Пример команды "NETSH WINS": |
Отправлено: 06:23, 10-09-2008 | #6 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Petya V4sechkin, спасибо большое за верно указанный путь, но тут проблемка, в вашем скрипте программа sent.exe не будет выполнена если хоть один из узлов недоступен. Или я не прав? а надо что бы команда выполнялась на все узлы, за исключением недоступных.
amel27, а вот про это я даже не подумал, да и с WINS никогда не сталкивался... как итог на 2003 win рядом с службой DNS я поднимаю службу WINS и запуская этот скрипт (указав свой сервер на месте MyServer) в переменную %%i я получаю список клиентов поддерживаюзих Службу сообщений? опять не совсем то... служба включена у всех, а получателях send.exe должны только определнные компьютеры... |
Отправлено: 09:10, 10-09-2008 | #7 |
Сообщения: 53530
|
Профиль | Отправить PM | Цитировать Цитата Whiteee:
|
|
Отправлено: 09:20, 10-09-2008 | #8 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата Whiteee:
@Echo Off SetLocal EnableExtensions EnableDelayedExpansion Set $WINS=MyServer Set $FILE=%~dpn0.txt Set /P $TEXT=Please, input message text: For /F "Tokens=1,5 Delims=[ " %%i In ('Netsh WINS Server \\%$WINS% Show Database Servers^={} RecType^=2 EndChar^=3^|Find /I "[03h]-D-A"') Do ( FindStr /I/B/E/C:"%%i" "%$FILE%" 1>nul 2>&1 If "!ERRORLEVEL!"=="0" ( Ping -n 1 -w 1 %%j >nul If "!ERRORLEVEL!"=="0" Net Send %%i "%$TEXT%" ) ) - пользователь-отправитель должен входить в группу "пользователи WINS" сервера |
|
Отправлено: 10:09, 10-09-2008 | #9 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Цитата Petya V4sechkin:
а возможно сделать так, что бы ping сначала проверял весь список получателей, потом сключал недоступных и доступных единой толпой передавал в приложение send (она умеет обрабатывать получателей через запятую без пробела) просто при существующем раскладе приложение send запускается каждый раз заново, а ее запуск это около 10ти секунд %( |
|
Отправлено: 18:18, 10-09-2008 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Net send или Mail Send | SH Admin | Microsoft Windows NT/2000/2003 | 3 | 01-02-2010 21:02 | |
Проблема с использованием команды net send | sergeev_v | Microsoft Windows NT/2000/2003 | 4 | 30-10-2008 21:39 | |
[решено] Net Send | alexandri | Microsoft Windows NT/2000/2003 | 3 | 10-07-2007 14:14 | |
[решено] вопрос по Net Send | Pomaranch | Microsoft Windows NT/2000/2003 | 4 | 11-12-2006 00:41 | |
[решено] Отключение команды Net Send в одноранговой сети Windows 2000 | YDen | Microsoft Windows NT/2000/2003 | 1 | 30-09-2005 23:19 |
|