如何从WMI类中列出的值计数...
问题描述:
我有下面的VBScript ....当执行它将给这个类中的所有应用程序“SELECT * FROM Application”..我想要的是一个这些应用程序的计数...我正在寻找这个脚本有vbscript或powrershell ...如何从WMI类中列出的值计数...
totall包名称计数..说如果app-v客户端有10个不同应用程序它应该显示为10应用程序是有...
On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
arrComputers = Array(".")
For Each strComputer In arrComputers
WScript.Echo
WScript.Echo "=========================================="
WScript.Echo "Computer: " & strComputer
WScript.Echo "=========================================="
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\microsoft\appvirt\client")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Application", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
WScript.Echo "CachedOsdPath: " & objItem.CachedOsdPath
WScript.Echo "GlobalRunningCount: " & objItem.GlobalRunningCount
WScript.Echo "LastLaunchOnSystem: " & WMIDateStringToDate(objItem.LastLaunchOnSystem)
WScript.Echo "Loading: " & objItem.Loading
WScript.Echo "Name: " & objItem.Name
WScript.Echo "OriginalOsdPath: " & objItem.OriginalOsdPath
WScript.Echo "PackageGUID: " & objItem.PackageGUID
WScript.Echo "Version: " & objItem.Version
WScript.Echo
Next
Next
Function WMIDateStringToDate(dtmDate)
WScript.Echo dtm:
WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
& " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function
答
你将无法得到,如果你使用wbemFlagForwardOnly标志,以便执行查询没有它SWbemCollection项目计数。这里是一个例子:
Set objWMIService = GetObject("winmgmts:")
Set colItems = objWMIService.ExecQuery("Select * From Win32_Process")
WScript.Echo colItems.Count
For Each objItem In colItems
WScript.Echo objItem.Name
Next