Recuperación de documentación para objetos de datos de rendimiento sin formato y con formato
En el tema siguiente se describe cómo recuperar la documentación de programación en línea para un objeto de datos sin procesar o formateados creado dinámicamente.
WMI contiene una serie de objetos que realizan un seguimiento del rendimiento. Las clases derivadas de Win32_PerfRawData contienen datos de rendimiento sin procesar o "sin cocinar" y son compatibles con el proveedor de contadores de rendimiento. Por el contrario, las clases derivadas de Win32_PerfFormattedData contienen datos "cocinados" o con formato y son compatibles con el proveedor de datos de rendimiento con formato.
Sin embargo, ambos proveedores admiten varias clases secundarias creadas dinámicamente. Dado que las propiedades se agregan en tiempo de ejecución, estas clases pueden contener propiedades no documentadas. Puede usar el código siguiente para identificar qué propiedades tiene una clase determinada creada dinámicamente.
Para recuperar una descripción de una clase creada dinámicamente
Cree una instancia del elemento y establezca el calificador modificado en true.
$osClass = New-Object System.Management.ManagementClass Win32_ClassNameHere $osClass.Options.UseAmendedQualifiers = $true
Recupere las propiedades de la clase .
$properties = $osClass.Properties "This class has {0} properties as follows:" -f $properties.count
Muestra las propiedades.
foreach ($property in $properties) { "Property Name: {0}" -f $property.Name "Description: {0}" -f $($property.Qualifiers["Description"].Value) "Type: {0}" -f $property.Type "-------" }
El código siguiente recupera las descripciones de propiedad del objeto Win32_PerfFormattedData especificado.
$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
"-------"
}