Classes have a hierarchy
function cim-classHierarchy([cimClass] $cls) {
if ($cls.cimSuperClass -ne $null) {
cim-classHierarchy $cls.cimSuperClass
}
$p = $cls.cimSystemProperties
"$($p.namespace) $($p.className)"
}
PS C:\> cim-classHierarchy (get-cimclass Win32_ComputerSystem)
ROOT/Cimv2 CIM_ManagedSystemElement
ROOT/Cimv2 CIM_LogicalElement
ROOT/Cimv2 CIM_System
ROOT/Cimv2 CIM_ComputerSystem
ROOT/Cimv2 CIM_UnitaryComputerSystem
ROOT/Cimv2 Win32_ComputerSystem
VBScript
The following simple script demonstrates how WMI can be queried with
VBScript:
option explicit
dim winos
set winos = getObject("winmgmts:").instancesOf("Win32_OperatingSystem")
dim rec
for each rec in winos ' {
wScript.echo "Caption: " & rec.caption
wScript.echo "Manufacturer: " & rec.manufacturer
wScript.echo "Build Type: " & rec.BuildType
WScript.echo "Version: " & rec.Version
WScript.echo "Locale: " & rec.Locale
WScript.echo "Windows Directory: " & rec.windowsDirectory
WScript.echo "Total memory: " & round(rec.totalVisibleMemorySize/1024/1024) & " MB"
WScript.echo "Serial Number: " & rec.SerialNumber
Wscript.echo ""
next ' }
C:\users\rene> cscript query-Win32.vbs