Login to participate
Endpoint Management & Virtualization IdeasRSS
3
Reboot "NAG" message for Patch Management
Filed under: Altiris Client Management Suite, Altiris Server Management Suite, Endpoint Management and Virtualization
3 Agree, 0 Disagree
In our environment we cannot force a reboot due to sensitive data collection functions of many of our client machines.
Having the ability to create a customised nag message reminding the client that their machine is vulnerable until rebooted would be extremely valuable.
Administrators should also be able to configure the frequency of the nag message(s) and set an escalation frequecy, i.e. Have the message appear once per day for the first week, increase by X occurences each N hours/days/weeks. Where X and N are configurable number entries and hours/days/weeks is either a drop down selection or a check box selection.
Use VBS and the Microsoft Agents to remind Users
Copy the text below into a text file and rename to a .vbs You can use it as you see fit within your organization to help with reminding users after installs for software or patches.
Option Explicit Const Complete = 0, Pending = 2, NAG = 99 Const APPNORMAL = 1, APPHIDDEN = 0, APPMIN = 2, APPMAX = 3 Dim objAgent, objChar, objRequest, txtSpeak Dim strCharacter, Shell, strFirstName Dim WshShell, AGENTSTATUS, RUNAPP, APPTYPE Dim i Set WshShell = CreateObject("WScript.Shell") ' ------------------------------------------------------------------------------------------- strFirstName = "" ' Options for strFirstName ' strFirstName = "Bob" ' strFirstName = "Friend" ' Use a VBScript to lookup employee name and save it as a variable and use the variable to ' personalize the reminder to each user. ' ------------------------------------------------------------------------------------------- strCharacter = "merlin" ' Options for strCharacter ' strCharacter = "rocky" ' Windows XP has lots of other charcters as well just look for .acs files ' ------------------------------------------------------------------------------------------- AGENTSTATUS = NAG ' Options for AGENTSTATUS ' AGENTSTATUS = NAG if you want agent to stay until reboot ' AGENTSTATUS = COMPLETE if you want agent to disappear after run is done ' ------------------------------------------------------------------------------------------- 'RUNAPP = 'Options for RUNAPP 'RUNAPP = "\\servername\sharename\app.exe" 'RUNAPP = "drive:\folder\subfolder\app.exe" ' ------------------------------------------------------------------------------------------- APPTYPE = APPNORMAL ' Options for APPTYPE ' APPTYPE = APPNORMAL Application runs Normally ' APPTYPE = APPHIDDEN Application runs Hidden ' APPTYPE = APPMIN Application runs Minimized ' APPTYPE = APPMAX Application runs Maximized ' ------------------------------------------------------------------------------------------- dim ForceReboot, RebootAPP, RebootCountdown ForceReboot = 0 ' ForceReboot = 1 ' RebootAPP = "drive:\folder\subfolder\app.exe" ' RebootCountdown = 300 Set Shell = CreateObject("WScript.Shell") If HaveAgent() Then objAgent.Characters.Load strCharacter, strCharacter & ".acs" Set objChar = objAgent.Characters(strCharacter) With objChar .Top = 50 .Left = 50 .LanguageID = &h409 .Show End With objChar.Play "Greet" objChar.Play "Announce" objChar.Speak "Hello, " & strFirstName & "\Vol=500" objChar.Play "GetAttention" objChar.Play "GetAttentionReturn" objChar.Play "Idle2_2" objChar.Play "Acknowledge" objChar.Speak "A Microsoft patch is being installed." objChar.MoveTo 800, 600 objChar.Speak "Please wait." objChar.Play "Idle3_1" objChar.Play "Wave" Set objRequest = objChar.Show dim Return ' Return = WshShell.Run(RUNAPP, APPTYPE, true) if ForceReboot = 1 then objChar.Play "GetAttentionReturn" objChar.Speak "The program that was taking place in the background is now complete." objChar.MoveTo 800, 500 objChar.Speak "Thank you for your cooperation." objChar.Play "Idle3_1" objChar.Play "Wave" Set objRequest = objChar.show Do until i > RebootCountdown + 1 set objRequest = nothing Set objRequest = objChar.Show objChar.Think "IM is Rebooting your PC in: " & RebootCountdown - i do until objRequest.Status = Complete Wscript.Sleep 100 loop i = i + 1 Loop Return = WshShell.Run(RebootAPP, 0, False) else objChar.Play "GetAttentionReturn" objChar.Speak "The Application running in the background is now complete. Please save your work then click START on your taskbar then SHUTDOWN and choose RESTART." objChar.MoveTo 800, 500 objChar.Speak "Thank you for your support and cooperation." objChar.Play "Idle3_1" objChar.Play "Wave" Do Until objRequest.Status = AGENTSTATUS ' if i = 100 then ' i = 0 ' objChar.Show ' 'objChar.Think "The Microsoft patch that was taking place in the background is now complete." ' 'objChar.Play "Idle3_1" ' objChar.Think "IM " & objRequest.Status ' 'objChar.Think "Signed: IM." ' end if ' i = i + 1 Wscript.Sleep 100 Loop end if Set objChar = Nothing objAgent.Characters.Unload strCharacter WScript.Quit Else Shell.Popup "MS Agent NOT Found !" & vbCrLf, _ 10, _ "Error Message", _ vbInformation + vbOKOnly + vbSystemModal Wscript.Quit End If Function HaveAgent() HaveAgent = False On Error Resume Next Set objAgent = CreateObject("Agent.Control.1") objAgent.Connected = True HaveAgent = IsObject(objAgent) End FunctionJames "Scott" Hardie
Vice President of Technology Services
shardie@xcendgroup.com
http://www.xcendgroup.com
James "Scott" Hardie
Manager Systems Engineering
scott_hardie@symantec.com
http://www.symantec.com
How about a forced reboot?
How about a forced reboot after Y number of days of nagging?
This is great!
I would much rather nag people to re-boot than smack them with a re-boot in the middle of something important. At least with this they have the option to save everything before they re-boot.
Nagging
For rebooting there is something to say for nagging people, and for forcing them to reboot. Both have there benefits, but there is one thing that you should convince people to.
Convince them why their machines have to reboot once in a while.
The machines slow down, don't get patched well, use old DNS information and stuff like that.
The only good way to prevent you from forcing shutdowns is to convince them.
Regards
Erik
Regards
Erik
www.DinamiQs.com
Dinamiqs is the home of VirtualStorm (www.virtualstorm.org)
Would you like to reply?
Login or Register to post your comment.