Récupération de la documentation pour les objets de données de performances brutes et mises en forme

La rubrique suivante explique comment récupérer la documentation de programmation en ligne pour un objet de données brutes ou mises en forme créé dynamiquement.

WMI contient un certain nombre d’objets qui effectuent le suivi des performances. Les classes dérivées deWin32_PerfRawData contiennent des données de performances brutes ou « non traitées » et sont prises en charge par le fournisseur compteur de performances. En revanche, les classes dérivées de Win32_PerfFormattedData contiennent des données « traitées» ou mises en forme et sont prises en charge par le fournisseur de données de performances mises en forme.

Toutefois, les deux fournisseurs prennent en charge un certain nombre de classes enfants créées dynamiquement. Étant donné que les propriétés sont ajoutées au moment de l’exécution, ces classes peuvent contenir des propriétés non documentées. Vous pouvez utiliser le code suivant pour identifier les propriétés d’une classe créée dynamiquement.

Pour récupérer une description d’une classe créée dynamiquement

  1. Créez une instance de l’élément et définissez le qualificateur modifié sur true.

    $osClass = New-Object System.Management.ManagementClass Win32_ClassNameHere  
    $osClass.Options.UseAmendedQualifiers = $true
    
  2. Récupérez les propriétés de la classe .

    $properties = $osClass.Properties  
    "This class has {0} properties as follows:" -f $properties.count
    
  3. Affichez les propriétés.

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

Le code suivant récupère les descriptions des propriétés de l’objet Win32_PerfFormattedData spécifié.

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