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 (.tsv
Binary 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 $intCtrs
zu 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.blg
einer 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
.tsv
die 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
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 einenImport-Counter
Befehl auf einem Remotecomputer auszuführen.