Импортирует файлы журналов счетчиков производительности (BLG, CSV, TSV) и создает объекты, представляющие каждую выборку счетчика в журнале.

Синтаксис

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

Описание

Командлет Import-Counter импортирует данные счетчиков производительности из файлов журналов счетчиков производительности и создает объекты для каждой выборки счетчика в файле. Созданные объекты PerformanceCounterSampleSet, идентичны объектам, возвращаемым командлетом Get-Counter при сборе данных счетчиков производительности.

Данные можно импортировать из файлов журналов производительности в формате значений, разделенных запятыми (CSV), в формате значений, разделенных табуляциями (TSV), и в формате двоичных журналов производительности (BLG). При использовании файлов BLG с помощью одной команды можно импортировать до 32 различных файлов. Кроме того, для фильтрации импортируемых данных можно использовать командлет Import-Counter.

С помощью этой возможности, а также командлетов Get-Counter и Export-Counter, можно собирать, экспортировать, импортировать, объединять, фильтровать, обрабатывать и повторно экспортировать данные счетчиков производительности в оболочке Windows PowerShell.

Параметры

-Counter <string[]>

Импортирует данные только для указанных счетчиков производительности. По умолчанию командлет Import-Counter импортирует все данные для всех счетчиков во входных файлах. Введите один или несколько путей счетчиков. Подстановочные знаки разрешается использовать только в часть Instance пути.

Путь счетчика имеет следующий формат. Обратите внимание, что значение ComputerName необходимо указывать в пути даже для локального компьютера.

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

Пример:

"\\Server01\Processor(2)\% User Time"

"\Processor(*)\% Processor Time

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

true

-EndTime <DateTime>

Импортирует только данные счетчика, штамп времени которых меньше либо равен указанным дате и времени. Укажите объект DateTime, например объект, возвращенный командлетом Get-Date. По умолчанию командлет Import-Counter импортирует все данные счетчиков из файлов, указанных в параметре Path.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-ListSet <string[]>

Получает наборы счетчиков производительности, представленные в экспортированных файлах. Команды с этим параметром не импортируют данные.

Введите одно или несколько имен наборов счетчиков. Подстановочные знаки разрешены. Чтобы получить все наборы счетчиков, имеющиеся в файле, введите команду "import-counter -listset *".

Обязательно?

true

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

true

-MaxSamples <Int64>

Задает максимальное число выборок, импортируемых для каждого счетчика. По умолчанию командлет Get-Counter импортирует все данные из файлов, указанных в параметре Path.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Path <string[]>

Задает пути к импортируемым файлам. Это обязательный параметр.

Введите путь и имя файла с расширением CSV, TSV или BLG, экспортированного с помощью командлета Export-Counter. В каждой команде можно задать только один файл CSV или TSV, но несколько файлов BLG (до 32). Кроме того, строки путей к файлам (в кавычках) можно по конвейеру передать в командлет Import-Counter.

Обязательно?

true

Позиция?

2

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue)

Принимать подстановочные знаки?

true

-StartTime <DateTime>

Импортирует только данные счетчика, штамп времени которых больше либо равен указанным дате и времени. Укажите объект DateTime, например объект, возвращенный командлетом Get-Date. По умолчанию командлет Import-Counter импортирует все данные счетчиков из файлов, указанных в параметре Path.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Summary <switch>

Получает сводку импортированных данных вместо получения отдельных выборок данных счетчиков.

Обязательно?

true

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

System.String

Пути журналов счетчиков производительности можно передать в командлет Import-Counter по конвейеру.

Выходные данные

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

По умолчанию командлет Import-Counter возвращает Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. При использовании параметра ListSet командлет Import-Command возвращает объект Microsoft.PowerShell.Commands.GetCounter.CounterSet. При использовании параметра Summary командлет Import-Command возвращает объект Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo.

Примечания

В командлете Import-Counter не предусмотрен параметр ComputerName. Однако, если компьютер настроен на удаленное взаимодействие в Windows PowerShell, с помощью командлета Invoke-Command можно запускать команду Import-Counter на удаленном компьютере.

Пример 1

C:\PS># Import-Counter

Описание
-----------
Эта команда импортирует все данные счетчиков из файла ProcessorData.csv в переменную $data.

C:\PS> $data = import-counter -path ProcessorData.csv






Пример 2

C:\PS># Import-Counter

Описание
-----------
Эта команда импортирует только данные счетчика "Processor(_total)\Interrupts\sec" из файла ProcessorData.blg в переменную $i.

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






Пример 3

C:\PS># Import-Counter

Описание
-----------
В этом примере показано, как выбирать данные в файле журнала счетчика производительности (BLG), а затем экспортировать выбранные данные в CSV-файл. 

Первые четыре команды получают из файла пути счетчиков и сохраняют их в переменной. Последние две команды импортируют выбранные данные, а затем экспортируют только выбранные данные.


Первая команда с помощью командлета Import-Counter импортирует все данные счетчиков производительности из файлов ProcessorData.blg. Команда сохраняет данные в переменной $data.

C:\PS> $data = import-counter .\processordata.blg



Вторая команда отображает пути счетчиков, сохраненные в переменной $data, в результатах выполнения команды.

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


Третья команда получает пути счетчиков, которые заканчиваются на "Interrupts/sec", и сохраняет их в переменной $IntCtrs.

C:\PS> $IntCtrs = $data[0].countersamples | where {$_.path -like "*interrupts/sec"} | foreach {$_.path}



Четвертая команда отображает выбранные пути счетчиков.

C:\PS> $IntCtrs

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



Пятая команда с помощью командлета Import-Counter импортирует данные. В ней используется параметр Counter с переменной $IntCtrs, чтобы импортировать данные только для путей счетчиков, указанных в переменной $IntCtrs.

C:\PS> $i = import-counter -path .\processordata.blg -counter $intCtrs



Шестая команда с помощью командлета Export-Counter экспортирует данные. 

C:\PS> $i | export-counter -path .\interrupts.csv -format CSV






Пример 4

C:\PS># Import-Counter

Описание
-----------
В этом примере показано, как отобразить все пути счетчиков в группе импортированных наборов счетчиков. 

Первая команда с помощью параметра ListSet получает наборы счетчиков, представленные в файле данных счетчика.

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



Вторая команда получает все пути счетчиков из набора списка.

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






Пример 5

C:\PS># Import-Counter

Описание
-----------
В этом примере импортируются только данные счетчиков со штампом времени в диапазоне времени, указанном в команде.

Первая команда составляет список штампов времени всех данных в файле ProcessorData.blg.

  C:\PS> import-counter -path .\disk.blg | format-table timestamp


Вторая и третья команды сохраняют начальный и конечный штампы времени в переменных $start и $end. Строки преобразуются в объекты DateTime.

  C:\PS> $start = [datetime]"7/9/2008 3:47:00 PM"
  C:\PS> $end = [datetime]"7/9/2008 3:47:59 PM"


Четвертая команда с помощью командлета Import-Counter получает данные счетчиков со штампами времени в диапазоне между начальным и конечным временами (включительно). Для указания диапазона времени в команде используются параметры StartTime и EndTime.

  C:\PS> $t-data = import-counter -path disk.blg -starttime $start -endtime $end






Пример 6

C:\PS># Import-Counter

Описание
-----------
В этом примере показано, как импортировать пять самых старых и пять самых новых выборок из файла журнала счетчика производительности.

Первая команда использует командлет Import-Counter для импорта данных из файла Disk.blg.
 В команде используется параметр MaxSamples для ограничения числа импортируемых выборок до 5. Эта команда получает первые (самые старые) пять выборок из файла.

C:\PS> import-counter -path disk.blg -maxSamples 5

Вторая команда использует синтаксис работы с массивами и оператор диапазона Windows PowerShell (..) для получения последних пяти выборок счетчиков из файла. Это пять самых новых выборок.

C:\PS> (import-counter -path disk.blg)[-1 .. -5]






Пример 7

C:\PS># Import-Counter

Описание
-----------
Команда использует параметр Summary, чтобы получить сводку данных счетчика из файла Memory.blg.

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






Пример 8

C:\PS># Import-Counter

Описание
-----------
В этом примере обновляется файл журнала счетчиков производительности. 

Первая команда с помощью параметра ListSet командлета Import-Counter получает счетчики из существующего файла журнала счетчиков OldData.blg. В команде используется оператор конвейера (|) для передачи данных команде Foreach-Object, которая получает для каждого объекта только значения свойства PathsWithInstances.

C:\PS> $counters = import-counter olddata.blg -ListSet * | foreach {$_.PathsWithInstances}


Вторая команда использует эти счетчики в новой команде Get-Counter для получения текущей выборки, а затем экспортирует ее в файл NewData.blg.

C:\PS> get-counter -counter $counters -maxSamples 20 | export-counter c:\Logs\newdata.blg






Пример 9

C:\PS># Import-Counter

Описание
-----------
Эта команда импортирует данные из двух журналов производительности и сохраняет их в переменной $counters. Команда передает пути журналов производительности в командлет Import-Counter с помощью оператора конвейера. 

C:\PS> $counters = "d:\test\pdata.blg", "d:\samples\netlog.blg" | import-counter

Обратите внимание, что каждый путь заключен в кавычки, и пути разделены запятыми.






См. также