Dela via


Import-Counter

Importerar loggfiler för prestandaräknare och skapar de objekt som representerar varje räknarexempel i loggen.

Syntax

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

Cmdleten Import-Counter importerar prestandaräknardata från prestandaräknarens loggfiler och skapar objekt för varje räknarexempel i filen. PerformanceCounterSampleSet objekt som skapas är identiska med de objekt som Get-Counter- returnerar när prestandaräknarens data samlas in.

Du kan importera data från kommaavgränsade värden (.csv), tab-separated value ( .tsv) och prestandaloggfiler för binär prestandalogg (.blg). Om du använder .blg-filer kan du importera upp till 32 filer i varje kommando. Du kan använda parametrarna för Import-Counter för att filtrera de data som du importerar.

Tillsammans med cmdletarna Get-Counter och Export-Counter kan du med den här funktionen samla in, exportera, importera, kombinera, filtrera, manipulera och exportera prestandaräknare i Windows PowerShell.

Exempel

Exempel 1: Importera alla räknardata från en fil

$Data = Import-Counter -Path ProcessorData.csv

Det här kommandot importerar alla räknardata från ProcessorData.csv-filen till variabeln $Data.

Exempel 2: Importera specifika räknardata från en fil

PS C:\> $I = Import-Counter -Path "ProcessorData.blg" -Counter "\\SERVER01\Processor(_Total)\Interrupts/sec"

Det här kommandot importerar endast "Processor(_total)\Interrupts/sec" räknardata från filen ProcessorData.blg till variabeln $I.

Exempel 3: Välj data från en prestandaräknare och exportera dem sedan till en fil

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

Det här exemplet visar hur du väljer data från en loggfil för prestandaräknare (.blg) och sedan exporterar valda data till en .csv fil. De första fyra kommandona hämtar räknarsökvägarna från filen och sparar dem i variabeln med namnet $Data. De två sista kommandona importerar valda data och exporterar sedan endast valda data.

Exempel 4: Visa alla räknarsökvägar i en grupp importerade räknaruppsättningar

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

Det här exemplet visar hur du visar alla räknarsökvägar i en grupp med importerade räknaruppsättningar.

Exempel 5: Importera räknardata från ett intervall med tidsstämplar

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

I det här exemplet importeras endast räknardata som har en tidsstämpel mellan de startintervall som anges i kommandot .

Exempel 6: Importera ett angivet antal av de äldsta exemplen från en loggfil för prestandaräknare

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]

Det här exemplet visar hur du importerar de fem äldsta och fem senaste exemplen från en loggfil för prestandaräknare.

Exempel 7: Hämta en sammanfattning av räknardata från en fil

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

Det här kommandot använder parametern Summary för cmdleten Import-Counter för att få en sammanfattning av räknardata i filen Memory.blg.

Exempel 8: Uppdatera en loggfil för prestandaräknare

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

I det här exemplet uppdateras en loggfil för prestandaräknare.

Exempel 9: Importera prestandaloggdata från flera filer och spara dem sedan

PS C:\> $Counters = "D:\test\pdata.blg", "D:\samples\netlog.blg" | Import-Counter

Det här kommandot importerar prestandaloggdata från två loggar och sparar data i variabeln $Counters. Kommandot använder en pipelineoperator för att skicka prestandaloggsökvägarna till Import-Counter, som importerar data från de angivna sökvägarna.

Observera att varje sökväg omges av citattecken och att sökvägarna avgränsas från varandra med kommatecken.

Parametrar

-Counter

Anger prestandaräknarna som en strängmatris. Som standard importerar Import-Counter alla data från alla räknare i indatafilerna. Ange en eller flera räknarsökvägar. Jokertecken tillåts i instansdelen av sökvägen.

Varje räknarsökväg har följande format. Värdet ComputerName krävs i sökvägen. Till exempel:

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

Till exempel:

  • \\Server01\Processor(2)\% User Time
  • \\Server01\Processor(*)\% Processor Time
Typ:String[]
Position:Named
Standardvärde:All counter
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-EndTime

Anger ett slutdatum och en tid då den här cmdleten importerar räknardata mellan StartTime- och den här parameterns tidsstämplar. Ange ett DateTime- objekt, till exempel ett objekt som skapats av cmdleten Get-Date. Som standard importerar Import-Counter alla räknardata i de filer som anges av parametern Path.

Typ:DateTime
Position:Named
Standardvärde:No end time
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ListSet

Anger de prestandaräknareuppsättningar som visas i de exporterade filerna. Kommandon med den här parametern importerar inga data.

Ange ett eller flera räknaruppsättningsnamn. Jokertecken tillåts. Om du vill hämta alla räknaruppsättningar i filen skriver du Import-Counter -ListSet *.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-MaxSamples

Anger det maximala antalet exempel på varje räknare som ska importeras. Som standard importerar Get-Counter alla data i de filer som anges av parametern Path.

Typ:Int64
Position:Named
Standardvärde:No maximum
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Path

Anger filsökvägarna för de filer som ska importeras. Den här parametern krävs.

Ange sökvägen och filnamnet för en .csv,, .tsv- eller .blg-fil som du exporterade med hjälp av cmdleten Export-Counter. Du kan bara ange en .csv- eller .tsv-fil, men du kan ange flera .blg-filer (upp till 32) i varje kommando. Du kan också skicka filsökvägssträngar (inom citattecken) till Import-Counter.

Typ:String[]
Alias:PSPath
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:True

-StartTime

Anger startdatum och tid då den här cmdleten hämtar räknardata. Ange ett DateTime- objekt, till exempel ett objekt som skapats av cmdleten Get-Date. Som standard importerar Import-Counter alla räknardata i de filer som anges av parametern Path.

Typ:DateTime
Position:Named
Standardvärde:No start time
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Summary

Anger att den här cmdleten hämtar en sammanfattning av importerade data i stället för att hämta enskilda räknardataexempel.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

String

Du kan skicka loggsökvägar för prestandaräknare till den här cmdleten.

Utdata

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

Den här cmdleten returnerar en Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. Om du använder parametern ListSet returnerar den här cmdleten ett Microsoft.PowerShell.Commands.GetCounter.CounterSet-objekt. Om du använder parametern Summary returnerar den här cmdleten ett Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo-objekt.

Kommentarer

  • Den här cmdleten har ingen parametern ComputerName. Men om datorn har konfigurerats för Windows PowerShell-fjärrkommunikation kan du använda cmdleten Invoke-Command för att köra ett Import-Counter-kommando på en fjärrdator.