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 $intCtrs
zu 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.blg
abzurufen, 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
, .tsv
oder .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
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 einenImport-Counter
-Befehl auf einem Remotecomputer auszuführen.