Freigeben über


Import-Counter

Importiert Leistungsindikator-Protokolldateien und erstellt die Objekte, die jedes Zählerbeispiel im Protokoll darstellen.

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

Beschreibung

Das cmdlet Import-Counter importiert Leistungsindikatordaten aus Leistungsindikatorprotokolldateien und erstellt Objekte für jedes Zählerbeispiel in der Datei. Die PerformanceCounterSampleSet- Objekte, die sie erstellt, sind identisch mit den Objekten, die Get-Counter beim Sammeln von Leistungsindikatordaten zurückgeben.

Sie können Daten aus durch Trennzeichen getrennten Wert (.csv), tabtrennten Wert (.tsv) und binären Leistungsprotokolldateien (.blg) importieren. Wenn Sie .blg Dateien verwenden, können Sie bis zu 32 Dateien in jedem Befehl importieren. Sie können die Parameter von Import-Counter verwenden, um die importierten Daten zu filtern.

Zusammen mit den cmdlets Get-Counter und Export-Counter können Sie mit diesem Feature Leistungsindikatorendaten in Windows PowerShell sammeln, exportieren, importieren, kombinieren, filtern, bearbeiten und erneut exportieren.

Beispiele

Beispiel 1: Importieren aller Leistungsindikatorendaten aus einer Datei

$data = Import-Counter -Path ProcessorData.csv

Mit diesem Befehl werden alle Leistungsindikatorendaten aus der ProcessorData.csv-Datei in die $data Variable importiert.

Beispiel 2: Importieren bestimmter Leistungsindikatorendaten aus einer Datei

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

Mit diesem Befehl werden nur die "Processor(_total)\Interrupts/sec" Leistungsindikatorendaten aus der datei ProcessorData.blg in die $i Variable importiert.

Beispiel 3: Wählen Sie Daten aus einem Leistungsindikator aus, und exportieren Sie sie dann in eine Datei.

In diesem Beispiel wird gezeigt, wie Sie Daten aus einer Leistungsindikatorprotokolldatei (.blg) auswählen und dann die ausgewählten Daten in eine .csv Datei exportieren. Die ersten vier Befehle rufen die Zählerpfade aus der Datei ab und speichern sie in der Variablen mit dem Namen $data. Die letzten beiden Befehle importieren ausgewählte Daten und exportieren dann nur die ausgewählten Daten.

$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

Der erste Befehl verwendet Import-Counter, um alle Leistungsindikatordaten aus den ProcessorData.blg-Dateien zu importieren. Der Befehl speichert die Daten in der $data Variablen.

Der zweite Befehl zeigt die Zählerpfade in der variablen $data an. Um die in der Befehlsausgabe angezeigte Anzeige abzurufen, verwendet das Beispiel das cmdlet Format-Table, um als Tabelle die Zählerpfade des ersten Zählers in der variablen $data zu formatieren.

Der dritte Befehl ruft die Zählerpfade ab, die in Interrupts/sec enden, und speichert die Pfade in der $intCtrs Variablen. Es verwendet das Cmdlet Where-Object, um die Zählerpfade und das cmdlet ForEach-Object zu filtern, um nur den Wert der Path-Eigenschaft jedes ausgewählten Pfadobjekts abzurufen.

Der vierte Befehl zeigt die ausgewählten Zählerpfade in der variablen $intCtrs an.

Der fünfte Befehl verwendet das Cmdlet Import-Counter, um die Daten zu importieren. Sie verwendet die $intCtrs Variable als Wert des Counter Parameters, um nur Daten für die Leistungsindikatorenpfade in $intCtrszu importieren.

Der sechste Befehl verwendet das Cmdlet Export-Counter, um die Daten in die Interrupts.csv Datei zu exportieren.

Beispiel 4: Anzeigen aller Zählerpfade in einer Gruppe importierter Zählersätze

In diesem Beispiel wird gezeigt, wie alle Zählerpfade in einer Gruppe importierter Zählersätze angezeigt werden.

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

Der erste Befehl verwendet den ListSet--Parameter des cmdlets Import-Counter, um alle Zählersätze abzurufen, die in einer Zählerdatendatei dargestellt werden.

Der zweite Befehl ruft alle Zählerpfade aus dem Listensatz ab.

Beispiel 5: Importieren von Leistungsindikatordaten aus einem Bereich von Zeitstempeln

In diesem Beispiel werden nur die Leistungsindikatorendaten importiert, die einen Zeitstempel zwischen dem Starten eines endenden Bereichs aufweisen, der im Befehl angegeben ist.

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

Der erste Befehl listet in einer Tabelle den Zeitstempel aller Daten in der datei ProcessorData.blg auf.

Mit dem zweiten Befehl werden bestimmte Zeitstempel in den variablen $start und $end gespeichert. Die Zeichenfolgen werden in DateTime--Objekte umgegossen.

Der dritte Befehl verwendet das Cmdlet Import-Counter, um nur Leistungsindikatorendaten abzurufen, die einen Zeitstempel zwischen Start- und Endzeiten (einschließlich) aufweisen. Der Befehl verwendet die parameter StartTime- und EndTime- von Import-Counter, um den Bereich anzugeben.

Beispiel 6: Importieren einer angegebenen Anzahl der ältesten Beispiele aus einer Leistungsindikatorprotokolldatei

In diesem Beispiel wird gezeigt, wie Die fünf ältesten und fünf neuesten Beispiele aus einer Leistungsindikatorprotokolldatei importiert werden.

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

Der erste Befehl verwendet das cmdlet Import-Counter, um die ersten (ältesten) fünf Beispiele aus der Disk.blg Datei zu importieren. Der Befehl verwendet die MaxSamples Parameter, um den Import auf fünf Zählerbeispiele zu beschränken.

Der zweite Befehl verwendet Arraynotation und den Windows PowerShell-Bereichsoperator (..), um die letzten fünf Zählerbeispiele aus der Datei abzurufen. Dies sind die fünf neuesten Beispiele.

Beispiel 7: Abrufen einer Zusammenfassung von Leistungsindikatorendaten aus einer Datei

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

Mit diesem Befehl wird der parameter Summary des Cmdlets Import-Counter verwendet, um eine Zusammenfassung der Leistungsindikatordaten in der Memory.blg Datei abzurufen.

Beispiel 8: Aktualisieren einer Leistungsindikatorprotokolldatei

In diesem Beispiel wird eine Leistungsindikatorprotokolldatei aktualisiert.

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

Der erste Befehl verwendet den ListSet Parameter von Import-Counter, um die Leistungsindikatoren in OldData.blgabzurufen, eine vorhandene Zählerprotokolldatei. Der Befehl verwendet einen Pipelineoperator (|), um die Daten an einen ForEach-Object Befehl zu senden, der nur die Werte der PathsWithInstances Eigenschaft jedes Objekts abruft.

Der zweite Befehl ruft aktualisierte Daten für die Leistungsindikatoren in der variablen $counters ab. Es verwendet das cmdlet Get-Counter, um ein aktuelles Beispiel abzurufen und dann die Ergebnisse in die NewData.blg Datei zu exportieren.

Beispiel 9: Importieren von Leistungsprotokolldaten aus mehreren Dateien und speichern sie dann

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

Mit diesem Befehl werden Leistungsprotokolldaten aus zwei Protokollen importiert und die Daten in der variablen $counters gespeichert. Der Befehl verwendet einen Pipelineoperator, um die Leistungsprotokollpfade an import-Counter zu senden, wodurch die Daten aus den angegebenen Pfaden importiert werden.

Beachten Sie, dass jeder Pfad in Anführungszeichen eingeschlossen ist und dass die Pfade durch ein Komma voneinander getrennt sind.

Parameter

-Counter

Gibt als Zeichenfolgenarray die Leistungsindikatoren an. Standardmäßig importiert Import-Counter alle Daten aus allen Zählern in den Eingabedateien. Geben Sie einen oder mehrere Zählerpfade ein. Im Instanzteil des Pfads sind Wildcards zulässig.

Jeder Zählerpfad weist das folgende Format auf. Der ComputerName Wert ist im Pfad erforderlich. Zum Beispiel:

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

Zum Beispiel:

  • \\Server01\Processor(2)\% User Time
  • \\Server01\Processor(*)\% Processor Time
Typ:String[]
Position:Named
Standardwert:All counter
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:True

-EndTime

Gibt ein Enddatum und eine Uhrzeit an, zu dem dieses Cmdlet Leistungsindikatorendaten zwischen dem StartTime- und diesen Parameterzeitstempeln importiert. Geben Sie ein DateTime--Objekt ein, z. B. ein Objekt, das vom Cmdlet Get-Date erstellt wurde. Standardmäßig importiert Import-Counter alle Leistungsindikatorendaten in den dateien, die durch den Parameter Path angegeben wurden.

Typ:DateTime
Position:Named
Standardwert:No end time
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ListSet

Gibt die Leistungsindikatorsätze an, die in den exportierten Dateien dargestellt werden. Befehle mit diesem Parameter importieren keine Daten.

Geben Sie einen oder mehrere Zählersatznamen ein. Wildcards sind zulässig. Um alle Leistungsindikatorensätze in der Datei abzurufen, geben Sie Import-Counter -ListSet *ein.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:True

-MaxSamples

Gibt die maximale Anzahl von Beispielen für jeden zu importierenden Zähler an. Standardmäßig importiert Get-Counter alle Daten in den dateien, die durch den Parameter Path angegeben wurden.

Typ:Int64
Position:Named
Standardwert:No maximum
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Path

Gibt die Dateipfade der zu importierenden Dateien an. Dieser Parameter ist erforderlich.

Geben Sie den Pfad und dateinamen eines, .csv, .tsvoder .blg Datei ein, die Sie mithilfe des Cmdlets Export-Counter exportiert haben. Sie können nur eine .csv- oder .tsv Datei angeben, sie können jedoch mehrere .blg Dateien (bis zu 32) in jedem Befehl angeben. Sie können auch Dateipfadzeichenfolgen (in Anführungszeichen) an Import-Counterübergeben.

Typ:String[]
Aliase:PSPath
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:True

-StartTime

Gibt das Startdatum und die Startzeit an, in der dieses Cmdlet Leistungsindikatorendaten abruft. Geben Sie ein DateTime--Objekt ein, z. B. ein Objekt, das vom Cmdlet Get-Date erstellt wurde. Standardmäßig importiert Import-Counter alle Leistungsindikatorendaten in den dateien, die durch den Parameter Path angegeben wurden.

Typ:DateTime
Position:Named
Standardwert:No start time
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Summary

Gibt an, dass dieses Cmdlet eine Zusammenfassung der importierten Daten abruft, anstatt einzelne Zählerdatenbeispiele abzurufen.

Typ:SwitchParameter
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

String

Sie können Protokollpfade des Leistungsindikators an dieses Cmdlet weiterleiten.

Ausgaben

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

Dieses Cmdlet gibt ein Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSetzurück. Wenn Sie den ListSet Parameter verwenden, gibt dieses Cmdlet ein Microsoft.PowerShell.Commands.GetCounter.CounterSet-Objekt zurück. Wenn Sie den parameter Summary verwenden, gibt dieses Cmdlet ein Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo-Objekt zurück.

Hinweise

  • Dieses Cmdlet verfügt nicht über einen ComputerName Parameter. Wenn der Computer jedoch für windows PowerShell-Remoting konfiguriert ist, können Sie das cmdlet Invoke-Command verwenden, um einen Import-Counter-Befehl auf einem Remotecomputer auszuführen.