Systems Management archives - The VBScript Network and Systems Administrator's Cafe

The VBScript Network and Systems Administrator's Cafe:

systems management

Apr 20 2009   1:44PM GMT

Parsing the Windows Event log for specific data



Posted by: Jerry Lees
Eventlogs, Win32_NTLogEvent, System Administration, systems management, VBScript

If you’ve ever tried to find a specific event log entry in a system you know what a chore it can be to find them. Sure, you can filter on the event ID and get closer but, some applications (and system components) log every event that’s from the same source as the same event ID.

IIS is terribly bad about this! Additionally, Microsoft’s search filtering isn’t powerful enough to search in the even description or the event message. The script below solves that problem!

GetLogInfo “ServerName”,”EventID”, “application”, “20081218″

Function GetLogInfo( StrComputer1, EventID, EventLogType, YYYYMMDD)

 Dim objWMIService, colItems, objItem
 Dim TempStr

 On Error Resume Next
  ‘ error control block
  Set objWMIService = GetObject(”winmgmts:{impersonationLevel=impersonate}//” & strComputer1 & “\root\cimv2″)
  Set colItems = objWMIService.ExecQuery (”Select * from Win32_NTLogEvent Where EventCode=” & EventID & ” and logfile=’” & EventlogType & “‘”)
  For Each objItem in colItems
       TempStr = “”
       If mid(objItem.timegenerated,1,8) = YYYYMMDD Then
         TempStr = objItem.message         
         If Replace(TempStr,”Exception message: Request timed out.”,””) <> TempStr Then 
            TempStr = Mid(TempStr,InStr(1,TempStr,”Request URL: “)+13, 100)
            TempStr = Mid(TempStr,1,InStr(1,TempStr,”.aspx”)+4)
            WScript.Echo StrComputer1 & “,” & TempStr
         End if
       End if
  Next
 On Error GoTo 0
End Function

Apr 9 2009   4:23PM GMT

Writing a BGINFO like Script: Displaying IP Address settings with WMI via the Win32_NetworkAdapterConfiguration class



Posted by: Jerry Lees
bginfo, VBScript, VBScript Functions, Systems Administration, systems management, Systems administrator tools, systems reporting

I recently had to provide the information displayed with BGINFO on a number of systems. Unfortunately, BGInfo only generates a bitmap, so far as I know, so I decided to write a script to generate the information and use this displayed information to send back to the person who requested it.

The function below is a part of the script I mentioned. It retrieves and returns text that represents the IP address settings for the network cards installed in a system.

You can view all the scripts in this BGINFO series here.

Here is the code:

Function GetIPAddresses(strComputer)
Dim colItems, objItem, address
Dim StrQuery
Dim objWMIService
Dim IP

StrQuery = “SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True”
Set objWMIService = GetObject(”winmgmts:\\” & strComputer & “\root\CIMV2″)
Set colItems = objWMIService.ExecQuery(strQuery,,48)

For Each objItem in colItems
For Each address In objItem.ipaddress
IP = replace(address,”:”,””)
‘IP = Replace(IP,vbnull,”No IP Assigned”)
GetIPAddresses = GetIPAddresses & vbTab & mid(objItem.caption,InStr(objItem.caption,”]”)+2) & “: ” & IP & vbcrLF
Next
Next
End Function


Apr 7 2009   4:23PM GMT

Writing a BGINFO like Script: Displaying Operating System Information with WMI via the Win32_OperatingSystem class



Posted by: Jerry Lees
bginfo, VBScript, VBScript Functions, Systems Administration, systems management, Systems administrator tools, systems reporting

I recently had to provide the information displayed with BGINFO on a number of systems. Unfortunately, BGInfo only generates a bitmap, so far as I know, so I decided to write a script to generate the information and use this displayed information to send back to the person who requested it.

The function below is a part of the script I mentioned. It retrieves and returns text that represents the operating system and service pack information installed on a system.

You can view all the scripts in this BGINFO series here.

Here is the code:

Function GetOSVersion(strComputer)
Dim colItems, objItem, address
Dim StrQuery
Dim objWMIService
GetOSVersion = VbCrLfStrQuery = “SELECT * FROM Win32_OperatingSystem”
Set objWMIService = GetObject(”winmgmts:\\” & strComputer & “\root\CIMV2″)
Set colItems = objWMIService.ExecQuery(strQuery,,48)

 

For Each objItem in colItems
GetOSVersion = GetOSVersion & vbTab & replace(objItem.caption,”(R)”,””) & VbCrLf
GetOSVersion = GetOSVersion & vbTab & “Service Pack ” & objitem.ServicePackMajorVersion & VbCrLf
Next
End Function


Apr 2 2009   1:23PM GMT

Writing a BGINFO like Script: Displaying Page File information with WMI via the Win32_Pagefile class



Posted by: Jerry Lees
bginfo, VBScript, VBScript Functions, Systems Administration, systems management, Systems administrator tools, systems reporting

I recently had to provide the information displayed with BGINFO on a number of systems. Unfortunately, BGInfo only generates a bitmap, so far as I know, so I decided to write a script to generate the information and use this displayed information to send back to the person who requested it.

The function below is a part of the script I mentioned. It retrieves and returns text that represents the total page file space allocated in a system.

You can view all the scripts in this BGINFO series here.

Here is the code:

Function GetPageFile(strComputer)
Dim colItems, objItem, address
Dim StrQuery
Dim objWMIService
GetPageFile = VbCrLfStrQuery = “SELECT * FROM Win32_PageFile”
Set objWMIService = GetObject(”winmgmts:\\” & strComputer & “\root\CIMV2″)
Set colItems = objWMIService.ExecQuery(strQuery,,48)

 

For Each objItem in colItems
GetPageFile = GetPageFile & vbTab & ((objItem.filesize/1024)/1024) & ” Mb” & vbcrlf
Next
End Function


Mar 31 2009   1:22PM GMT

Writing a BGINFO like Script: Displaying Memory information via WMI using the Win32_PhysicalMemory class



Posted by: Jerry Lees
bginfo, VBScript, VBScript Functions, Systems Administration, systems management, Systems administrator tools, systems reporting

I recently had to provide the information displayed with BGINFO on a number of systems. Unfortunately, BGInfo only generates a bitmap, so far as I know, so I decided to write a script to generate the information and use this displayed information to send back to the person who requested it.

The function below is a part of the script I mentioned. It retrieves and returns text that represents the total amount of physical memory in a system.

You can view all the scripts in this BGINFO series here.

Here is the code:

Function GetPhysicalMemory(strComputer)
Dim colItems, objItem, address
Dim StrQuery
Dim objWMIService, RAM
GetPhysicalMemory = VbCrLf
RAM = 0

StrQuery = “SELECT * FROM Win32_PhysicalMemory”
Set objWMIService = GetObject(”winmgmts:\\” & strComputer & “\root\CIMV2″)
Set colItems = objWMIService.ExecQuery(strQuery,,48)

For Each objItem in colItems
RAM = RAM + objItem.capacity
Next
GetPhysicalMemory = GetPhysicalMemory & vbTab & (((RAM/1024)/1024)/1024) & ” Gb” & VbCrLf
End Function


Mar 30 2009   4:13PM GMT

Writing a BGINFO like Script: Displaying Processor information with WMI via the Win32_Processor class



Posted by: Jerry Lees
bginfo, VBScript, VBScript Functions, Systems Administration, systems management, Systems administrator tools, systems reporting

I recently had to provide the information displayed with BGINFO on a number of systems. Unfortunately, BGInfo only generates a bitmap, so far as I know, so I decided to write a script to generate the information and use this displayed information to send back to the person who requested it.

The function below is a part of the script I mentioned. It retrieves and returns text that represents the Processor information in the system and teh number of processors in the system. (Note: At this time I don’t have a dual core system to test it with, I believe that it will diplay the number of cores in the system. So, 4 dual core processors will be displayed as 8 processors/cores.)

You can view all the scripts in this BGINFO series here.

Here is the code:

Function GetCPUs(strComputer)
Dim colItems, objItem, address
Dim StrQuery
Dim objWMIService
Dim CoresCores = 0

 

 

StrQuery = “SELECT * FROM Win32_Processor”
Set objWMIService = GetObject(”winmgmts:\\” & strComputer & “\root\CIMV2″)
Set colItems = objWMIService.ExecQuery(strQuery,,48)

For Each objItem in colItems
If Replace objItem.name,”GHz”,””) = objItem.name then
GetCPUs =(round(objItem.CurrentClockSpeed/1024,1)) & “GHz” & ” ” & objItem.name & VbCrLf
Else
GetCPUs = objItem.name & VbCrLf
end if
Cores = Cores + 1
Next
GetCPUs =  vbTab & Cores & ” Processors/Cores that are: ” & GetCPUs
End Function


Mar 25 2009   2:49PM GMT

Writing a BGINFO like Script: Displaying MAC Address information with WMI via the Win32_NetworkAdapter class



Posted by: Jerry Lees
bginfo, VBScript, VBScript Functions, Systems Administration, systems management, Systems administrator tools, systems reporting

I recently had to provide the information displayed with BGINFO on a number of systems. Unfortunately, BGInfo only generates a bitmap, so far as I know, so I decided to write a script to generate the information and use this displayed information to send back to the person who requested it.

The function below is a part of the script I mentioned. It retrieves and returns text that represents the total space and the total free space on all the physical hard drives in a system.

You can view all the scripts in this BGINFO series here.

Here is the code:

Function GetMACAddress(strComputer)
Dim colItems, objItem, address
Dim StrQuery
Dim objWMIService

StrQuery = “SELECT * FROM Win32_NetworkAdapter”
Set objWMIService = GetObject(”winmgmts:\\” & strComputer & “\root\CIMV2″)
Set colItems = objWMIService.ExecQuery(strQuery,,48)

For Each objItem in colItems
if objitem.MACAddress <> vbnull Then
GetMACAddress = GetMACAddress & vbTab & objItem.name & “: ” & objItem.MACAddress & VbCrLf
End If
Next
End Function


Mar 20 2009   4:32PM GMT

Writing a BGINFO like Script: Displaying DNS Server settings with WMI via the Win32_NetworkAdapterConfiguration class



Posted by: Jerry Lees
bginfo, VBScript, VBScript Functions, Systems Administration, systems management, Systems administrator tools, systems reporting

I recently had to provide the information displayed with BGINFO on a number of systems. Unfortunately, BGInfo only generates a bitmap, so far as I know, so I decided to write a script to generate the information and use this displayed information to send back to the person who requested it.

The function below is a part of the script I mentioned. It retrieves and returns text that represents the DNS Server settings for the network adapters in the system.

You can view all the scripts in this BGINFO series here.

Here is the code:

Function GetDNSAddress(strComputer)
on error resume next
Dim colItems, objItem, address
Dim StrQuery
Dim objWMIService
Dim IP

StrQuery = “SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True”
Set objWMIService = GetObject(”winmgmts:\\” & strComputer & “\root\CIMV2″)
Set colItems = objWMIService.ExecQuery(strQuery,,48)

For Each objItem in colItems
For Each address In objItem.DNSServerSearchOrder
IP = replace(address,”:”,””)
‘IP = Replace(IP,vbnull,”No IP Assigned”)
GetDNSAddress = GetDNSAddress & vbTab & mid(objItem.caption,InStr(objItem.caption,”]”)+2) & “: ” & IP & vbcrLF
Next
Next
On Error GoTo 0
End Function


Mar 17 2009   4:36PM GMT

Writing a BGINFO like Script: Displaying Network Adapter Speed with WMI via the Win32_NetworkAdapter class



Posted by: Jerry Lees
bginfo, VBScript, VBScript Functions, Systems Administration, systems management, Systems administrator tools, systems reporting

I recently had to provide the information displayed with BGINFO on a number of systems. Unfortunately, BGInfo only generates a bitmap, so far as I know, so I decided to write a script to generate the information and use this displayed information to send back to the person who requested it.

The function below is a part of the script I mentioned. It retrieves and returns text that represents the speed of teh network adapters in a system.

You can view all the scripts in this BGINFO series here.

Here is the code:

Function GetNetworkSpeed(strComputer)
Dim colItems, objItem, address
Dim StrQuery
Dim objWMIService

StrQuery = “SELECT * FROM Win32_NetworkAdapter”
Set objWMIService = GetObject(”winmgmts:\\” & strComputer & “\root\CIMV2″)
Set colItems = objWMIService.ExecQuery(strQuery,,48)

For Each objItem in colItems
GetNetworkSpeed = GetNetworkSpeed & vbTab & objItem.ProductName & vbCr
Next
End Function


Mar 13 2009   11:05AM GMT

Writing a BGINFO like Script: Displaying Disk Statistics with WMI via the Win32_LogicalDisk class



Posted by: Jerry Lees
bginfo, VBScript, VBScript Functions, Systems Administration, systems management, Systems administrator tools, systems reporting, Win32_logicaldisk

I recently had to provide the information displayed with BGINFO on a number of systems. Unfortunately, BGInfo only generates a bitmap, so far as I know, so I decided to write a script to generate the information and use this displayed information to send back to the person who requested it.

The function below is a part of the script I mentioned. It retrieves and returns text that represents the total space and the total free space on all the physical hard drives in a system.

You can view all the scripts in this BGINFO series here.

Here is the code:

Function GetDiskInfo(strComputer)
Dim colItems, objItem, address
Dim StrQuery
Dim objWMIService

StrQuery = “SELECT * FROM Win32_logicaldisk”
Set objWMIService = GetObject(”winmgmts:\\” & strComputer & “\root\CIMV2″)
Set colItems = objWMIService.ExecQuery(strQuery,,48)
GetDiskInfo = VbCrLf

For Each objItem in colItems
if objitem.MediaType = 12 Then
GetDiskInfo = GetDiskInfo & vbTab & objItem.Caption & “\ ” & Round((((objItem.size/1024)/1024)/1024),2) & ” GB Total with ” & Round((((objItem.Freespace/1024)/1024)/1024),2) & ” GB free” & ” (” & objitem.filesystem & “)” & VbCrLf
End If
Next
End Function