The following scripts can be used by the applications scheduler and will return an error code depending on whether they ran successfully or not. Variables that need to be adjusted are highlighted in green below. All examples below use Visual Basic Script. Additional example scripts are available in the Scripts sub folder of the EventSentry installation directory.
This script counts the number of files in a folder and can return 1 if the number of files exceeds a threshold. |
' ----------------------
' --- file_count.vbs ---
' ----------------------
' Counts the number of files in a folder (without traversing subfolders)
'
' Returns 1 if the number of files is larger than MyLimit or 0 if the number
' of files is equal or less than MyLimit
Dim FS, FO, FC
Dim MyFolder, MyLimit
' Set your values here
MyFolder = "C:\Batch"
MyLimit = 200
Set FS = CreateObject("Scripting.FileSystemObject")
Set FO = FS.GetFolder(MyFolder)
Set FC = FO.Files
WScript.Echo "Folder " & MyFolder & " contains " & FC.Count & " files."
If FC.Count > MyLimit Then
WScript.Quit(1)
Else
WScript.Quit(0)
End If
This script enumerates all fans in the system that can be monitored through WMI (if supported). If one or more of the monitored fans report a status other than "Other", "Unknown" or "Running", then the script will return 1. |
' --------------------------
' --- system_faninfo.vbs ---
' --------------------------
On Error Resume Next
Dim GlobalError
GlobalError = 0
Function ExplainAvailability(Availability)
Select Case Availability
Case 1: ExplainAvailability = "Other"
Case 2: ExplainAvailability = "Unknown"
Case 3: ExplainAvailability = "Running / Full Power"
Case 4: ExplainAvailability = "Warning"
Case 5: ExplainAvailability = "In Test"
Case 6: ExplainAvailability = "Not Applicable"
Case 7: ExplainAvailability = "Power Off"
Case 8: ExplainAvailability = "Off Line"
Case 9: ExplainAvailability = "Off Duty"
Case 10: ExplainAvailability = "Degraded"
Case 11: ExplainAvailability = "Not Installed"
Case 12: ExplainAvailability = "Install Error"
Case 13: ExplainAvailability = "Power Save - Unknown"
Case 14: ExplainAvailability = "Power Save - Low Power Mode"
Case 15: ExplainAvailability = "Power Save - Standby"
Case 16: ExplainAvailability = "Power Cycle"
Case 17: ExplainAvailability = "Power Save - Warning"
End Select
End Function
Function ExplainStatus(Status)
Select Case Status
Case 1: ExplainStatus = "Other"
Case 2: ExplainStatus = "Unknown"
Case 3: ExplainStatus = "Enabled"
Case 4: ExplainStatus = "Disabled"
Case 5: ExplainStatus = "Not Applicable"
End Select
End Function
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Fan")
For Each objItem in colItems
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Active Cooling: " & objItem.ActiveCooling
Wscript.Echo "Availability: " & ExplainAvailability(objItem.Availability) & " (" & objItem.Availability & ")"
Wscript.Echo "Device ID: " & objItem.DeviceID
Wscript.Echo "Status Info: " & ExplainStatus(objItem.StatusInfo) & " (" & objItem.StatusInfo & ")"
Wscript.Echo
' Analyze
If objItem.Availability > 3 Then
GlobalError = 1
End If
Next
Wscript.Quit(GlobalError)