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-Commandför att köra ettImport-Counter-kommando på en fjärrdator.