Import-Counter

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

Syntax

GetCounterSet (Standard)

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

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äknardata samlas in.

Du kan importera data från kommaavgränsade värden (.csv), tab-separated value (.tsv) och prestandaloggfiler för binär prestanda (.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

$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 ProcessorData.blg-filen till variabeln $i.

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

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.

$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

Det första kommandot använder Import-Counter för att importera alla prestandaräknardata från ProcessorData.blg-filerna. Kommandot sparar data i variabeln $data.

Det andra kommandot visar räknarsökvägarna i variabeln $data. För att få den visning som visas i kommandoutdata använder exemplet cmdleten Format-Table för att formatera räknarsökvägarna för den första räknaren i variabeln $data som tabell.

Det tredje kommandot hämtar räknarsökvägarna som slutar i Interrupts/sec och sparar sökvägarna i variabeln $intCtrs. Den använder cmdleten Where-Object för att filtrera räknarsökvägarna och cmdleten ForEach-Object för att endast hämta värdet för egenskapen Path för varje markerat sökvägsobjekt.

Det fjärde kommandot visar de valda räknarsökvägarna i variabeln $intCtrs.

Det femte kommandot använder cmdleten Import-Counter för att importera data. Den använder variabeln $intCtrs som värdet för parametern Counter för att endast importera data för räknarsökvägarna i $intCtrs.

Det sjätte kommandot använder cmdleten Export-Counter för att exportera data till filen Interrupts.csv.

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

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

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

Det första kommandot använder parametern ListSet för cmdleten Import-Counter för att hämta alla räknaruppsättningar som representeras i en räknardatafil.

Det andra kommandot hämtar alla räknarsökvägar från listuppsättningen.

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

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

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

Det första kommandot visar tidsstämplar för alla data i ProcessorData.blg-filen i en tabell.

Det andra kommandot sparar vissa tidsstämplar i variablerna $start och $end. Strängarna gjuts till DateTime- objekt.

Det tredje kommandot använder cmdleten Import-Counter för att endast hämta räknardata som har en tidsstämpel mellan start- och sluttiderna (inklusive). Kommandot använder parametrarna StartTime och EndTime för Import-Counter för att ange intervallet.

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

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

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

Det första kommandot använder cmdleten Import-Counter för att importera de första (äldsta) fem exemplen från filen Disk.blg. Kommandot använder parametern MaxSamples för att begränsa importen till fem räknarexempel.

Det andra kommandot använder matriskommentering och Windows PowerShell-intervalloperatorn (..) för att hämta de fem sista räknarexemplen från filen. Det här är de fem senaste exemplen.

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

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 Memory.blg-filen.

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

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

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

Det första kommandot använder parametern ListSet för Import-Counter för att hämta räknarna i OldData.blg, en befintlig räknarloggfil. Kommandot använder en pipelineoperator (|) för att skicka data till ett ForEach-Object kommando som bara hämtar värdena för PathsWithInstances-egenskapen för varje objekt

Det andra kommandot hämtar uppdaterade data för räknarna i variabeln $counters. Den använder cmdleten Get-Counter för att hämta ett aktuellt exempel och exporterar sedan resultatet till filen NewData.blg.

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

$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. Det ComputerName värdet krävs i sökvägen. Till exempel:

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

Till exempel:

  • \\Server01\Processor(2)\% User Time
  • \\Server01\Processor(*)\% Processor Time

Parameteregenskaper

Typ:

String[]

Standardvärde:All counter
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

GetCounterSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

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

Parameteregenskaper

Typ:DateTime
Standardvärde:No end time
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

GetCounterSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 *.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

ListSetSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

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

Parameteregenskaper

Typ:Int64
Standardvärde:No maximum
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

GetCounterSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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, .tsveller .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.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False
Alias:PSPath

Parameteruppsättningar

(All)
Position:1
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

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

Parameteregenskaper

Typ:DateTime
Standardvärde:No start time
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

GetCounterSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

SummarySet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

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 är konfigurerad 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.