Udostępnij za pomocą


Import-Counter

Importuje pliki dziennika licznika wydajności i tworzy obiekty reprezentujące każdy przykład licznika w dzienniku.

Składnia

GetCounterSet (domyślnie)

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

Opis

Polecenie cmdlet Import-Counter importuje dane licznika wydajności z plików dziennika licznika wydajności i tworzy obiekty dla każdego przykładu licznika w pliku. Tworzone obiekty PerformanceCounterSampleSet są identyczne z obiektami, które Get-Counter zwraca podczas zbierania danych licznika wydajności.

Dane można importować z wartości rozdzielanych przecinkami (.csv), wartości rozdzielanych tabulatorami (tsv) i plików dziennika wydajności binarnej (blg). Jeśli używasz plików blg, możesz zaimportować maksymalnie 32 pliki w każdym poleceniu. Do filtrowania importowanych danych można użyć parametrów Import-Counter.

Oprócz poleceń cmdlet Get-Counter i Export-Counter ta funkcja umożliwia zbieranie, eksportowanie, importowanie, łączenie, filtrowanie, manipulowanie i ponowne eksportowanie danych licznika wydajności w programie Windows PowerShell.

Przykłady

Przykład 1. Importowanie wszystkich danych licznika z pliku

$Data = Import-Counter -Path ProcessorData.csv

To polecenie importuje wszystkie dane liczników z pliku ProcessorData.csv do zmiennej $Data.

Przykład 2. Importowanie określonych danych licznika z pliku

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

To polecenie importuje tylko "Processor(_total)\Interrupts/sec" danych licznika z pliku ProcessorData.blg do zmiennej $I.

Przykład 3: Wybieranie danych z licznika wydajności, a następnie eksportowanie ich do pliku

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

W tym przykładzie pokazano, jak wybrać dane z pliku dziennika licznika wydajności (blg), a następnie wyeksportować wybrane dane do pliku .csv. Pierwsze cztery polecenia pobierają ścieżki liczników z pliku i zapisują je w zmiennej o nazwie $Data. Ostatnie dwa polecenia importuje wybrane dane, a następnie eksportuje tylko wybrane dane.

Przykład 4. Wyświetlanie wszystkich ścieżek liczników w grupie zaimportowanych zestawów liczników

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

W tym przykładzie pokazano, jak wyświetlić wszystkie ścieżki liczników w grupie zaimportowanych zestawów liczników.

Przykład 5. Importowanie danych licznika z zakresu sygnatur czasowych

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

W tym przykładzie importuje tylko dane licznika, które mają sygnaturę czasową między początkowymi zakresami końcowymi określonymi w poleceniu .

Przykład 6. Importowanie określonej liczby najstarszych próbek z pliku dziennika licznika wydajności

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]

W tym przykładzie pokazano, jak zaimportować pięć najstarszych i pięciu najnowszych próbek z pliku dziennika licznika wydajności.

Przykład 7. Pobieranie podsumowania danych licznika z pliku

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

To polecenie używa parametru Summary polecenia cmdlet Import-Counter, aby uzyskać podsumowanie danych licznika w pliku Memory.blg.

Przykład 8. Aktualizowanie pliku dziennika licznika wydajności

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

W tym przykładzie zaktualizowano plik dziennika licznika wydajności.

Przykład 9. Importowanie danych dziennika wydajności z wielu plików, a następnie zapisanie ich

PS C:\> $Counters = "D:\test\pdata.blg", "D:\samples\netlog.blg" | Import-Counter

To polecenie importuje dane dziennika wydajności z dwóch dzienników i zapisuje dane w zmiennej $Counters. Polecenie używa operatora potoku do wysyłania ścieżek dziennika wydajności do import-counter, który importuje dane z określonych ścieżek.

Zwróć uwagę, że każda ścieżka jest ujęta w znaki cudzysłowu i że ścieżki są oddzielone od siebie przecinkami.

Parametry

-Counter

Określa jako tablicę ciągów liczniki wydajności. Domyślnie import-counter importuje wszystkie dane ze wszystkich liczników w plikach wejściowych. Wprowadź co najmniej jedną ścieżkę licznika. Symbole wieloznaczne są dozwolone w części Wystąpienie ścieżki.

Każda ścieżka licznika ma następujący format. Wartość ComputerName jest wymagana w ścieżce. Przykład:

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

Przykład:

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

Właściwości parametru

Typ:

String[]

Domyślna wartość:All counter
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

GetCounterSet
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-EndTime

Określa datę i godzinę zakończenia, którą to polecenie cmdlet importuje dane licznika między StartTime a tym znacznikiem czasu parametru. Wprowadź obiekt DateTime, taki jak obiekt utworzony przez polecenie cmdlet Get-Date. Domyślnie import-counter importuje wszystkie dane licznika w plikach określonych przez parametr Path.

Właściwości parametru

Typ:DateTime
Domyślna wartość:No end time
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

GetCounterSet
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ListSet

Określa zestawy liczników wydajności reprezentowane w wyeksportowanych plikach. Polecenia z tym parametrem nie importują żadnych danych.

Wprowadź co najmniej jedną nazwę zestawu liczników. Symbole wieloznaczne są dozwolone. Aby pobrać wszystkie zestawy liczników w pliku, wpisz Import-Counter -ListSet *.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

ListSetSet
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-MaxSamples

Określa maksymalną liczbę próbek każdego licznika do zaimportowania. Domyślnie get-counter importuje wszystkie dane w plikach określonych przez parametr ścieżka .

Właściwości parametru

Typ:Int64
Domyślna wartość:No maximum
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

GetCounterSet
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Path

Określa ścieżki plików do zaimportowania. Ten parametr jest wymagany.

Wprowadź ścieżkę i nazwę pliku , .csv,, .tsv lub .blg wyeksportowanego przy użyciu polecenia cmdlet Export-Counter. W każdym poleceniu można określić tylko jeden plik .csv lub tsv, ale można określić wiele plików blg (maksymalnie 32). Możesz również potokować ciągi ścieżki pliku (w cudzysłowie) do import-counter.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False
Aliasy:PSPath

Zestawy parametrów

(All)
Position:0
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-StartTime

Określa datę i godzinę rozpoczęcia, w której to polecenie cmdlet pobiera dane licznika. Wprowadź obiekt DateTime, taki jak obiekt utworzony przez polecenie cmdlet Get-Date. Domyślnie import-counter importuje wszystkie dane licznika w plikach określonych przez parametr Path.

Właściwości parametru

Typ:DateTime
Domyślna wartość:No start time
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

GetCounterSet
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Summary

Wskazuje, że to polecenie cmdlet pobiera podsumowanie zaimportowanych danych zamiast pobierania pojedynczych próbek danych licznika.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

SummarySet
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

String

Ścieżki dziennika licznika wydajności można potokować do tego polecenia cmdlet.

Dane wyjściowe

Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo

To polecenie cmdlet zwraca Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. Jeśli używasz parametru ListSet, to polecenie cmdlet zwraca obiekt Microsoft.PowerShell.Commands.GetCounter.CounterSet. Jeśli używasz parametru podsumowania , to polecenie cmdlet zwraca obiekt Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo.

Uwagi

  • To polecenie cmdlet nie ma parametru ComputerName. Jeśli jednak komputer jest skonfigurowany do komunikacji zdalnej programu Windows PowerShell, możesz użyć polecenia cmdlet Invoke-Command do uruchomienia polecenia Import-Counter na komputerze zdalnym.