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.