Photo Gallery Member List Search Calendars FAQ Ticket List Log Out


VBScript to Force WSUS Updates and Detection in a Network Range

 
Logged in as: Guest
arrSession:exec spGetSession 2,16,51343
 Active Users: There are 0 members and 0 guests.
 Users viewing this topic: none
 

 

 
  
  Printable Version
All Forums >> [Scripting] >> Post a VBScript >> VBScript to Force WSUS Updates and Detection in a Network Range
  Do you like VisualBasicScript.com? Link to us and help spread the word about our forum. Thanks!
Page: [1]
Login
Message << Older Topic   Newer Topic >>
 VBScript to Force WSUS Updates and Detection in a Netwo... - 8/30/2007 2:41:19 AM   
  jeferson.propheta

 

Posts: 10
Score: 0
Joined: 8/27/2007
Status: offline
'**************************************************************************************************************
'*   Wsus Remote Force in Network Range                                                                                                                                                        *
'*   -------------------------------------                                                                   
                                                                                                *
'*   Written by: Jeferson Propheta                                                                           
                                                                                        *
'*   July / 2007                                                                                             
                                                                                                     *
'**************************************************************************************************************
On Error Resume Next

Const HKEY_LOCAL_MACHINE = &H80000002
Const ForReading = 1, ForAppending = 8

errReturnCode    = 0
'**********| Wsus Commands |**********************************************************

strWsusCommand    = "wuauclt /ResetAuthorization /DetectNow"
strWsusCommand2   = "wuauclt /ReportNow"


Set objShell       = CreateObject("WScript.Shell")
Set objOUTFSO      = CreateObject("Scripting.FileSystemObject")

'**********| Output File |************************************************************

               strOutDirectory   = "C:\temp\"
               strOutFile        = "\WsusRangeReport.txt"
               LineSeparator     = 48
               LineSeparatorChar = "-"

'************| Output Sctructure |****************************************************

             If objOUTFSO.FolderExists(strOutDirectory) Then
                Set objFolder = objOUTFSO.GetFolder(strOutDirectory)
               Else
                Set objFolder = objOUTFSO.CreateFolder(strOutDirectory)
             End If

             If objOUTFSO.FileExists(strOutDirectory & strOutFile) Then
                Set objFolder = objOUTFSO.GetFolder(strOutDirectory)
                    strOutpath = strOutDirectory & strOutFile
                    objOUTFSO.DeleteFile(strOutpath)
               Else
                 Set objFile = objOUTFSO.CreateTextFile(strOutDirectory & strOutFile)
             End If


'************| Subnet Settings |*********************************************************


Subnet = "10.10.10"

For ii = 1 to 5         'i.e.: 10.10.101.xxx to 10.10.105.xxx
For i  = 1 to 254     'i.e.: 10.10.10x.1   to 10.10.101x.254




'************| Script Start |************************************************************

strComputer   = Subnet & ii & "." & i
Erro          = 0
errReturnCode = 0
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServices   = objWMIService.ExecQuery ("Select * from Win32_Service Where Name = 'wuauserv'")

For Each objService in colServices
errReturnCode = objService.StopService()
     WScript.Sleep 4000

If errReturnCode = 0 Then

     Set oReg   = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
     strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"
     strStringValueName = "NextDetectionTime"
     oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strStringValueName
     errReturnCode = objService.StartService()

     If Erro = 0 then
     Set objProcess  = objWMIService.Get("Win32_Process")
     intReturn       = objProcess.Create (strWsusCommand, Null, Null, intProcessID)
     Set colComputer = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
     intReturn     = objProcess.Create (strWsusCommand2, Null, Null, intProcessID)

     For Each objComputer in colComputer
              strUsername = objComputer.UserName
     Next


     Set objFile   = Nothing
     Set objFolder = Nothing

     Set objOutTextFile = objOUTFSO.OpenTextFile (strOutDirectory & strOutFile, ForAppending, True)

         objOutTextFile.WriteLine String(LineSeparator, LineSeparatorChar)
         objOutTextFile.WriteLine ("IP Address   : " & strComputer )
         objOutTextFile.WriteLine ("Process ID   : " & intProcessID)
         objOutTextFile.WriteLine ("Time         : " & Now())
  Else
         objOutTextFile.WriteLine String(LineSeparator, LineSeparatorChar)
         objOutTextFile.WriteLine ("*** ERROR ***")
         objOutTextFile.WriteLine ("IP Address   : " & strComputer)
         objOutTextFile.WriteLine ("Error Return : " & intReturn)
         objOutTextFile.WriteLine ("Error Code   : " & errReturnCode)
         objOutTextFile.WriteLine ("Process ID   : " & intProcessID)
         objOutTextFile.WriteLine ("Time         : " & Now())

     End If

End If

Next
Next
Next

         objOutTextFile.WriteLine String(LineSeparator, LineSeparatorChar)
         objOutTextFile.WriteLine String(LineSeparator, LineSeparatorChar)
         objOutTextFile.WriteLine ("Report Finished!! : " & Now())

         Wscript.Quit

Function ControlAsk(question)
ControlAsk = InputBox(question)
If ControlAsk="" then
Show = MsgBox("<Information>" & vbNewLine & vbNewLine & vbNewLine & "Can not be blank!!!", vbOKOnly + vbCritical)
WScript.Quit
End If
End Function




      

< Message edited by jeferson.propheta -- 8/30/2007 4:06:10 AM >


_____________________________

Wscript.Echo("Just4 Fun")
 
 
Revisions: 2 | Post #: 1
 
 
 
  

If you found our site useful please link to us <a href="http://www.visualbasicscript.com">VisualBasicScript.com</a>.
All Forums >> [Scripting] >> Post a VBScript >> VBScript to Force WSUS Updates and Detection in a Network Range Page: [1]
Jump to:





New Messages No New Messages
Hot Topic w/ New Messages Hot Topic w/o New Messages
Locked w/ New Messages Locked w/o New Messages
 Post New Thread
 Reply to Message
 Post New Poll
 Submit Vote
 Delete My Own Post
 Delete My Own Thread
 Rate Posts