Nyers és formázott teljesítményadat-objektumok dokumentációjának lekérése

Az alábbi témakör bemutatja, hogyan kérhető le a dinamikusan létrehozott nyers vagy formázott adatobjektumok online programozási dokumentációja.

A WMI számos objektumot tartalmaz, amelyek nyomon követik a teljesítményt. A Win32_PerfRawData származtatott osztályok nyers vagy "feldolgozatlan" teljesítményadatokat tartalmaznak, és az Teljesítményszámláló szolgáltatóáltal támogatottak. Ezzel szemben a Win32_PerfFormattedData származó osztályok formázott adatokat tartalmaznak, és a Formázott Teljesítményadat-szolgáltatótámogatja.

Mindkét szolgáltató azonban számos dinamikusan létrehozott gyermekosztályt támogat. Mivel a tulajdonságok futásidőben vannak hozzáadva, ezek az osztályok nem dokumentált tulajdonságokat tartalmazhatnak. Az alábbi kóddal azonosíthatja, hogy egy adott dinamikusan létrehozott osztály milyen tulajdonságokkal rendelkezik.

Dinamikusan létrehozott osztály leírásának lekérése

  1. Hozza létre az elem egy példányát, és állítsa a módosított minősítőt igaz értékre.

    $osClass = New-Object System.Management.ManagementClass Win32_ClassNameHere  
    $osClass.Options.UseAmendedQualifiers = $true
    
  2. Kérje le az osztály tulajdonságait.

    $properties = $osClass.Properties  
    "This class has {0} properties as follows:" -f $properties.count
    
  3. A tulajdonságok megjelenítése.

    foreach ($property in $properties) {  
    "Property Name: {0}" -f $property.Name  
    "Description:   {0}" -f $($property.Qualifiers["Description"].Value)  
    "Type:          {0}" -f $property.Type  
    "-------"
    }
    

Az alábbi kód lekéri a megadott Win32_PerfFormattedData objektum tulajdonságleírásait.

$osClass = New-Object System.Management.ManagementClass Win32_PerfFormattedData_APPPOOLCountersProvider_APPPOOLWAS  
$osClass.Options.UseAmendedQualifiers = $true  
  
# Get the Properties in the class  
$properties = $osClass.Properties  
"This class has {0} properties as follows:" -f $properties.count  
  
  
# display the Property name, description, type, qualifiers and instance values  
  
foreach ($property in $properties) {  
"Property Name: {0}" -f $property.Name  
"Description:   {0}" -f $($property.Qualifiers["Description"].Value)  
"Type:          {0}" -f $property.Type  
"-------"  
}