Importiert Leistungsindikator-Protokolldateien (".blg", ".csv", ".tsv") und erstellt die Objekte, die die einzelnen Leistungsindikatorstichproben im Protokoll darstellen.
Syntax
Import-Counter [-Path] <string[]> [-Counter <string[]>] [-EndTime <DateTime>] [-MaxSamples <Int64>] [-StartTime <DateTime>] [<CommonParameters>] Import-Counter [-Path] <string[]> -ListSet <string[]> [<CommonParameters>] Import-Counter [-Path] <string[]> -Zusammenfassung <switch> [<CommonParameters>]
Beschreibung
Das Cmdlet "Import-Counter" importiert Leistungsindikatordaten aus Leistungsindikator-Protokolldateien und erstellt Objekte für jede Leistungsindikatorstichprobe in der Datei. Die erstellten PerformanceCounterSampleSet-Objekte sind identisch mit den Objekten, die Get-Counter beim Erfassen von Leistungsindikatordaten zurückgibt.
Sie können Daten aus CSV- (durch Trennzeichen getrennten), TSV- (durch Tabstopp getrennten) und BLG-Leistungsprotokolldateien (binären Leistungsprotokollen) importieren. Wenn Sie BLG-Dateien verwenden, können Sie in jedem Befehl mehrere Dateien importieren (bis zu 32 verschiedene Dateien). Außerdem können Sie die Parameter von "Import-Counter" verwenden, um die importierten Daten zu filtern.
Zusammen mit Get-Counter und Export-Counter ermöglicht es Ihnen dieses Feature, Leistungsindikatordaten innerhalb von Windows PowerShell zu erfassen, exportieren, importieren, kombinieren, filtern, bearbeiten und erneut zu exportieren.
Parameter
-Counter <string[]>
Importiert Daten nur für die angegebenen Leistungsindikatoren. Standardmäßig importiert Import-Counter alle Daten von sämtlichen Leistungsindikatoren in den Eingabedateien. Geben Sie einen oder mehrere Leistungsindikatorpfade ein. Im Instanzteil des Pfads sind Platzhalter erlaubt.
Jeder Leistungsindikatorpfad weist das folgende Format auf. Beachten Sie, dass der ComputerName-Wert im Pfad erforderlich ist, auch auf dem lokalen Computer.
"\\<Computername>\<Indikatorsatz>(<Instanz>)\<Indikatorname>"
Beispiel:
"\\Server01\Processor(2)\% User Time"
"\Processor(*)\% Processor Time
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
true |
-EndTime <DateTime>
Importiert nur Leistungsindikatordaten mit einem Zeitstempel, der kleiner als oder gleich dem angegebenen Datum und der angegebenen Uhrzeit ist. Geben Sie ein DateTime-Objekt ein, z. B. ein vom Cmdlet "Get-Date" erstelltes Objekt. Standardmäßig importiert Import-Counter alle Leistungsindikatordaten in den vom Path-Parameter angegebenen Dateien.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-ListSet <string[]>
Ruft die Leistungsindikatorsätze ab, die in den exportierten Dateien dargestellt werden. Befehle mit diesem Parameter importieren keine Daten.
Geben Sie einen oder mehrere Leistungsindikatorsatz-Namen ein. Platzhalter sind zulässig. Um alle Leistungsindikatorsätze in der Datei abzurufen, geben Sie "import-counter -listset *" ein.
Erforderlich? |
true |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
true |
-MaxSamples <Int64>
Gibt die maximale Anzahl von Stichproben für jeden zu importierenden Leistungsindikator an. Standardmäßig importiert Get-Counter alle Leistungsindikatordaten in den vom Path-Parameter angegebenen Dateien.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Path <string[]>
Gibt die Dateipfade der zu importierenden Dateien an. Dieser Parameter ist erforderlich.
Geben Sie den Pfad und den Dateinamen einer CSV-, TSV- oder BLG-Datei ein, die Sie mit dem Cmdlet "Export-Counter" exportiert haben. Sie können nur eine CSV- oder TSV-Datei angeben, aber Sie können mehrere BLG-Dateien (bis zu 32) in jedem Befehl angeben. Außerdem können Sie Dateipfadzeichenfolgen über die Pipeline an Import-Counter übergeben (in Anführungszeichen).
Erforderlich? |
true |
Position? |
2 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByValue) |
Platzhalterzeichen akzeptieren? |
true |
-StartTime <DateTime>
Importiert nur Leistungsindikatordaten mit einem Zeitstempel, der größer als oder gleich dem angegebenen Datum und der angegebenen Uhrzeit ist. Geben Sie ein DateTime-Objekt ein, z. B. ein vom Cmdlet "Get-Date" erstelltes Objekt. Standardmäßig importiert Import-Counter alle Leistungsindikatordaten in den vom Path-Parameter angegebenen Dateien.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Zusammenfassung <switch>
Ruft anstelle einzelner Datenwerte der Leistungsindikatoren eine Zusammenfassung der importierten Daten ab.
Erforderlich? |
true |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
System.String Sie können Leistungsindikator-Protokollpfade über die Pipeline an "Import-Counter" übergeben. |
Ausgaben |
Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo Standardmäßig gibt "Import-Counter" ein Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet zurück. Wenn Sie den ListSet-Parameter verwenden, gibt "Import-Command" ein Microsoft.PowerShell.Commands.GetCounter.CounterSet-Objekt zurück. Wenn Sie den Summary-Parameter verwenden, gibt "Import-Command" ein Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo-Objekt zurück. |
Hinweise
Das Cmdlet "Import-Counter" verfügt nicht über einen ComputerName-Parameter. Wenn der Computer jedoch für die Remotingfunktion von Windows PowerShell konfiguriert ist, können Sie das Cmdlet "Invoke-Command" verwenden, um auf einem Remotecomputer den Befehl "Import-Counter" auszuführen.
Beispiel 1
C:\PS># Import-Counter Beschreibung ----------- Dieser Befehl importiert alle Leistungsindikatordaten aus der Datei "ProcessorData.csv" in die Variable "$data". C:\PS> $data = import-counter -path ProcessorData.csv
Beispiel 2
C:\PS># Import-Counter Beschreibung ----------- Dieser Befehl importiert nur die Leistungsindikatordaten "Processor(_total)\Interrupts\sec" aus der Datei "ProcessorData.blg" in die Variable "$i". C:\PS> $i = import-counter -path ProcessorData.blg -counter "\\SERVER01\Processor(_Total)\Interrupts/sec"
Beispiel 3
C:\PS># Import-Counter Beschreibung ----------- Dieses Beispiel zeigt, wie Daten aus einer Leistungsindikator-Protokolldatei (".blg") ausgewählt und dann in eine CSV-Datei exportiert werden. Die ersten vier Befehle rufen die Leistungsindikatorpfade aus der Datei ab und speichern sie in einer Variablen. Die letzten zwei Befehle importieren die ausgewählten Daten und exportieren dann nur die ausgewählten Daten. Der erste Befehl verwendet Import-Counter, um alle Leistungsindikatordaten aus den ProcessorData.blg-Dateien zu importieren. Der Befehl speichert die Daten in der Variablen "$data". C:\PS> $data = import-counter .\processordata.blg Der zweite Befehl zeigt die Leistungsindikatorpfade in der Variablen "$data" an. Die Anzeige erfolgt in der Befehlsausgabe. C:\PS> $data[0].countersamples | format-table 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 ... Der dritte Befehl ruft die Leistungsindikatorpfade ab, die mit "Interrupts/sec" enden, und speichert die Pfade in der Variablen "$IntCtrs". C:\PS> $IntCtrs = $data[0].countersamples | where {$_.path -like "*Interrupts/s"} | foreach {$_.path} Der vierte Befehl zeigt die ausgewählten Leistungsindikatorpfade an. C:\PS> $IntCtrs \\SERVER01\Processor(_Total)\Interrupts/sec \\SERVER01\Processor(1)\Interrupts/sec \\SERVER01\Processor(0)\Interrupts/sec Der fünfte Befehl verwendet das Cmdlet "Import-Counter", um die Daten zu importieren. Dabei wird der Counter-Parameter mit der Variablen "$IntCtrs" verwendet, um nur Daten für die Leistungsindikatorpfade in $IntCtrs zu importieren. C:\PS> $i = import-counter -path .\processordata.blg -counter $intCtrs Der sechste Befehl verwendet das Cmdlet "Export-Counter", um die Daten zu exportieren. C:\PS> $i | export-counter -path .\interrupts.csv -format CSV
Beispiel 4
C:\PS># Import-Counter Beschreibung ----------- In diesem Beispiel wird gezeigt, wie alle Leistungsindikatorpfade in einer Gruppe importierter Leistungsindikatorsätze angezeigt werden. Der erste Befehl verwendet den ListSet-Parameter, um alle Leistungsindikatorsätze abzurufen, die in einer Leistungsindikator-Datendatei dargestellt sind. C:\PS> 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...} Der zweite Befehl ruft alle Leistungsindikatorpfade aus dem Listensatz ab. C:\PS> import-counter -path processordata.csv -listset * | foreach {$_.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
Beispiel 5
C:\PS># Import-Counter Beschreibung ----------- In diesem Beispiel werden nur die Leistungsindikatordaten importiert, deren Zeitstempel zwischen den im Befehl angegebenen Start- und Endbereichen liegt. Der erste Befehl führt die Zeitstempel aller Daten in der Datei "ProcessorData.blg" auf. C:\PS> import-counter -path .\disk.blg | format-table timestamp Der zweite und dritte Befehl speichern bestimmte Zeitstempel in den Variablen "$start" und "$end". Die Zeichenfolgen werden in DateTime-Objekte umgewandelt. C:\PS> $start = [datetime]"09.07.2008 15:47:00" C:\PS> $end = [datetime]"09.07.2008 15:47:59" Der vierte Befehl verwendet "Import-Counter", um nur die Leistungsindikatordaten abzurufen, deren Zeitstempel zwischen den Start- und Endzeiten (inklusive) liegt. Der Befehl verwendet den StartTime-Parameter und den EndTime-Parameter, um den Bereich anzugeben. C:\PS> $t-data = import-counter -path disk.blg -starttime $start -endtime $end
Beispiel 6
C:\PS># Import-Counter Beschreibung ----------- In diesem Beispiel wird gezeigt, wie die fünf ältesten und die fünf neuesten Stichproben aus einer Leistungsindikator-Protokolldatei importiert werden. Im ersten Befehl werden mit dem Cmdlet "Import-Counter" Daten aus der Datei "Disk.blg" importiert. Der Befehl verwendet den MaxSamples-Parameter, um den Import auf fünf Leistungsindikatorstichproben zu beschränken. Mit diesem Befehl werden die ersten (ältesten) fünf Stichproben in der Datei abgerufen. C:\PS> import-counter -path disk.blg -maxSamples 5 Der zweite Befehl verwendet die Arraynotation und den Windows PowerShell-Bereichsoperator (..), um die letzten fünf Leistungsindikatorstichproben in der Datei abzurufen. Diese sind die fünf neuesten Stichproben. C:\PS> (import-counter -path disk.blg)[-1 .. -5]
Beispiel 7
C:\PS># Import-Counter Beschreibung ----------- Dieser Befehl verwendet den Summary-Parameter, um eine Zusammenfassung der Leistungsindikatordaten in der Datei "Memory.blg" abzurufen. C:\PS> import-counter D:\Samples\memory.blg -summary OldestRecord NewestRecord SampleCount ------------ ------------ ----------- 10.07.2008 14:59:18 10.07.2008 15:00:27 1000
Beispiel 8
C:\PS># Import-Counter Beschreibung ----------- In diesem Beispiel wird eine Leistungsindikator-Protokolldatei aktualisiert. Der erste Befehl verwendet den ListSet-Parameter von "Import-Counter", um Leistungsindikatoren aus der Datei "OldData.blg", einer vorhandenen Leistungsindikator-Protokolldatei, abzurufen. Im Befehl werden die Daten mit einem Pipelineoperator (|) an den Befehl "Foreach-Object" gesendet, der nur die Werte der PathsWithInstances-Eigenschaft jedes Objekts abruft. C:\PS> $counters = import-counter olddata.blg -ListSet * | foreach {$_.PathsWithInstances} Im zweiten Befehl werden dieselben Leistungsindikatoren an den Befehl "Get-Counter" übergeben, um eine aktuelle Stichprobe abzurufen und den Wert in der Datei "NewData.blg" zu speichern. C:\PS> get-counter -counter $counters -maxSamples 20 | export-counter c:\Logs\newdata.blg
Beispiel 9
C:\PS># Import-Counter Beschreibung ----------- Dieser Befehl importiert Leistungsprotokolldaten aus zwei Protokollen und speichert die Daten in der Variablen "$counters". Der Befehl verwendet einen Pipelineoperator, um Leistungsprotokollpfade an Import-Counter zu senden. C:\PS> $counters = "d:\test\pdata.blg", "d:\samples\netlog.blg" | import-counter Beachten Sie, dass jeder Pfad in Anführungszeichen eingeschlossen ist und dass die Pfade durch ein Komma voneinander getrennt werden.
Siehe auch