Below is a VBScript from scripts and tips that displays processes and services information in individual message boxes one after another. Would anyone have the time to rewrite this so that it creates text blobs that include %crlf% delimited lists of all the processes and all of the services? They would be individual blobs. The format of each line of information is good. I just don't know how to get each entire list assigned to a Macro Scheduler variable.
Code: Select all
VBSTART
'Two Subs which output data in message boxes to demonstrate how to
'get service and process information.
'displays each service and it's status
Sub Services
strComputer = "."
Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_Service")
For Each wbemObject In wbemObjectSet
MsgBox "Display Name: " & wbemObject.DisplayName & vbCrLf & _
" State: " & wbemObject.State & vbCrLf & _
" Start Mode: " & wbemObject.StartMode
Next
End Sub
Sub Processes
'displays each process, it's size
'lists each process and the cpu time it has used.
sComputer = "."
Set oWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
Set colProcessList = oWMIService.ExecQuery _
("Select Name, WorkingSetSize from Win32_Process")
For Each oProcess in colProcessList
MsgBox oProcess.Name & "," & oProcess.WorkingSetSize / 1024
Next
'The current CPU percentage usage vs. other processes is not available with WMI,
'only the total CPU time each process has used (kernelmodetime + usermodetime):
Set oWMI = GetObject("winmgmts:")
sWQL = "select name, kernelmodetime, usermodetime " _
& " from win32_process"
Set oResults = oWMI.ExecQuery(sWQL)
For Each oProcess In oResults
MsgBox "name: " & oProcess.name & _
",kernelmodetime: " & oProcess.kernelmodetime & _
",usermodetime: " & oProcess.usermodetime
Next
End Sub
VBEND
VBRun>Services
VBRun>Processes