no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | monitors:forefront [2009/11/23 05:48] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Forefront Security for Exchange 2007 ====== | ||
+ | |||
+ | ^ Author | [[ david@stenhouseconsulting.com | David Gilmore ]] | | ||
+ | ^ Compatibility | Xymon 4.2 | | ||
+ | ^ Requirements | Windows Server 2003 x64/ | ||
+ | ^ Download | None | | ||
+ | ^ Last Update | 2007-07-12 | | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | VBS Script that checks the status of multiple AV engines used by Microsoft’s Forefront Security Server for Exchange and reports status under the FSE column. | ||
+ | |||
+ | ===== Installation ===== | ||
+ | === Client side === | ||
+ | - Add to BBWin.cfg in externals< | ||
+ | < | ||
+ | < | ||
+ | |||
+ | === Server side === | ||
+ | |||
+ | * None | ||
+ | |||
+ | ===== Source ===== | ||
+ | |||
+ | ==== forefront.vbs ==== | ||
+ | <hidden onHidden=" | ||
+ | <code vb> | ||
+ | ' | ||
+ | ' | ||
+ | ' VBScript Source File | ||
+ | ' | ||
+ | ' NAME: MSForefront.vbs (formerly BBantigen-V8.vbs) | ||
+ | ' | ||
+ | ' | ||
+ | ' Version: 1.5 | ||
+ | ' | ||
+ | ' AUTHOR: David Gilmore; david@stenhouseconsulting.com | ||
+ | ' DATE : 07/11/2007 | ||
+ | ' | ||
+ | ' COMMENT: | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' LICENSE: | ||
+ | ' Copyright (c) 2005, Roos-IT | ||
+ | ' All rights reserved. | ||
+ | ' | ||
+ | ' Redistribution and use in source and binary forms, with or without | ||
+ | ' modification, | ||
+ | ' | ||
+ | ' - Redistributions of source code must retain the above copyright notice, | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' - Neither the name of Roos-IT nor the names of its contributors | ||
+ | ' may be used to endorse or promote products derived from this software without | ||
+ | ' | ||
+ | ' | ||
+ | ' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY | ||
+ | ' EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
+ | ' OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT | ||
+ | ' SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
+ | ' SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT | ||
+ | ' OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
+ | ' HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR | ||
+ | ' TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
+ | ' EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ' | ||
+ | ' VERSION HISTORY: | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | ' | ||
+ | Dim zPageName, | ||
+ | Dim aShell, | ||
+ | Dim bShell, | ||
+ | Dim cShell, | ||
+ | Dim dShell, | ||
+ | Dim eShell, | ||
+ | Dim fShell, | ||
+ | Dim gShell, | ||
+ | Dim hShell, | ||
+ | Dim iShell, | ||
+ | Dim jShell, | ||
+ | Dim oShell, | ||
+ | |||
+ | ' | ||
+ | |||
+ | ' | ||
+ | zRevChk = 7 | ||
+ | |||
+ | ' | ||
+ | ' | ||
+ | zYellowChk = 2 | ||
+ | ' | ||
+ | zRedChk = 4 | ||
+ | |||
+ | ' | ||
+ | ' | ||
+ | Set zShell = WScript.CreateObject(" | ||
+ | zExtPath = zShell.RegRead(" | ||
+ | ' | ||
+ | |||
+ | ' | ||
+ | zPageName = " | ||
+ | |||
+ | ' | ||
+ | |||
+ | ' | ||
+ | Set zFSO= CreateObject(" | ||
+ | |||
+ | ' | ||
+ | Set zOutFile = zFSO.CreateTextFile (zExtPath &" | ||
+ | |||
+ | ' | ||
+ | zPageStatus = 0 | ||
+ | |||
+ | ' | ||
+ | Set oShell = WScript.CreateObject(" | ||
+ | oRev = oShell.RegRead (" | ||
+ | oEng = oShell.RegRead (" | ||
+ | oDef = oShell.RegRead (" | ||
+ | oVer = Right(oDef, | ||
+ | oTime = Right(oVer, | ||
+ | oDate = Left(oVer, | ||
+ | oYear = Mid(oDate, | ||
+ | oMonth = Left(oDate, | ||
+ | oDay = Mid(oDate, | ||
+ | oNDate = oVer | ||
+ | oToday = FormatDateTime(Now, | ||
+ | ' | ||
+ | oDateDiff = DateDiff(" | ||
+ | If (oDateDiff > zRevChk) then | ||
+ | oRevDef = "< | ||
+ | Else oRevDef = "< | ||
+ | End If | ||
+ | |||
+ | ' | ||
+ | Set bShell = WScript.CreateObject(" | ||
+ | bRev = bShell.RegRead (" | ||
+ | bEng = bShell.RegRead (" | ||
+ | bDef = bShell.RegRead (" | ||
+ | bVer = Right(bDef, | ||
+ | bTime = Right(bVer, | ||
+ | bDate = Left(bVer, | ||
+ | bYear = Mid(bDate, | ||
+ | bMonth = Left(bDate, | ||
+ | bDay = Mid(bDate, | ||
+ | bNDate = bVer | ||
+ | bToday = FormatDateTime(Now, | ||
+ | ' | ||
+ | bDateDiff = DateDiff(" | ||
+ | If (bDateDiff > zRevChk) then | ||
+ | bRevDef = "< | ||
+ | Else bRevDef = "< | ||
+ | End If | ||
+ | |||
+ | ' | ||
+ | Set cShell = WScript.CreateObject(" | ||
+ | cRev = cShell.RegRead (" | ||
+ | cEng = cShell.RegRead (" | ||
+ | cDef = cShell.RegRead (" | ||
+ | cVer = Right(cDef, | ||
+ | cTime = Right(cVer, | ||
+ | cDate = Left(cVer, | ||
+ | cYear = Mid(cDate, | ||
+ | cMonth = Left(cDate, | ||
+ | cDay = Mid(cDate, | ||
+ | cNDate = cVer | ||
+ | cToday = FormatDateTime(Now, | ||
+ | ' | ||
+ | cDateDiff = DateDiff(" | ||
+ | If (cDateDiff > zRevChk) then | ||
+ | cRevDef = "< | ||
+ | Else cRevDef = "< | ||
+ | End If | ||
+ | |||
+ | ' | ||
+ | Set dShell = WScript.CreateObject(" | ||
+ | dRev = dShell.RegRead (" | ||
+ | dEng = dShell.RegRead (" | ||
+ | dDef = dShell.RegRead (" | ||
+ | dVer = Right(dDef, | ||
+ | dTime = Right(dVer, | ||
+ | dDate = Left(dVer, | ||
+ | dYear = Mid(dDate, | ||
+ | dMonth = Left(dDate, | ||
+ | dDay = Mid(dDate, | ||
+ | dNDate = dVer | ||
+ | dToday = FormatDateTime(Now, | ||
+ | ' | ||
+ | dDateDiff = DateDiff(" | ||
+ | If (dDateDiff > zRevChk) then | ||
+ | dRevDef = "< | ||
+ | Else dRevDef = "< | ||
+ | End If | ||
+ | |||
+ | |||
+ | ' | ||
+ | Set fShell = WScript.CreateObject(" | ||
+ | fRev = fShell.RegRead (" | ||
+ | fEng = fShell.RegRead (" | ||
+ | fDef = fShell.RegRead (" | ||
+ | fVer = Right(fDef, | ||
+ | fTime = Right(fVer, | ||
+ | fDate = Left(fVer, | ||
+ | fYear = Mid(fDate, | ||
+ | fMonth = Left(fDate, | ||
+ | fDay = Mid(fDate, | ||
+ | fNDate = fVer | ||
+ | fToday = FormatDateTime(Now, | ||
+ | ' | ||
+ | fDateDiff = DateDiff(" | ||
+ | If (fDateDiff > zRevChk) then | ||
+ | fRevDef = "< | ||
+ | Else fRevDef = "< | ||
+ | End If | ||
+ | |||
+ | ' | ||
+ | Set gShell = WScript.CreateObject(" | ||
+ | gRev = gShell.RegRead (" | ||
+ | gEng = gShell.RegRead (" | ||
+ | gDef = gShell.RegRead (" | ||
+ | gVer = Right(gDef, | ||
+ | gTime = Right(gVer, | ||
+ | gDate = Left(gVer, | ||
+ | gYear = Mid(gDate, | ||
+ | gMonth = Left(gDate, | ||
+ | gDay = Mid(gDate, | ||
+ | gNDate = gVer | ||
+ | gToday = FormatDateTime(Now, | ||
+ | ' | ||
+ | gDateDiff = DateDiff(" | ||
+ | If (gDateDiff > zRevChk) then | ||
+ | gRevDef = "< | ||
+ | Else gRevDef = "< | ||
+ | End If | ||
+ | |||
+ | ' | ||
+ | Set iShell = WScript.CreateObject(" | ||
+ | iRev = iShell.RegRead (" | ||
+ | iEng = iShell.RegRead (" | ||
+ | iDef = iShell.RegRead (" | ||
+ | iVer = Right(iDef, | ||
+ | iTime = Right(iVer, | ||
+ | iDate = Left(iVer, | ||
+ | iYear = Mid(iDate, | ||
+ | iMonth = Left(iDate, | ||
+ | iDay = Mid(iDate, | ||
+ | iNDate = iVer | ||
+ | iToday = FormatDateTime(Now, | ||
+ | ' | ||
+ | iDateDiff = DateDiff(" | ||
+ | If (iDateDiff > zRevChk) then | ||
+ | iRevDef = "< | ||
+ | Else iRevDef = "< | ||
+ | End If | ||
+ | |||
+ | ' | ||
+ | Set jShell = WScript.CreateObject(" | ||
+ | jRev = jShell.RegRead (" | ||
+ | jEng = jShell.RegRead (" | ||
+ | jDef = jShell.RegRead (" | ||
+ | jVer = Right(jDef, | ||
+ | jTime = Right(jVer, | ||
+ | jDate = Left(jVer, | ||
+ | jYear = Mid(jDate, | ||
+ | jMonth = Left(jDate, | ||
+ | jDay = Mid(jDate, | ||
+ | jNDate = jVer | ||
+ | jToday = FormatDateTime(Now, | ||
+ | ' | ||
+ | jDateDiff = DateDiff(" | ||
+ | If (jDateDiff > zRevChk) then | ||
+ | jRevDef = "< | ||
+ | Else jRevDef = "< | ||
+ | End If | ||
+ | |||
+ | |||
+ | ' | ||
+ | If (oDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (aDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (bDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (cDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (dDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (eDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (fDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (gDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (hDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (iDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | If (jDateDiff > zRevChk) then | ||
+ | zPageStatus = zPageStatus + 1 | ||
+ | Else zPageStatus = zPageStatus | ||
+ | End If | ||
+ | |||
+ | ' | ||
+ | If (zPageStatus > zYellowChk) then | ||
+ | zDateDiff = " | ||
+ | If (zPageStatus > zRedChk) then | ||
+ | zDateDiff = " | ||
+ | End If | ||
+ | Else zDateDiff = " | ||
+ | End If | ||
+ | |||
+ | |||
+ | ' | ||
+ | zOutFile.WriteLine zDateDiff & vbCrLf | ||
+ | zOutFile.WriteLine vbCrLf &"< | ||
+ | zOutFile.WriteLine zPageStatus & " Virus Scanner definition file(s) is/are out of date" & vbCrLf & vbCrLf | ||
+ | |||
+ | zOutFile.WriteLine "< | ||
+ | zOutFile.WriteLine oRevDef & " Engine version: " & vbTab & oEng | ||
+ | zOutFile.WriteLine oRevDef & " Definition version: " & vbTab & oRev & vbTab &" date: "& oNDate | ||
+ | zOutFile.WriteLine " | ||
+ | |||
+ | zOutFile.WriteLine "< | ||
+ | zOutFile.WriteLine bRevDef & " Engine version: " & vbTab & bEng | ||
+ | zOutFile.WriteLine bRevDef & " Definition version: " & vbTab & bRev & vbTab &" date: "& bNDate | ||
+ | zOutFile.WriteLine " | ||
+ | |||
+ | zOutFile.WriteLine "< | ||
+ | zOutFile.WriteLine cRevDef & " Engine version: " & vbTab & cEng | ||
+ | zOutFile.WriteLine cRevDef & " Definition version: " & vbTab & cRev & vbTab &" date: "& cNDate | ||
+ | zOutFile.WriteLine " | ||
+ | |||
+ | zOutFile.WriteLine "< | ||
+ | zOutFile.WriteLine dRevDef & " Engine version: " & vbTab & dEng | ||
+ | zOutFile.WriteLine dRevDef & " Definition version: " & vbTab & dRev & vbTab &" date: "& dNDate | ||
+ | zOutFile.WriteLine " | ||
+ | |||
+ | zOutFile.WriteLine "< | ||
+ | zOutFile.WriteLine fRevDef & " Engine version: " & vbTab & fEng | ||
+ | zOutFile.WriteLine fRevDef & " Definition version: " & vbTab & fRev & vbTab & vbTab &" date: "& fNDate | ||
+ | zOutFile.WriteLine " | ||
+ | |||
+ | zOutFile.WriteLine "< | ||
+ | zOutFile.WriteLine gRevDef & " Engine version: " & vbTab & gEng | ||
+ | zOutFile.WriteLine gRevDef & " Definition version: " & vbTab & gRev & vbTab & vbTab &" date: "& gNDate | ||
+ | zOutFile.WriteLine " | ||
+ | |||
+ | zOutFile.WriteLine "< | ||
+ | zOutFile.WriteLine iRevDef & " Engine version: " & vbTab & iEng | ||
+ | zOutFile.WriteLine iRevDef & " Definition version: " & vbTab & iRev & vbTab &" date: "& iNDate | ||
+ | zOutFile.WriteLine " | ||
+ | |||
+ | zOutFile.WriteLine "< | ||
+ | zOutFile.WriteLine jRevDef & " Engine version: " & vbTab & jEng | ||
+ | zOutFile.WriteLine jRevDef & " Definition version: " & vbTab & jRev & vbTab & vbTab &" date: "& jNDate | ||
+ | zOutFile.WriteLine " | ||
+ | |||
+ | |||
+ | zOutFile.WriteLine "< | ||
+ | |||
+ | ' | ||
+ | zOutFile.Close | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Known Bugs and Issues ===== | ||
+ | |||
+ | ===== To Do ===== | ||
+ | |||
+ | ===== Credits ===== | ||
+ | |||
+ | [[ http:// | ||
+ | |||
+ | ===== Changelog ===== | ||
+ | |||
+ | * **2007-07-12** | ||
+ | * Initial release | ||