[THIN] Re: Problems with using WSH/WMI to check services on a Server

  • From: Spriggs Jon <Jon.Spriggs@xxxxxxxxxxxxxx>
  • To: thin@xxxxxxxxxxxxx
  • Date: Tue, 5 Oct 2004 07:50:05 +0100

Cheers for that Spencer! Well spotted!

Jon Spriggs
-- 
The presence of a "Fujitsu" address does not imply or assume that Fujitsu
Services, Fujitsu or any other company containing the Fujitsu name uses or
endorses this product. This email is purely a personal opinion.

-----Original Message-----
From: Spencer Sun [mailto:ssunssun@xxxxxxxxx] 
Sent: 05 October 2004 01:26
To: thin@xxxxxxxxxxxxx
Subject: [THIN] Re: Problems with using WSH/WMI to check services on a
Server


Jon,
Without actually following the logic, I found 10 missing End If statements.

The last bunch of Else IF are missing the End If statement.  Each If or Else
If requires it's own End If statement to close the loop.

I threw 10 End If statements at the end of the script and I received no
compilation errors.

HTH,

Spencer


----- Original Message -----
From: Spriggs Jon <jon.spriggs@xxxxxxxxxxxxxx>
Date: Mon, 4 Oct 2004 23:58:35 +0100
Subject: [THIN] Problems with using WSH/WMI to check services on a Server
To: windows2000@xxxxxxxxxxxxx, thin@xxxxxxxxxxxxx


Hi,
 
I wonder if anyone can help me. I've been toying with the enclosed script,
and I can't make it work... I get so far through the script and then it
starts throwing up bugs...
 
Now, I know my knowledge of VBS, WSH and WMI is a little on the slow side,
but I've checked out all the If / Then / Else If / Else / End If loops, and
all the For / Next loops, and it doesn't *look* like I've missed anything...
have I? I'm using Windows 2k on the desktop (although this is on an XP
laptop as well) and 2k on the server.
 
I get an error message:
 
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
 
D:\pingserver.vbs(130, 7) Microsoft VBScript compilation error: Expected
'End'
 
If anyone can tell me how to cycle through the quotas set on a windows 2000
server with WMI and feed that into a text file, I'd be really grateful -
same with how to backup and reset event logs.
 
Thanks,
 
Jon Spriggs 
-- 
The presence of a "Fujitsu" address does not imply or assume that Fujitsu
Services, Fujitsu or any other company containing the Fujitsu name uses or
endorses this product. This email is purely a personal opinion.
 
--- PingServer.vbs ---
 
On Error Resume Next
 
Dim sHost
Dim sTarget
Dim iSVRResp
Dim iTSCount
Dim iDHCPCount
Dim iDFSCount
Dim iFRSCount
 
sHost = "."
sTarget = "MyW2KServer"
iSVRResp = 0
iTSCount = 0
iDHCPCount = 0
iDFSCount = 0
iFRSCount = 0
 
Set cPingResults = GetObject("winmgmts://" & sHost & "/root/cimv2")._
      ExecQuery("SELECT * FROM Win32_PingStatus WHERE Address = '" + sTarget
+ "'")
 
For Each oPingResult In cPingResults
 If oPingResult.StatusCode = 0 Then
 
  If oPingResult.ResponseTime > 100 Then 
   iSVRResp = 1 
  Else 
   iSVRResp = 2 
  End If
 
  Set cServiceTS = GetObject("winmgmts://" & sTarget & "/root/cimv2")._
    ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName = 'Terminal
Services'")
 
  For Each oServiceTS in cServiceTS
   If oServiceTS.Started = False Then
    iTSCount = 1
   Else
    iTSCount = 2
   End If
 
  Next
  
  Set cServiceDHCP = GetObject("winmgmts://" & sTarget & "/root/cimv2")._
    ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName = 'DHCP
Server'")
  
  For Each oServiceDHCP in cServiceDHCP
   If oServiceDHCP.Started = False Then
    iDHCPCount = 1
   Else
    iDHCPCount = 2
   End If
 
  Next
  
  Set cServiceDFS = GetObject("winmgmts://" & sTarget & "/root/cimv2")._
    ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName = 'Distributed
File System'")
  
  For Each oServiceDFS in cServiceDFS
   If oServiceDFS.Started = False Then
    iDFSCount = 1
   Else
    iDFSCount = 2
   End If
 
  Next
 
  Set cServiceFRS = GetObject("winmgmts://" & sTarget & "/root/cimv2")._
    ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName = 'File
Replication Service'")
 
  For Each oServiceFRS in cServiceFRS
 
   If oServiceDFS.Started = False Then
    iFRSCount = 1
   Else
    iFRSCount = 2
   End If
 
  Next
 
 Else
  iSVRResp = 0
 End If
Next
 
If iSVRResp = 2 AND iTSCount = 2 AND iDHCPCount = 2 AND iDFSCount = 2 AND
iFRSCount = 2 Then
 
 wscript.echo "Server running and all Services Running OK"
 
Else
 
 If iSVRResp = 0 Then
  wscript.echo "Outage: Server Down (" & sTarget & ")"
 Else If iSVRResp = 1 Then
  wscript.echo "Warning: Server Slow (" & sTarget & ")"
 Else If iSVRResp = 2 Then
  wscript.echo "Server responds OK (" & sTarget & ")"
 End If
 
 If iTSCount = 0 Then
  wscript.echo "Warning: Terminal Services Service Does Not Exist On This
Server (" & sTarget & ")"  Else If iTSCount = 1 Then
  wscript.echo "Outage: Terminal Services Service Has Stopped (" & sTarget &
")"  Else If iTSCount = 2 Then
  wscript.echo "Terminal Services Service OK (" & sTarget & ")"  End If
 
 If iDHCPCount = 0 Then
  wscript.echo "Warning: DHCP Server Service Does Not Exist On This Server
(" & sTarget & ")"  Else If iDHCPCount = 1 Then
  wscript.echo "Outage: DHCP Server Service Service Has Stopped (" & sTarget
& ")"  Else If iDHCPCount = 2 Then
  wscript.echo "DHCP Server Service OK (" & sTarget & ")"
 End If
 
 If iDFSCount = 0 Then
  wscript.echo "Warning: DFS Service Does Not Exist On This Server (" &
sTarget & ")"  Else If iDFSCount = 1 Then
  wscript.echo "Outage: DFS Service Service Has Stopped (" & sTarget & ")"
Else If iDFSCount = 2 Then
  wscript.echo "DFS Service OK (" & sTarget & ")"
 End If
 
 If iFRSCount = 0 Then
  wscript.echo "Warning: FRS Service Does Not Exist On This Server (" &
sTarget & ")"  Else If iFRSCount = 1 Then
  wscript.echo "Outage: FRS Service Service Has Stopped (" & sTarget & ")"
Else If iFRSCount = 2 Then
  wscript.echo "FRS Service OK (" & sTarget & ")"
 End If
End If



-- 
Spencer Sun
ssun@xxxxxxxxx
ssun@xxxxxxxx
********************************************************
This Weeks Sponsor RTO Software
Do you know which applications are abusing your CPU and memory?
Would you like to learn? --   Free for a limited time!
Get the RTO Performance Analyzer to quickly learn the applications, users,
and time of day possible problems exist.
http://www.rtosoft.com/enter.asp?id=320
********************************************************** 
Useful Thin Client Computing Links are available at:
http://thin.net/links.cfm
***********************************************************
For Archives, to Unsubscribe, Subscribe or 
set Digest or Vacation mode use the below link:
http://thin.net/citrixlist.cfm
********************************************************
This Weeks Sponsor RTO Software
Do you know which applications are abusing your CPU and memory?
Would you like to learn? --   Free for a limited time!
Get the RTO Performance Analyzer to quickly learn the applications, users,
and time of day possible problems exist.
http://www.rtosoft.com/enter.asp?id=320
********************************************************** 
Useful Thin Client Computing Links are available at:
http://thin.net/links.cfm
***********************************************************
For Archives, to Unsubscribe, Subscribe or 
set Digest or Vacation mode use the below link:
http://thin.net/citrixlist.cfm
  • Follow-Ups:

Other related posts: