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

GetCounterSet (Par défaut)

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

ListSetSet

Import-Counter
    [-Path] <String[]>
    -ListSet <String[]>
    [<CommonParameters>]

SummarySet

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 du compteur 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

PS C:\> $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

The first command uses **Import-Counter** to import all of the performance counter data from the ProcessorData.blg files. The command saves the data in the $Data variable.
PS C:\> $Data = Import-Counter .\ProcessorData.blg

The second command displays the counter paths in the $Data variable. To get the display shown in the command output, the example uses the Format-Table cmdlet to format as a table the counter paths of the first counter in the $Data variable.
PS C:\> $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

The third command gets the counter paths that end in "Interrupts/sec" and saves the paths in the $IntCtrs variable. It uses the Where-Object cmdlet to filter the counter paths and the ForEach-Object cmdlet to get only the value of the **Path** property of each selected path object.
PS C:\> $IntCtrs = $Data[0].Countersamples | Where-Object {$_.Path -like "*Interrupts/sec"} | ForEach-Object {$_.Path}

The fourth command displays the selected counter paths in the $IntCtrs variable.
PS C:\> $IntCtrs

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

The fifth command uses the **Import-Counter** cmdlet to import the data. It uses the $IntCtrs variable as the value of the *Counter* parameter to import only data for the counter paths in $IntCtrs.
PS C:\> $I = Import-Counter -Path .\ProcessorData.blg -Counter $intCtrs

The sixth command uses the Export-Counter cmdlet to export the data to the Interrupts.csv file.
PS C:\> $I | Export-Counter -Path .\Interrupts.csv -Format CSV

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 dans 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.

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

The first command uses the *ListSet* parameter of the **Import-Counter** cmdlet to get all of the counter sets that are represented in a counter data file.
PS C:\> 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...}

The second command gets all of the counter paths from the list set.
PS C:\> 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

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

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

The first command lists in a table the time stamps of all of the data in the ProcessorData.blg file.
PS C:\> Import-Counter -Path ".\disk.blg" | Format-Table -Property Timestamp

The second command saves particular time stamps in the $Start and $End variables. The strings are cast to **DateTime** objects.
PS C:\> $Start = [datetime]"7/9/2008 3:47:00 PM"; $End = [datetime]"7/9/2008 3:47:59 PM"

The third command uses the **Import-Counter** cmdlet to get only counter data that has a time stamp between the start and end times (inclusive). The command uses the *StartTime* and *EndTime* parameters of **Import-Counter** to specify the range.
PS C:\> Import-Counter -Path Disk.blg -StartTime $start -EndTime $end

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

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

The first command uses the **Import-Counter** cmdlet to import the first (oldest) five samples from the Disk.blg file. The command uses the *MaxSamples* parameter to limit the import to five counter samples.
PS C:\> Import-Counter -Path "Disk.blg" -MaxSamples 5

The second command uses array notation and the Windows PowerShell range operator (..) to get the last five counter samples from the file. These are the five newest samples.
PS C:\> (Import-Counter -Path Disk.blg)[-1 .. -5]

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.

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

PS C:\> 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

The first command uses the *ListSet* parameter of **Import-Counter** to get the counters in OldData.blg, an existing counter log file. The command uses a pipeline operator (|) to send the data to a ForEach-Object command that gets only the values of the **PathsWithInstances** property of each object
PS C:\> $Counters = Import-Counter OldData.blg -ListSet * | ForEach-Object {$_.PathsWithInstances}

The second command gets updated data for the counters in the $Counters variable. It uses the Get-Counter cmdlet to get a current sample, and then export the results to the NewData.blg file.
PS C:\> Get-Counter -Counter $Counters -MaxSamples 20 | Export-Counter C:\Logs\NewData.blg

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

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

PS C:\> $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

Propriétés du paramètre

Type:

String[]

Valeur par défaut:All counter
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

GetCounterSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-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.

Propriétés du paramètre

Type:DateTime
Valeur par défaut:No end time
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

GetCounterSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 *.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

ListSetSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-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 .

Propriétés du paramètre

Type:Int64
Valeur par défaut:No maximum
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

GetCounterSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Path

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

Entrez le chemin d’accès et le nom de fichier d’un fichier ,.csv,, .tsv ou .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 .

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False
Alias:PSPath

Jeux de paramètres

(All)
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-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.

Propriétés du paramètre

Type:DateTime
Valeur par défaut:No start time
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

GetCounterSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

SummarySet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

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.