Mail me if you have Updates
Oft will man informiert werden, wenn der Windowsserver neue Update zur Installation erhalten hat.
Bei einer Vielzahl von Servern ist es schwer den Überblick zu behalten.
deshalb hilft das folgende Script als geplanter Task, die Rechner aktuell zu halten.
Damit ist es auch möglich, gezielt Mails an den für einen bestimmten Server jeweilig zuständigen Kollegen zu versenden.
- mailmeIfYouHaveUpdates.vbs
'suche nach updates und maile das Ergebnis an meinServeradmin@dom.main /rb 2011
Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateupdateSearcher()
DIM Mailtext,Computername,Emailadresse,Subject,SMTPServer,Absender
Computername = WScript.CreateObject("WScript.Shell").ExpandEnvironmentStrings("%Computername%")
Mailtext = "Liste installierbarer Updates für Rechner: " & Computername & vbCRLF & vbCrLf
Emailadresse = "meinServeradmin@dom.ain"
SMTPServer = "mySMTPSrv"
Absender = Computername & "@dom.ain"
Subject = "neue Updates auf " & Computername & " gefunden"
'----- ab hier nichts mehr ändern -----
'WScript.Echo "Suche nach updates auf " & Computername & " ..." & vbCRLF
Set searchResult = updateSearcher.Search("IsInstalled=0 and Type='Software'")
If searchResult.Updates.Count = 0 Then
WScript.Echo "nix neues."
WScript.Quit
End If
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
'WScript.Echo I + 1 & "> " & update.Title
Mailtext = Mailtext & vbCrLf & update.Title & vbCrLf
Next
Mailtext = Mailtext & vbCrLf & i+1 & " Updates sind installierbar" & vbCrLf
'wscript.echo Mailtext
Call Mailmirmal(Emailadresse,SMTPServer,Absender,Subject,Mailtext)
' -------------------------------------------------------------------------
Sub Mailmirmal(Emailadresse,SMTPServer,Absender,Subject,Mailtext)
'//////////////////////
'// Sende SMTP Mail via VBScript.
'//////////////////////
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing", _
cdoSendUsingPort = 2, _
cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
'// Create the CDO connections.
Dim iMsg, iConf, Flds
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
'// SMTP server configuration.
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = SMTPServer
.Update
End With
'// Set the message properties.
With iMsg
Set .Configuration = iConf
.To = Emailadresse
.From = Absender
.Subject = Subject
.TextBody = Mailtext
End With
'// An attachment ?
'iMsg.AddAttachment Attachment
'// Sende die mail
iMsg.Send
End Sub
Wenn alles gut geht, erhält man nun jede Woche so eine Mail wenn der Rechner Updates findet: