Partager via


Import-Counter

Importe les fichiers journaux des compteurs de performances et crée les objets qui représentent chaque exemple de compteur dans le journal.

Syntaxe

Import-Counter
      [-Path] <String[]>
      [-StartTime <DateTime>]
      [-EndTime <DateTime>]
      [-Counter <String[]>]
      [-MaxSamples <Int64>]
      [<CommonParameters>]
Import-Counter
      [-Path] <String[]>
      -ListSet <String[]>
      [<CommonParameters>]
Import-Counter
      [-Path] <String[]>
      [-Summary]
      [<CommonParameters>]

Description

L’applet de commande Import-Counter importe les données du compteur de performances à partir des fichiers journaux des compteurs de performances et crée des objets pour chaque exemple de compteur dans le fichier. Les objets PerformanceCounterSampleSet qu’il crée sont identiques aux objets qui Get-Counter retournent lorsqu’il collecte des données de compteur de performances.

Vous pouvez importer des données à partir d’une valeur séparée par des virgules (.csv), une valeur séparée par des tabulations (.tsv) et des fichiers journaux de performances binaires (.blg). Si vous utilisez des fichiers .blg, vous pouvez importer jusqu’à 32 fichiers dans chaque commande. Vous pouvez utiliser les paramètres de Import-Counter pour filtrer les données que vous importez.

Outre les applets de commande Get-Counter et Export-Counter, cette fonctionnalité vous permet de collecter, d’exporter, d’importer, de combiner, de filtrer, de manipuler et de réexporter les données du compteur de performances dans Windows PowerShell.

Exemples

Exemple 1 : Importer toutes les données de compteur à partir d’un fichier

$data = Import-Counter -Path ProcessorData.csv

Cette commande importe toutes les données de compteur du fichier ProcessorData.csv dans la variable $data.

Exemple 2 : Importer des données de compteur spécifiques à partir d’un fichier

$i = Import-Counter -Path "ProcessorData.blg" -Counter "\\SERVER01\Processor(_Total)\Interrupts/sec"

Cette commande importe uniquement les données de compteur « Processor(_total)\Interrupts/sec » du fichier ProcessorData.blg dans la variable $i.

Exemple 3 : Sélectionner des données à partir d’un compteur de performances, puis les exporter vers un fichier

Cet exemple montre comment sélectionner des données à partir d’un fichier journal du compteur de performances (.blg), puis exporter les données sélectionnées vers un fichier .csv. Les quatre premières commandes obtiennent les chemins du compteur à partir du fichier et les enregistrent dans la variable nommée $data. Les deux dernières commandes importent les données sélectionnées, puis exportent uniquement les données sélectionnées.

$data = Import-Counter .\ProcessorData.blg
$data[0].CounterSamples | Format-Table -Property Path

Path
----
\\SERVER01\Processor(_Total)\DPC Rate
\\SERVER01\Processor(1)\DPC Rate
\\SERVER01\Processor(0)\DPC Rate
\\SERVER01\Processor(_Total)\% Idle Time
\\SERVER01\Processor(1)\% Idle Time
\\SERVER01\Processor(0)\% Idle Time
\\SERVER01\Processor(_Total)\% C3 Time
\\SERVER01\Processor(1)\% C3 Time

$intCtrs = $Data[0].Countersamples | Where-Object {$_.Path -like "*Interrupts/sec"} | ForEach-Object {$_.Path}
$intCtrs

\\SERVER01\Processor(_Total)\Interrupts/sec
\\SERVER01\Processor(1)\Interrupts/sec
\\SERVER01\Processor(0)\Interrupts/sec

$i = Import-Counter -Path .\ProcessorData.blg -Counter $intCtrs
$i | Export-Counter -Path .\Interrupts.csv -Format CSV

La première commande utilise Import-Counter pour importer toutes les données du compteur de performances à partir des fichiers ProcessorData.blg. La commande enregistre les données dans la variable $data.

La deuxième commande affiche les chemins de compteur dans la variable $data. Pour obtenir l’affichage affiché dans la sortie de commande, l’exemple utilise l’applet de commande Format-Table pour mettre en forme en tant que tableau les chemins de compteur du premier compteur dans la variable $data.

La troisième commande obtient les chemins d’accès du compteur qui se terminent par Interrupts/sec et enregistre les chemins d’accès dans la variable $intCtrs. Il utilise l’applet de commande Where-Object pour filtrer les chemins de compteur et l’applet de commande ForEach-Object pour obtenir uniquement la valeur de la propriété Path de chaque objet path sélectionné.

La quatrième commande affiche les chemins de compteur sélectionnés dans la variable $intCtrs.

La cinquième commande utilise l’applet de commande Import-Counter pour importer les données. Elle utilise la variable $intCtrs comme valeur du paramètre Counter pour importer uniquement des données pour les chemins de compteur dans $intCtrs.

La sixième commande utilise l’applet de commande Export-Counter pour exporter les données dans le fichier Interrupts.csv.

Exemple 4 : Afficher tous les chemins d’accès des compteurs dans un groupe de jeux de compteurs importés

Cet exemple montre comment afficher tous les chemins d’accès des compteurs dans un groupe de jeux de compteurs importés.

Import-Counter -Path ProcessorData.csv -ListSet *

CounterSetName     : Processor
MachineName        : \\SERVER01
CounterSetType     : MultiInstance
Description        :
Paths              : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor(*)\% Idle Time, \\SERVER01
\Processor(*)\% C3 Time, \\SERVER01\Processor(*)\% Interrupt Time...}
PathsWithInstances : {\\SERVER01\Processor(_Total)\DPC Rate, \\SERVER01\Processor(1)\DPC Rate, \\SERVER01
\Processor(0)\DPC Rate, \\SERVER01\Processor(_Total)\% Idle Time...}
Counter            : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor(*)\% Idle Time, \\SERVER01
\Processor(*)\% C3 Time, \\SERVER01\Processor(*)\% Interrupt Time...}

Import-Counter -Path ProcessorData.csv -ListSet * | ForEach-Object {$_.Paths}

\\SERVER01\Processor(*)\DPC Rate
\\SERVER01\Processor(*)\% Idle Time
\\SERVER01\Processor(*)\% C3 Time
\\SERVER01\Processor(*)\% Interrupt Time
\\SERVER01\Processor(*)\% C2 Time
\\SERVER01\Processor(*)\% User Time
\\SERVER01\Processor(*)\% C1 Time
\\SERVER01\Processor(*)\% Processor Time
\\SERVER01\Processor(*)\C1 Transitions/sec
\\SERVER01\Processor(*)\% DPC Time
\\SERVER01\Processor(*)\C2 Transitions/sec
\\SERVER01\Processor(*)\% Privileged Time
\\SERVER01\Processor(*)\C3 Transitions/sec
\\SERVER01\Processor(*)\DPCs Queued/sec
\\SERVER01\Processor(*)\Interrupts/sec

La première commande utilise le paramètre ListSet de l’applet de commande Import-Counter pour obtenir tous les jeux de compteurs représentés dans un fichier de données de compteur.

La deuxième commande obtient tous les chemins d’accès du compteur de l’ensemble de listes.

Exemple 5 : Importer des données de compteur à partir d’une plage d’horodatages

Cet exemple importe uniquement les données de compteur qui ont un horodatage entre les plages de fin spécifiées dans la commande.

Import-Counter -Path ".\disk.blg" | Format-Table -Property Timestamp
$start = [datetime]"7/9/2008 3:47:00 PM"; $end = [datetime]"7/9/2008 3:47:59 PM"
Import-Counter -Path Disk.blg -StartTime $start -EndTime $end

La première commande répertorie dans une table les horodatages de toutes les données du fichier ProcessorData.blg.

La deuxième commande enregistre des horodatages particuliers dans les variables $start et $end. Les chaînes sont converties en objets DateTime.

La troisième commande utilise l’applet de commande Import-Counter pour obtenir uniquement les données de compteur qui ont un horodatage entre les heures de début et de fin (inclusives). La commande utilise les paramètres StartTime et EndTime de Import-Counter pour spécifier la plage.

Exemple 6 : Importer un nombre spécifié d’échantillons les plus anciens à partir d’un fichier journal du compteur de performances

Cet exemple montre comment importer les cinq échantillons les plus anciens et cinq plus récents à partir d’un fichier journal du compteur de performances.

Import-Counter -Path "Disk.blg" -MaxSamples 5
(Import-Counter -Path Disk.blg)[-1 .. -5]

La première commande utilise l’applet de commande Import-Counter pour importer les cinq premiers exemples (les plus anciens) à partir du fichier Disk.blg. La commande utilise le paramètre MaxSamples pour limiter l’importation à cinq exemples de compteurs.

La deuxième commande utilise la notation de tableau et l’opérateur de plage Windows PowerShell (..) pour obtenir les cinq derniers exemples de compteurs à partir du fichier. Il s’agit des cinq échantillons les plus récents.

Exemple 7 : Obtenir un résumé des données de compteur à partir d’un fichier

Import-Counter "D:\Samples\Memory.blg" -Summary

OldestRecord            NewestRecord            SampleCount
------------            ------------            -----------
7/10/2008 2:59:18 PM    7/10/2008 3:00:27 PM    1000

Cette commande utilise le paramètre Summary de l’applet de commande Import-Counter pour obtenir un résumé des données du compteur dans le fichier Memory.blg.

Exemple 8 : Mettre à jour un fichier journal du compteur de performances

Cet exemple met à jour un fichier journal du compteur de performances.

$counters = Import-Counter OldData.blg -ListSet * | ForEach-Object {$_.PathsWithInstances}
Get-Counter -Counter $Counters -MaxSamples 20 | Export-Counter C:\Logs\NewData.blg

La première commande utilise le paramètre ListSet de Import-Counter pour obtenir les compteurs dans OldData.blg, un fichier journal de compteur existant. La commande utilise un opérateur de pipeline (|) pour envoyer les données à une commande ForEach-Object qui obtient uniquement les valeurs des PathsWithInstances propriété de chaque objet

La deuxième commande obtient des données mises à jour pour les compteurs dans la variable $counters. Il utilise l’applet de commande Get-Counter pour obtenir un exemple actuel, puis exporter les résultats dans le fichier NewData.blg.

Exemple 9 : Importer des données du journal des performances à partir de plusieurs fichiers, puis l’enregistrer

$counters = "D:\test\pdata.blg", "D:\samples\netlog.blg" | Import-Counter

Cette commande importe les données du journal des performances à partir de deux journaux et enregistre les données dans la variable $counters. La commande utilise un opérateur de pipeline pour envoyer les chemins du journal des performances à Import-Counter, qui importe les données à partir des chemins spécifiés.

Notez que chaque chemin est placé entre guillemets et que les chemins sont séparés les uns des autres par une virgule.

Paramètres

-Counter

Spécifie, en tant que tableau de chaînes, les compteurs de performances. Par défaut, Import-Counter importe toutes les données de tous les compteurs dans les fichiers d’entrée. Entrez un ou plusieurs chemins de compteur. Les caractères génériques sont autorisés dans la partie Instance du chemin d’accès.

Chaque chemin d’accès de compteur a le format suivant. La valeur ComputerName est requise dans le chemin d’accès. Par exemple:

  • \\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>

Par exemple:

  • \\Server01\Processor(2)\% User Time
  • \\Server01\Processor(*)\% Processor Time
Type:String[]
Position:Named
Valeur par défaut:All counter
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-EndTime

Spécifie une date et une heure de fin que cette applet de commande importe les données de compteur entre les StartTime et les horodatages de ce paramètre. Entrez un objet DateTime, tel qu’un objet créé par l’applet de commande Get-Date. Par défaut, Import-Counter importe toutes les données de compteur dans les fichiers spécifiés par le paramètre Path.

Type:DateTime
Position:Named
Valeur par défaut:No end time
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ListSet

Spécifie les jeux de compteurs de performances représentés dans les fichiers exportés. Les commandes avec ce paramètre n’importent aucune donnée.

Entrez un ou plusieurs noms de jeu de compteurs. Les caractères génériques sont autorisés. Pour obtenir tous les jeux de compteurs dans le fichier, tapez Import-Counter -ListSet *.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-MaxSamples

Spécifie le nombre maximal d’échantillons de chaque compteur à importer. Par défaut, Get-Counter importe toutes les données dans les fichiers spécifiés par le paramètre Path.

Type:Int64
Position:Named
Valeur par défaut:No maximum
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Spécifie les chemins d’accès des fichiers à importer. Ce paramètre est requis.

Entrez le chemin d’accès et le nom de fichier d’un fichier, .csv, .tsvou .blg que vous avez exporté à l’aide de l’applet de commande Export-Counter. Vous ne pouvez spécifier qu’un seul fichier .csv ou .tsv, mais vous pouvez spécifier plusieurs fichiers .blg (jusqu’à 32) dans chaque commande. Vous pouvez également diriger des chaînes de chemin d’accès de fichier (entre guillemets) vers Import-Counter.

Type:String[]
Alias:PSPath
Position:1
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:True

-StartTime

Spécifie la date et l’heure de début dans lesquelles cette applet de commande obtient les données de compteur. Entrez un objet DateTime, tel qu’un objet créé par l’applet de commande Get-Date. Par défaut, Import-Counter importe toutes les données de compteur dans les fichiers spécifiés par le paramètre Path.

Type:DateTime
Position:Named
Valeur par défaut:No start time
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Summary

Indique que cette applet de commande obtient un résumé des données importées, au lieu d’obtenir des exemples de données de compteur individuels.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

String

Vous pouvez diriger les chemins du journal des compteurs de performances vers cette applet de commande.

Sorties

Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo

Cette applet de commande renvoie un Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. Si vous utilisez le paramètre ListSet, cette applet de commande renvoie un objet Microsoft.PowerShell.Commands.GetCounter.CounterSet. Si vous utilisez le paramètre résumé, cette applet de commande renvoie un objet Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo.

Notes

  • Cette applet de commande n’a pas de paramètre ComputerName. Toutefois, si l’ordinateur est configuré pour la communication à distance Windows PowerShell, vous pouvez utiliser l’applet de commande Invoke-Command pour exécuter une commande Import-Counter sur un ordinateur distant.