SanyaJoker |
21-04-2011 17:15 1663266 |
Отображение сообщения на всех пользователей
Доброго времени суток!
Возник такой вопрос. Есть интересный скрипт для завершения работы компьютера:
Код:
Dim vbOK,Inf,intDo, Cancel
'Dim Message, Title
vbOK = 1
Inf = 64
Cancel = 2
Message = "Время выключать компьютер!"
Title = "Подтвердите действие"
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run("shutdown /s /t 15 /f")
intDo = WSHShell.Popup(Message,0,Title,vbOK + Inf)
if intDo = Cancel Then
WSHShell.Run("shutdown /a")
WScript.Quit()
End if
В скрипте все устраивает кроме одного. сообщение отображается у пользователя от которого запущен данный скрипт. А необходимо что бы у всех либо у того пользователя который вошел в систему.
Заранее благодарен!
|
SanyaJoker, попробуйте так:
Код:
strComputer = "."
strNamespace = "Root\CIMV2"
strClass = "Win32_OperatingSystem"
Set objClass = GetObject("WinMgmts:{(Shutdown,RemoteShutdown)}!\\" & strComputer & "\" & strNamespace & ":" & strClass)
Set colInstances = objClass.Instances_
For Each objInstance In colInstances
iAnswer = MsgBox("Выключить компьютер сейчас?", vbQuestion + vbOKCancel, "Завершение работы...")
If iAnswer = vbOK Then
objInstance.Shutdown()
End if
Next
|
SanyaJoker |
22-04-2011 12:45 1663853 |
BigBoo, все равно не появляется :(
|
сообщение всем отправить как раз можно:
Код:
msg * "Текст сообщения"
... а вот получить подтверждение о выборе пользователя уже никак, так как "отправитель" и "получатель" работают в разных контекстах безопасности... Для этого нужно иметь скрипт-"агент", который постоянно крутится под пользователем, обрабатывает нужные события и сообщает скрипту-"серверу" о результатах.
|
Время: 12:28.
© OSzone.net 2001-