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 Import-Counter Cmdlet importiert Leistungsindikatordaten aus Leistungsindikatorprotokolldateien und erstellt Objekte für jedes Zählerbeispiel in der Datei. Die von ihr erstellten PerformanceCounterSampleSet-Objekte sind identisch mit den Objekten, die Get-Counter beim Sammeln von Leistungsindikatordaten zurückgegeben werden.

Sie können Daten aus durch Trennzeichen getrennten Werten (.csv), tabulatortrennten Werten () und Performance Log-Dateien (.tsvBinary Performance Log(.blg ) importieren. Wenn Sie Dateien verwenden .blg , können Sie bis zu 32 Dateien in jedem Befehl importieren. Sie können die Parameter Import-Counter verwenden, um die importierten Daten zu filtern.

Zusammen mit den Get-Counter Und-Cmdlets 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 Zählerdaten 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 Leistungsindikatoren "Processor(_total)\Interrupts/sec" aus der ProcessorData.blg Datei 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 namens $data. Die letzten beiden Befehle importieren die ausgewählten 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 $data Variablen an. Um die in der Befehlsausgabe angezeigte Anzeige abzurufen, verwendet das Beispiel das Format-Table Cmdlet, um als Tabelle die Zählerpfade des ersten Zählers in der $data Variablen zu formatieren.

Der dritte Befehl ruft die Zählerpfade ab, die enden Interrupts/sec , und speichert die Pfade in der $intCtrs Variablen. Es verwendet das Where-Object Cmdlet, um die Zählerpfade und das ForEach-Object Cmdlet 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 $intCtrs Variablen an.

Der fünfte Befehl verwendet das Import-Counter Cmdlet zum Importieren der Daten. Sie verwendet die $intCtrs Variable als Wert des Counter-Parameters , um nur Daten für die Zählerpfade in $intCtrszu importieren.

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

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

Dieses Beispiel zeigt, wie alle Indikatorpfade in einer Gruppe von importierten Indikatorsätzen 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 Import-Counter Cmdlets, 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 ProcessorData.blg Datei auf.

Der zweite Befehl speichert bestimmte Zeitstempel in den $start und $end Variablen. Die Zeichenfolgen werden in DateTime-Objekte umgegossen.

Der dritte Befehl verwendet das Import-Counter Cmdlet, um nur Leistungsindikatorendaten abzurufen, die einen Zeitstempel zwischen Start- und Endzeiten (einschließlich) aufweisen. Der Befehl verwendet die Parameter "StartTime" und "EndTime" zum Import-Counter Angeben des Bereichs.

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

Dieses Beispiel zeigt, wie Sie die fünf ältesten und fünf neuesten Proben aus einer Leistungsindikatorprotokolldatei importieren können.

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

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

Der zweite Befehl verwendet Arraynotation und den Windows PowerShell-Bereichsoperator (..) zum Abrufen der letzten fünf Zählerbeispiele aus der Datei. 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

Dieser Befehl verwendet den Parameter "Summary" des Import-Counter Cmdlets, 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 zum Import-Counter Abrufen der Zähler in OldData.blgeiner vorhandenen 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 $counters Variablen ab. Es verwendet das Get-Counter Cmdlet, 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 $counters Variablen gespeichert. Der Befehl verwendet einen Pipelineoperator, um die Leistungsprotokollpfade an Import-Counter zu senden, das die Daten aus den angegebenen Pfaden importiert.

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. Importiert standardmäßig Import-Counter alle Daten aus allen Zählern in den Eingabedateien. Geben Sie mindestens einen Pfad ein. Platzhalter sind im Instance-Teil des Pfads zulässig.

Jeder Indikatorpfad hat das folgende Format. Der ComputerName Wert ist im Pfad erforderlich. 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 Endzeit an, zu der dieses Cmdlet Leistungsindikatorendaten zwischen StartTime und diesem Parameterzeitstempel importiert. Geben Sie ein DateTime-Objekt ein, z. B. ein Objekt, das Get-Date vom Cmdlet erstellt wurde. Importiert standardmäßig Import-Counter alle Zählerdaten in den durch den Path-Parameter angegebenen Dateien.

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 mindestens einen Indikatorsatznamen ein. Platzhalter sind zulässig. Um alle Leistungsindikatorsätze in der Datei abzurufen, geben Sie folgendes ein Import-Counter -ListSet *.

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

-MaxSamples

Gibt die maximale Anzahl der von jedem Leistungsindikator zu importierenden Proben an. Importiert standardmäßig Get-Counter alle Daten in den durch den Path-Parameter angegebenen Dateien.

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, oder .blg einer Datei ein, .csv.tsvdie Sie mithilfe des Export-Counter Cmdlets exportiert haben. Sie können nur eine oder .tsv eine .csv Datei angeben, aber Sie können in jedem Befehl mehrere .blg Dateien (bis zu 32) angeben. Sie können auch Dateipfadzeichenfolgen (in Anführungszeichen) an Import-Counter.

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 Get-Date vom Cmdlet erstellt wurde. Importiert standardmäßig Import-Counter alle Zählerdaten in den durch den Path-Parameter angegebenen Dateien.

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.PerformanceCounterSampleSet zurü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 Invoke-Command Cmdlet verwenden, um einen Import-Counter Befehl auf einem Remotecomputer auszuführen.