Показать полную графическую версию : [решено] Показать MessageBox у клиента
avolkov2009
14-05-2010, 10:41
Здравствуйте.
Помогите найти решение. Нужно сделать так, чтобы при наступлении определенного события на сервере у клиента выскакивало окошко (простой MessageBox). NET SEND не подходит, у многих пользователей служба сообщений отключена.
Уточню. Отображение сообщения должен инициировать сервер, т.е. скрипт должен работать на нем.
Спасибо.
avolkov2009,
WScript.Echo
avolkov2009
14-05-2010, 16:53
Спасибо, конечно. Echo гораздо проще, чем MessageBox.
Видимо я не совсем правильно сформулировал вопрос, попробую еще раз.
На сервере под управлением Windows 2003 постоянно работает какая-то программа (допустим, почтовый сервер). Иногда в этой программе возникает некоторое событие (скажем, появляется файл определенного содержания), о возникновении которого следует оповестить рабочую станцию, работающую под управлением Windows XP. Показать, т.е. запустить тот-же MessageBox или Echo на экране рабочей станции должен сервер.
avolkov2009
14-05-2010, 17:42
Наткнулся на такую вещь:
Скрипт pushmsg.vbs (выполняется на сервере)
On Error Resume Next
Set objClass = GetObject("winmgmts:{impersonationLevel=impersonate}!\\PO-KB\root\CIMV2:Win32_Process")
If Err.Number <> 0 Then
WScript.Echo Err.Number & ": " & Err.Description
WScript.Quit
End If
Res = objClass.Create("wscript.exe t:\adminmsg.vbs", Null, Null, PID)
If Res <> 0 Then
WScript.Echo "Код ошибки: " & Res
End If
где PO-KB - имя компьютера с Windows XP, на котором я хочу показать сообщение
t:\adminmsg.vbs - скрипт, показывающий сообщение (если "тупо" запустить на рабочей станции из проводника - работает)
Скрипт adminmsg.vbs:
Set objShell = CreateObject("Wscript.Shell")
strTitle= "Внимание!!!"
objShell.Popup "Получено предупреждение для абонента ByFly!", , strTitle, vbCritical + vbOKOnly
Не работает.
Если подправить строчку в первом скрипте на Set objClass = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2:Win32_Process") , т.е. запускать процесс на локальном компьютере, то все ок.
Подскажите, пожалуйста, что у меня не так?
у многих пользователей служба сообщений отключена »несерьёзный разговор получается - что мешает включить?.. любой способ можно загубить кривыми настройками сети/станции. NET SEND хорош поддержкой массовой рассылки, в остальных случаях потребуется получение/перебор списка хостов, определение доступности и только потом передача сообщения (удаленный запуск скрипта) тем или иным способом (WSH, WMI, PowerShell, CMD-утилиты и т.д.)
avolkov2009
14-05-2010, 18:20
что мешает включить? »
В основном - невозможность получения физического доступа к компьютеру. Знаю, что можно удаленно, но - тоже невозможно, поскольку сложно включить через WakeOnLan компьютер, когда шнур питания выдернут из розетки, а кабинет - заперт.
Поэтому и "колдую" :crazy:
можно удаленно, но - тоже невозможно, поскольку сложно включить через WakeOnLan компьютер, когда шнур питания выдернут из розетки, а кабинет - заперт »в таком случае вам и MessageBox не поможет, тем же способом (вместо MessageBox) можно включить службу и забыть о всяком "колдовстве"
avolkov2009
15-05-2010, 21:08
тем же способом (вместо MessageBox) можно включить службу и забыть о всяком "колдовстве" »
Большое Вам спасибо за совет!
Думаю, сделаю так.
1. Всем в скрипт вставлю net start messenger
2. буду пользовать простой net send
Вопрос снят. Всем спасибо.
Показать, т.е. запустить тот-же MessageBox или Echo на экране рабочей станции должен сервер. »
да не вопрос - удаленный запуск скрипта
megaloman
16-05-2010, 07:18
да не вопрос - удаленный запуск скрипта » -ИМХО, гораздо больше проблем, чем включить службу: на удалённом компе необходимо иметь права локального администратора + там в реестре необходимо прописать возможность выполнения удалённого скрипта (и хлопотно, и безопасность страдает)- по умолчанию такой возможности как правило нет.
megaloman,
1. изначально messenger не рассматривался вообще
2. благодаря этой службе в теории можно простым вируском (3 строчки) убить и заспамить всю сеть
по умолчанию такой возможности как правило нет. »
в домене, а речь идет о нем - у админа есть
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.