Import-Counter

Letzte Aktualisierung: April 2010

Betrifft: Windows PowerShell 2.0

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[]> -Summary <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\Prozessor(2)\Benutzerzeit (%)"

"\Prozessor(*)\Prozessorzeit (%)

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

-Summary <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 "Prozessor(_Total)\Interrupts/s" aus der Datei "ProcessorData.blg" in die Variable "$i".

C:\PS> $i = import-counter -path ProcessorData.blg -counter "\\SERVER01\Prozessor(_Total)\Interrupts/s"





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\Prozessor(_Total)\DPC-Rate
\\SERVER01\Prozessor(1)\DPC-Rate
\\SERVER01\Prozessor(0)\DPC-Rate
\\SERVER01\Prozessor(_Total)\Leerlaufzeit (%)
\\SERVER01\Prozessor(1)\Leerlaufzeit (%)
\\SERVER01\Prozessor(0)\Leerlaufzeit (%)
\\SERVER01\Prozessor(_Total)\% C3-Zeit
\\SERVER01\Prozessor(1)\% C3-Zeit
...


Der dritte Befehl ruft die Leistungsindikatorpfade ab, die mit "Interrupts/s" 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\Prozessor(_Total)\Interrupts/s
\\SERVER01\Prozessor(1)\Interrupts/s
\\SERVER01\Prozessor(0)\Interrupts/s



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\Prozessor(*)\DPC-Rate, \\SERVER01\Prozessor(*)\Leerlaufzeit (%), \\SERVER01
                     \Prozessor(*)\% C3-Zeit, \\SERVER01\Prozessor(*)\Interruptzeit (%)...}
PathsWithInstances : {\\SERVER01\Prozessor(_Total)\DPC-Rate, \\SERVER01\Prozessor(1)\DPC-Rate, \\SERVER01
                     \Prozessor(0)\DPC-Rate, \\SERVER01\Prozessor(_Total)\Leerlaufzeit (%)...}
Counter            : {\\SERVER01\Prozessor(*)\DPC-Rate, \\SERVER01\Prozessor(*)\Leerlaufzeit (%), \\SERVER01
                     \Prozessor(*)\% C3-Zeit, \\SERVER01\Prozessor(*)\Interruptzeit (%)...}



Der zweite Befehl ruft alle Leistungsindikatorpfade aus dem Listensatz ab.

C:\PS> import-counter -path processordata.csv -listset * | foreach {$_.paths}

\\SERVER01\Prozessor(*)\DPC-Rate
\\SERVER01\Prozessor(*)\Leerlaufzeit (%)
\\SERVER01\Prozessor(*)\% C3-Zeit
\\SERVER01\Prozessor(*)\Interruptzeit (%)
\\SERVER01\Prozessor(*)\% C2-Zeit
\\SERVER01\Prozessor(*)\Benutzerzeit (%)
\\SERVER01\Prozessor(*)\% C1-Zeit
\\SERVER01\Prozessor(*)\Prozessorzeit (%)
\\SERVER01\Prozessor(*)\C1-Übergänge/s
\\SERVER01\Prozessor(*)\DPC-Zeit (%)
\\SERVER01\Prozessor(*)\C2-Übergänge/s
\\SERVER01\Prozessor(*)\Privilegierte Zeit (%)
\\SERVER01\Prozessor(*)\C3-Übergänge/s
\\SERVER01\Prozessor(*)\DPCs in Warteschlange/s
\\SERVER01\Prozessor(*)\Interrupts/s





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

Konzepte

Get-Counter
Export-Counter