Поделиться через


Получение документации по необработанным и форматированным объектам данных производительности

В следующем разделе описывается, как получить локальную документацию по программированию для динамически созданного объекта необработанных или отформатированных данных.

WMI содержит ряд объектов, отслеживающих производительность. Классы, производные от Win32_PerfRawData, содержат необработанные данные о производительности и поддерживаются провайдером счетчиков производительности . В отличие от этого, классы, производные от Win32_PerfFormattedData, содержат "приготовленные" или отформатированные данные и поддерживаются поставщиком форматированных данных производительности .

Однако оба поставщика услуг поддерживают ряд динамически созданных дочерних классов. Так как свойства добавляются во время выполнения, эти классы могут содержать незадокументированные свойства. С помощью следующего кода можно определить, какие свойства имеет заданный динамически созданный класс.

Получение описания динамически созданного класса

  1. Создайте экземпляр элемента и задайте для измененного квалификатора значение true.

    $osClass = New-Object System.Management.ManagementClass Win32_ClassNameHere  
    $osClass.Options.UseAmendedQualifiers = $true
    
  2. Извлеките свойства класса.

    $properties = $osClass.Properties  
    "This class has {0} properties as follows:" -f $properties.count
    
  3. Отображение свойств.

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

Следующий код извлекает описания свойств для указанного объекта Win32_PerfFormattedData.

$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  
"-------"  
}