Hello! I need to figure out a way to create a view based on the agent not having one of two different programs installed. I can create a view that shows me the agents missing one application or the other, but I haven't found a way to combine the listing. Here's what I am trying to do. We have about 3000 desktops in our organization, and for the most part either Symantec Endpoint Protection or the older Symantec Antivirus is installed. What I need to be able to display is a listing of agents that do not have one of the two installed. Listing multiple applications in the "Missing application" box of the view definition does not produce the desired results. I've tried listing the two executables with OR between, I've tried putting the executables in double quotes and also in single quotes, but nothing works. The Advanced filter set does not appear to be able to filter based on audit information, so that didn't work either. Does anybody know a way that I can get my listing?
David, I don't know how to accomplish that with a view as I've run in to the same problem as you. One of the things I've done to get around it was to use a vbscript that runs and checks for those app's from the add/remove keys. I then write that to an event log and have kaseya pull the results. From there you should be able to do an event log set that writes to the script log or creates a ticket.
You could even change the script up to write to a log file on the c:\ and then pull that back into kaseya and write to agent procedure log. Anyway, here's the script:
if you notice, I've used "Ticket Trigger" in my event set that I create, this is what I use to look for in Event Set to trigger an action of my desire. You could taylor that to what ever you like, and this script is fairly flexible so it should work on more then just adobe and symantec. The usage is fairly simple
Kscript that writes app_ver_check.vbs to c:\kworking
execute shell command 'c:\kworking\app_ver_check.vbs symantec 1001'
the 1001 should be the version of symantec (or what ever app you're looking for) but you'll want to check the version string in the uninstall key (registry) as that's what this is looking to match. It should report back version deficiencies meaning anything less then 1001 for version number. Anything greater then it'll see as accetpable
'Created By Danrche
'run with command line arguments
'to get app string match
'and version match or less then
'app_ver_check.vbs "adobe reader" 1001
'that should check for adobe reader
'versions are upto date for 10
Set oArgs = WScript.Arguments
iCount = WScript.Arguments.Count
sCmdLine0 = WScript.Arguments.Item(0)
iCmdLine1 = WScript.Arguments.Item(1)
If iCount <> 2 Then
WScript.Echo "The correct usage is 'App_Ver_Check.vbs 'app' 'version''"
ElseIf IsNumeric(iCmdLine1) <> True Then
WScript.Echo "The version number should be of a numerical value with no '' or ."
sfindapp sCmdLine0, iCmdLine1
Sub sfindapp(sAPP, iVersion)
On Error Resume Next
iFound = 0 'place holder if not found
Const HKEY_LOCAL_MACHINE = &H80000002
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshNetwork = WScript.CreateObject("Wscript.Network")
Set oReg = GetObject("winmgmts:\\" & WshNetwork.ComputerName & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
disHolder = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" _
& subkey & "\DisplayName")
disVer = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" _
& subkey & "\DisplayVersion")
If instr(1, disHolder, sAPP, 1) = 1 Then
iFound = 1
myArray = split(disVer, ".")
t = ""
For Each x In myArray
t = t & x
If CInt(t) >= CInt(iVersion) Then
'Wscript.Echo CInt(t) & " " & CInt(iVersion)
WshShell.LogEvent 4 , disHolder & " Version is " & disVer
ElseIf CInt(t) < CInt(iVersion) Then
'Wscript.Echo CInt(t) & " " & CInt(iVersion) & "2nd"
'writes to event log as info
miMsg = "Ticket Trigger" & vbCrlf & disHolder & " Version Deficiency " & disVer
WshShell.LogEvent 4, miMsg
If iFound = 0 Then WshShell.LogEvent 4, "Ticket Trigger " & sAPP & " was not found"
Thanks danrche, I'll give that a try.