Freigeben über


Import-Counter

Importiert Leistungsindikator-Protokolldateien und erstellt die Objekte, die jedes Zählerbeispiel im Protokoll darstellen.

Syntax

GetCounterSet (Standard)

Import-Counter
    [-Path] <String[]>
    [-StartTime <DateTime>]
    [-EndTime <DateTime>]
    [-Counter <String[]>]
    [-MaxSamples <Int64>]
    [<CommonParameters>]

ListSetSet

Import-Counter
    [-Path] <String[]>
    -ListSet <String[]>
    [<CommonParameters>]

SummarySet

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- zurückgeben, wenn sie Leistungsindikatordaten sammelt.

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 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

PS C:\> $I = Import-Counter -Path "ProcessorData.blg" -Counter "\\SERVER01\Processor(_Total)\Interrupts/sec"

Mit diesem Befehl werden nur die "Processor(_total)\Interrupts/sec" Indikatordaten 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.

The first command uses **Import-Counter** to import all of the performance counter data from the ProcessorData.blg files. The command saves the data in the $Data variable.
PS C:\> $Data = Import-Counter .\ProcessorData.blg

The second command displays the counter paths in the $Data variable. To get the display shown in the command output, the example uses the Format-Table cmdlet to format as a table the counter paths of the first counter in the $Data variable.
PS C:\> $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

The third command gets the counter paths that end in "Interrupts/sec" and saves the paths in the $IntCtrs variable. It uses the Where-Object cmdlet to filter the counter paths and the ForEach-Object cmdlet to get only the value of the **Path** property of each selected path object.
PS C:\> $IntCtrs = $Data[0].Countersamples | Where-Object {$_.Path -like "*Interrupts/sec"} | ForEach-Object {$_.Path}

The fourth command displays the selected counter paths in the $IntCtrs variable.
PS C:\> $IntCtrs

\\SERVER01\Processor(_Total)\Interrupts/sec
\\SERVER01\Processor(1)\Interrupts/sec
\\SERVER01\Processor(0)\Interrupts/sec

The fifth command uses the **Import-Counter** cmdlet to import the data. It uses the $IntCtrs variable as the value of the *Counter* parameter to import only data for the counter paths in $IntCtrs.
PS C:\> $I = Import-Counter -Path .\ProcessorData.blg -Counter $intCtrs

The sixth command uses the Export-Counter cmdlet to export the data to the Interrupts.csv file.
PS C:\> $I | Export-Counter -Path .\Interrupts.csv -Format CSV

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.

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

The first command uses the *ListSet* parameter of the **Import-Counter** cmdlet to get all of the counter sets that are represented in a counter data file.
PS C:\> 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...}

The second command gets all of the counter paths from the list set.
PS C:\> 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

In diesem Beispiel wird gezeigt, wie alle Zählerpfade in einer Gruppe importierter Zählersätze angezeigt werden.

Beispiel 5: Importieren von Leistungsindikatordaten aus einem Bereich von Zeitstempeln

The first command lists in a table the time stamps of all of the data in the ProcessorData.blg file.
PS C:\> Import-Counter -Path ".\disk.blg" | Format-Table -Property Timestamp

The second command saves particular time stamps in the $Start and $End variables. The strings are cast to **DateTime** objects.
PS C:\> $Start = [datetime]"7/9/2008 3:47:00 PM"; $End = [datetime]"7/9/2008 3:47:59 PM"

The third command uses the **Import-Counter** cmdlet to get only counter data that has a time stamp between the start and end times (inclusive). The command uses the *StartTime* and *EndTime* parameters of **Import-Counter** to specify the range.
PS C:\> Import-Counter -Path Disk.blg -StartTime $start -EndTime $end

In diesem Beispiel werden nur die Zählerdaten importiert, die einen Zeitstempel zwischen dem Anfang eines endenden Bereichs aufweisen, der im Befehl angegeben ist.

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

The first command uses the **Import-Counter** cmdlet to import the first (oldest) five samples from the Disk.blg file. The command uses the *MaxSamples* parameter to limit the import to five counter samples.
PS C:\> Import-Counter -Path "Disk.blg" -MaxSamples 5

The second command uses array notation and the Windows PowerShell range operator (..) to get the last five counter samples from the file. These are the five newest samples.
PS C:\> (Import-Counter -Path Disk.blg)[-1 .. -5]

In diesem Beispiel wird gezeigt, wie Die fünf ältesten und fünf neuesten Beispiele aus einer Leistungsindikatorprotokolldatei importiert werden.

Beispiel 7: Abrufen einer Zusammenfassung von Leistungsindikatorendaten aus einer Datei

PS C:\> 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 Cmdlets Import-Counter, um eine Zusammenfassung der Leistungsindikatorendaten in der Datei "Memory.blg" abzurufen.

Beispiel 8: Aktualisieren einer Leistungsindikatorprotokolldatei

The first command uses the *ListSet* parameter of **Import-Counter** to get the counters in OldData.blg, an existing counter log file. The command uses a pipeline operator (|) to send the data to a ForEach-Object command that gets only the values of the **PathsWithInstances** property of each object
PS C:\> $Counters = Import-Counter OldData.blg -ListSet * | ForEach-Object {$_.PathsWithInstances}

The second command gets updated data for the counters in the $Counters variable. It uses the Get-Counter cmdlet to get a current sample, and then export the results to the NewData.blg file.
PS C:\> Get-Counter -Counter $Counters -MaxSamples 20 | Export-Counter C:\Logs\NewData.blg

In diesem Beispiel wird eine Leistungsindikatorprotokolldatei aktualisiert.

Beispiel 9: Importieren von Leistungsprotokolldaten aus mehreren Dateien und speichern sie dann

PS C:\> $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. Beispiel:

  • \\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>

Beispiel:

  • \\Server01\Processor(2)\% User Time
  • \\Server01\Processor(*)\% Processor Time

Parametereigenschaften

Typ:

String[]

Standardwert:All counter
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

GetCounterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-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 Zählerdaten in den dateien, die durch den Parameter Path angegeben wurden.

Parametereigenschaften

Typ:DateTime
Standardwert:No end time
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

GetCounterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

ListSetSet
Position:Named
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-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.

Parametereigenschaften

Typ:Int64
Standardwert:No maximum
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

GetCounterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Path

Gibt die Dateipfade der zu importierenden Dateien an. Dieser Parameter ist erforderlich.

Geben Sie den Pfad und Dateinamen einer .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, 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übergeben.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False
Aliase:PSPath

Parametersätze

(All)
Position:0
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-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 Zählerdaten in den dateien, die durch den Parameter Path angegeben wurden.

Parametereigenschaften

Typ:DateTime
Standardwert:No start time
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

GetCounterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Summary

Gibt an, dass dieses Cmdlet eine Zusammenfassung der importierten Daten abruft, anstatt einzelne Zählerdatenbeispiele abzurufen.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SummarySet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

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.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 einen Import-Counter- Befehl auf einem Remotecomputer auszuführen.