Delen via


Import-Counter

Hiermee importeert u logboekbestanden voor prestatiemeteritems en maakt u de objecten die elk tellervoorbeeld in het logboek vertegenwoordigen.

Syntax

GetCounterSet (Standaard)

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

De Import-Counter cmdlet importeert prestatiemeteritemgegevens uit logboekbestanden van prestatiemeteritems en maakt objecten voor elk tellervoorbeeld in het bestand. De PerformanceCounterSampleSet objecten die worden gemaakt, zijn identiek aan de objecten die Get-Counter retourneert wanneer prestatiemeteritems worden verzameld.

U kunt gegevens importeren uit door komma's gescheiden waarden (.csv), door tabs gescheiden waarden (.tsv) en binair prestatielogboek (.blg) prestatielogboekbestanden. Als u .blg bestanden gebruikt, kunt u in elke opdracht maximaal 32 bestanden importeren. U kunt de parameters van Import-Counter gebruiken om de gegevens te filteren die u importeert.

Naast de cmdlets Get-Counter en Export-Counter kunt u met deze functie prestatiemeteritems verzamelen, exporteren, importeren, combineren, filteren, bewerken en opnieuw exporteren in Windows PowerShell.

Voorbeelden

Voorbeeld 1: Alle tellergegevens uit een bestand importeren

$data = Import-Counter -Path ProcessorData.csv

Met deze opdracht worden alle tellergegevens uit het ProcessorData.csv-bestand geïmporteerd in de variabele $data.

Voorbeeld 2: Specifieke tellergegevens uit een bestand importeren

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

Met deze opdracht importeert u alleen de 'Processor(_total)\Interrupts/sec' metergegevens uit het ProcessorData.blg bestand in de variabele $i.

Voorbeeld 3: Selecteer gegevens uit een prestatiemeteritems en exporteer deze vervolgens naar een bestand

In dit voorbeeld ziet u hoe u gegevens selecteert uit een logboekbestand van een prestatiemeteritem (.blg) en vervolgens de geselecteerde gegevens naar een .csv-bestand exporteert. Met de eerste vier opdrachten worden de tellerpaden uit het bestand opgehaald en opgeslagen in de variabele met de naam $data. Met de laatste twee opdrachten importeert u geselecteerde gegevens en exporteert u vervolgens alleen de geselecteerde gegevens.

$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

De eerste opdracht gebruikt Import-Counter om alle prestatiemeteritems uit de ProcessorData.blg-bestanden te importeren. Met de opdracht worden de gegevens opgeslagen in de $data variabele.

Met de tweede opdracht worden de tellerpaden in de variabele $data weergegeven. Als u de weergave wilt ophalen die wordt weergegeven in de opdrachtuitvoer, gebruikt het voorbeeld de cmdlet Format-Table om de tellerpaden van de eerste teller in de $data variabele op te maken.

Met de derde opdracht worden de tellerpaden die eindigen op Interrupts/sec en worden de paden opgeslagen in de $intCtrs variabele. De cmdlet Where-Object wordt gebruikt om de tellerpaden en de ForEach-Object-cmdlet te filteren om alleen de waarde op te halen van de eigenschap Pad van elk geselecteerd padobject.

Met de vierde opdracht worden de geselecteerde tellerpaden in de variabele $intCtrs weergegeven.

De vijfde opdracht maakt gebruik van de Import-Counter cmdlet om de gegevens te importeren. Hierbij wordt de variabele $intCtrs gebruikt als de waarde van de parameter Teller om alleen gegevens voor de tellerpaden in $intCtrste importeren.

De zesde opdracht maakt gebruik van de Export-Counter cmdlet om de gegevens te exporteren naar het Interrupts.csv bestand.

Voorbeeld 4: Alle tellerpaden weergeven in een groep geïmporteerde tellersets

In dit voorbeeld ziet u hoe u alle tellerpaden in een groep geïmporteerde tellersets weergeeft.

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

De eerste opdracht maakt gebruik van de parameter ListSet van de Import-Counter cmdlet om alle tellersets op te halen die worden weergegeven in een tellergegevensbestand.

Met de tweede opdracht worden alle tellerpaden uit de lijstset opgehaald.

Voorbeeld 5: Tellergegevens importeren uit een bereik van tijdstempels

In dit voorbeeld worden alleen de tellergegevens geïmporteerd die een tijdstempel hebben tussen het starten van een eindbereik dat is opgegeven in de opdracht.

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

De eerste opdracht bevat een tabel met de tijdstempels van alle gegevens in het ProcessorData.blg-bestand.

Met de tweede opdracht worden bepaalde tijdstempels opgeslagen in de $start en $end variabelen. De tekenreeksen worden gecast naar DateTime--objecten.

De derde opdracht maakt gebruik van de Import-Counter cmdlet om alleen tellergegevens op te halen die een tijdstempel hebben tussen de begin- en eindtijden (inclusief). De opdracht maakt gebruik van de parameters StartTime en EndTime van Import-Counter om het bereik op te geven.

Voorbeeld 6: Een opgegeven aantal van de oudste voorbeelden uit een logboekbestand met prestatiemeteritems importeren

In dit voorbeeld ziet u hoe u de vijf oudste en vijf nieuwste voorbeelden importeert uit een logboekbestand met prestatiemeteritems.

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

De eerste opdracht maakt gebruik van de Import-Counter cmdlet om de eerste (oudste) vijf voorbeelden uit het Disk.blg bestand te importeren. De opdracht maakt gebruik van de MaxSamples parameter om de import te beperken tot vijf metervoorbeelden.

De tweede opdracht maakt gebruik van matrix-notatie en de Operator van het Windows PowerShell-bereik (..) om de laatste vijf countervoorbeelden uit het bestand op te halen. Dit zijn de vijf nieuwste voorbeelden.

Voorbeeld 7: Een samenvatting ophalen van tellergegevens uit een bestand

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

Deze opdracht maakt gebruik van de parameter Summary van de Import-Counter-cmdlet om een samenvatting van de prestatiegegevens in het Memory.blg-bestand op te halen.

Voorbeeld 8: Een logboekbestand voor prestatiemeteritems bijwerken

In dit voorbeeld wordt een logboekbestand voor prestatiemeteritems bijgewerkt.

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

De eerste opdracht maakt gebruik van de parameter ListSet van Import-Counter om de tellers op te halen in OldData.blg, een bestaand tellerlogboekbestand. De opdracht maakt gebruik van een pijplijnoperator (|) om de gegevens te verzenden naar een ForEach-Object opdracht waarmee alleen de waarden van de eigenschap PathsWithInstances van elk object worden opgehaald

Met de tweede opdracht worden bijgewerkte gegevens voor de tellers in de $counters variabele opgehaald. De cmdlet Get-Counter wordt gebruikt om een huidig voorbeeld op te halen en vervolgens de resultaten naar het NewData.blg-bestand te exporteren.

Voorbeeld 9: Gegevens van prestatielogboeken importeren uit meerdere bestanden en deze vervolgens opslaan

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

Met deze opdracht worden prestatielogboekgegevens uit twee logboeken geïmporteerd en worden de gegevens opgeslagen in de $counters variabele. De opdracht maakt gebruik van een pijplijnoperator om de prestatielogboekpaden te verzenden naar Import-Counter, waarmee de gegevens uit de opgegeven paden worden geïmporteerd.

U ziet dat elk pad tussen aanhalingstekens staat en dat de paden van elkaar zijn gescheiden door een komma.

Parameters

-Counter

Hiermee geeft u, als een tekenreeksmatrix, de prestatiemeteritems. Standaard importeert Import-Counter alle gegevens uit alle tellers in de invoerbestanden. Voer een of meer meterpaden in. Jokertekens zijn toegestaan in het exemplaargedeelte van het pad.

Elk tellerpad heeft de volgende indeling. De ComputerName-waarde is vereist in het pad. Bijvoorbeeld:

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

Voorbeeld:

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

Parametereigenschappen

Type:

String[]

Default value:All counter
Ondersteunt jokertekens:True
DontShow:False

Parametersets

GetCounterSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-EndTime

Hiermee geeft u een einddatum en -tijd op die met deze cmdlet metergegevens worden geïmporteerd tussen de StartTime- en deze parametertijdstempels. Voer een DateTime--object in, zoals een object dat is gemaakt door de Get-Date-cmdlet. Standaard importeert Import-Counter alle tellergegevens in de bestanden die zijn opgegeven door de parameter pad.

Parametereigenschappen

Type:DateTime
Default value:No end time
Ondersteunt jokertekens:False
DontShow:False

Parametersets

GetCounterSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ListSet

Hiermee geeft u de prestatiemeteritemsets op die worden weergegeven in de geëxporteerde bestanden. Opdrachten met deze parameter importeren geen gegevens.

Voer een of meer namen van tellersets in. Wildcards zijn toegestaan. Als u alle tellersets in het bestand wilt ophalen, typt u Import-Counter -ListSet *.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

ListSetSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-MaxSamples

Hiermee geeft u het maximum aantal steekproeven van elke teller te importeren. Standaard importeert Get-Counter alle gegevens in de bestanden die zijn opgegeven door de parameter Path.

Parametereigenschappen

Type:Int64
Default value:No maximum
Ondersteunt jokertekens:False
DontShow:False

Parametersets

GetCounterSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Path

Hiermee geeft u de bestandspaden van de bestanden die moeten worden geïmporteerd. Deze parameter is vereist.

Voer het pad en de bestandsnaam in van een, .csv, .tsvof .blg bestand dat u hebt geëxporteerd met behulp van de Export-Counter-cmdlet. U kunt slechts één .csv of .tsv bestand opgeven, maar u kunt in elke opdracht meerdere .blg bestanden (maximaal 32) opgeven. U kunt ook tekenreeksen voor bestandspaden (tussen aanhalingstekens) doorsluizen naar Import-Counter.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False
Aliassen:PSPath

Parametersets

(All)
Position:1
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-StartTime

Hiermee geeft u de begindatum en -tijd op waarin deze cmdlet prestatiegegevens ophaalt. Voer een DateTime--object in, zoals een object dat is gemaakt door de Get-Date-cmdlet. Standaard importeert Import-Counter alle tellergegevens in de bestanden die zijn opgegeven door de parameter pad.

Parametereigenschappen

Type:DateTime
Default value:No start time
Ondersteunt jokertekens:False
DontShow:False

Parametersets

GetCounterSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Summary

Geeft aan dat deze cmdlet een samenvatting krijgt van de geïmporteerde gegevens, in plaats van afzonderlijke gegevensvoorbeelden van tellers op te halen.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

SummarySet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

String

U kunt logboekpaden voor prestatiemeteritems naar deze cmdlet doorsluisen.

Uitvoerwaarden

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

Deze cmdlet retourneert een Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. Als u de parameter ListSet gebruikt, retourneert deze cmdlet een Microsoft.PowerShell.Commands.GetCounter.CounterSet-object. Als u de parameter Summary gebruikt, retourneert deze cmdlet een Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo-object.

Notities

  • Deze cmdlet heeft geen ComputerName parameter. Als de computer echter is geconfigureerd voor externe communicatie met Windows PowerShell, kunt u de Invoke-Command cmdlet gebruiken om een Import-Counter opdracht uit te voeren op een externe computer.