Import-Counter
Импортирует файлы журнала счетчиков производительности и создает объекты, представляющие каждый пример счетчика в журнале.
Синтаксис
Import-Counter
[-Path] <String[]>
[-StartTime <DateTime>]
[-EndTime <DateTime>]
[-Counter <String[]>]
[-MaxSamples <Int64>]
[<CommonParameters>]
Import-Counter
[-Path] <String[]>
-ListSet <String[]>
[<CommonParameters>]
Import-Counter
[-Path] <String[]>
[-Summary]
[<CommonParameters>]
Описание
Командлет Import-Counter
импортирует данные счетчика производительности из файлов журнала счетчиков производительности и создает объекты для каждого примера счетчика в файле. Создаваемые объекты PerformanceCounterSampleSet идентичны объектам, возвращающимся Get-Counter
при сборе данных счетчика производительности.
Данные можно импортировать из файлов журналов производительности с разделим запятыми (.csv
.tsv
), разделенных табулем (), и двоичным журналом производительности (.blg
). При использовании .blg
файлов можно импортировать до 32 файлов в каждой команде. Параметры можно использовать Import-Counter
для фильтрации импортируемых данных.
Наряду с Get-Counter
Export-Counter
командлетами эта функция позволяет собирать, экспортировать, импортировать, объединять, фильтровать, управлять и повторно экспортировать данные счетчиков производительности в Windows PowerShell.
Примеры
Пример 1. Импорт всех данных счетчика из файла
$data = Import-Counter -Path ProcessorData.csv
Эта команда импортирует все данные счетчика ProcessorData.csv
из файла в $data
переменную.
Пример 2. Импорт определенных данных счетчика из файла
$i = Import-Counter -Path "ProcessorData.blg" -Counter "\\SERVER01\Processor(_Total)\Interrupts/sec"
Эта команда импортирует только данные счетчика Processor(_total)\Interrupts/sec из ProcessorData.blg
файла в $i
переменную.
Пример 3. Выбор данных из счетчика производительности и его экспорт в файл
В этом примере показано, как выбрать данные из файла журнала счетчиков производительности (.blg
) и экспортировать выбранные данные в .csv
файл. Первые четыре команды получают пути счетчика из файла и сохраняют их в переменной с именем $data
. Последние две команды импортируют выбранные данные, а затем экспортируют только выбранные данные.
$data = Import-Counter .\ProcessorData.blg
$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
$intCtrs = $Data[0].Countersamples | Where-Object {$_.Path -like "*Interrupts/sec"} | ForEach-Object {$_.Path}
$intCtrs
\\SERVER01\Processor(_Total)\Interrupts/sec
\\SERVER01\Processor(1)\Interrupts/sec
\\SERVER01\Processor(0)\Interrupts/sec
$i = Import-Counter -Path .\ProcessorData.blg -Counter $intCtrs
$i | Export-Counter -Path .\Interrupts.csv -Format CSV
Первая команда используется Import-Counter
для импорта всех данных счетчика производительности из ProcessorData.blg
файлов. Команда сохраняет данные в переменной $data
.
Вторая команда отображает пути счетчика в переменной $data
. Чтобы получить отображение, показанное в выходных данных команды, в примере используется Format-Table
командлет для форматирования в виде таблицы путей счетчика первого счетчика в переменной $data
.
Третья команда получает пути счетчика, которые заканчиваются Interrupts/sec
и сохраняют пути в переменной $intCtrs
. Он использует Where-Object
командлет для фильтрации путей счетчика и ForEach-Object
командлета, чтобы получить только значение свойства Path каждого выбранного объекта пути.
Четвертая команда отображает выбранные пути счетчика в переменной $intCtrs
.
Пятая команда использует Import-Counter
командлет для импорта данных. Она использует $intCtrs
переменную в качестве значения параметра Counter для импорта только данных для путей счетчика в $intCtrs
.
Шестая команда использует Export-Counter
командлет для экспорта данных в Interrupts.csv
файл.
Пример 4. Отображение всех путей счетчика в группе импортированных наборов счетчиков
В этом примере показано, как показать все пути счетчиков в группе импортированных наборов счетчиков.
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...}
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
Первая команда использует параметр ListSet командлета Import-Counter
для получения всех наборов счетчиков, представленных в файле данных счетчика.
Вторая команда получает все пути счетчика из набора списка.
Пример 5. Импорт данных счетчика из диапазона меток времени
В этом примере импортируются только данные счетчика, имеющие метку времени между начальными конечными диапазонами, указанными в команде.
Import-Counter -Path ".\disk.blg" | Format-Table -Property Timestamp
$start = [datetime]"7/9/2008 3:47:00 PM"; $end = [datetime]"7/9/2008 3:47:59 PM"
Import-Counter -Path Disk.blg -StartTime $start -EndTime $end
Первая команда перечисляет в таблице метки времени всех данных в ProcessorData.blg
файле.
Вторая команда сохраняет определенные метки времени в $start
переменных и $end
переменных. Строки привязываются к объектам DateTime .
Третья команда использует Import-Counter
командлет для получения только данных счетчика с меткой времени между временем начала и окончания (включительно). Команда использует параметры Import-Counter
StartTime и EndTime для указания диапазона.
Пример 6. Импорт указанного числа старейших примеров из файла журнала счетчика производительности
В этом примере показано, как импортировать пять самых старых и пять самых новых показаний из файла журнала счетчиков производительности.
Import-Counter -Path "Disk.blg" -MaxSamples 5
(Import-Counter -Path Disk.blg)[-1 .. -5]
Первая команда использует Import-Counter
командлет для импорта первых (старейших) пяти примеров из Disk.blg
файла. Команда использует параметр MaxSamples для ограничения импорта до пяти примеров счетчиков.
Вторая команда использует нотацию массива и оператор диапазона Windows PowerShell (..
) для получения последних пяти примеров счетчиков из файла. Это пять самых новых примеров.
Пример 7. Получение сводки данных счетчика из файла
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
Эта команда использует параметр Сводки командлета Import-Counter
для получения сводки данных счетчика в Memory.blg
файле.
Пример 8. Обновление файла журнала счетчиков производительности
Этот пример обновляет файл журнала счетчиков производительности.
$counters = Import-Counter OldData.blg -ListSet * | ForEach-Object {$_.PathsWithInstances}
Get-Counter -Counter $Counters -MaxSamples 20 | Export-Counter C:\Logs\NewData.blg
Первая команда использует параметр ListSet для Import-Counter
получения счетчиков в OldData.blg
существующем файле журнала счетчиков. Команда использует оператор конвейера (|
) для отправки данных ForEach-Object
в команду, которая получает только значения свойства PathsWithInstances каждого объекта.
Вторая команда получает обновленные данные для счетчиков в переменной $counters
. Он использует Get-Counter
командлет для получения текущего примера, а затем экспорта результатов в NewData.blg
файл.
Пример 9. Импорт данных журнала производительности из нескольких файлов и его сохранение
$counters = "D:\test\pdata.blg", "D:\samples\netlog.blg" | Import-Counter
Эта команда импортирует данные журнала производительности из двух журналов и сохраняет данные в переменной $counters
. Команда использует оператор конвейера для передачи путей журнала производительности командлету Import-Counter, который импортирует данные из указанных путей.
Обратите внимание, что каждый путь заключен в кавычки и что пути разделены запятыми.
Параметры
-Counter
Указывает в виде строкового массива счетчики производительности. По умолчанию Import-Counter
импортирует все данные из всех счетчиков в входных файлах. Введите один или несколько путей счетчиков. Знаки подстановки разрешены в части Instance.
Для каждого пути счетчика используется следующий формат. Значение ComputerName
необходимо в пути. Например:
\\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>
Например:
\\Server01\Processor(2)\% User Time
\\Server01\Processor(*)\% Processor Time
Тип: | String[] |
Position: | Named |
Default value: | All counter |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-EndTime
Указывает дату и время окончания, которое этот командлет импортирует данные счетчиков между StartTime и метками времени этого параметра. Введите объект DateTime, например созданный командлетомGet-Date
. По умолчанию Import-Counter
импортирует все данные счетчика в файлах, указанных параметром Path .
Тип: | DateTime |
Position: | Named |
Default value: | No end time |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ListSet
Указывает наборы счетчиков производительности, представленные в экспортированных файлах. Команды с этим параметром не импортируют какие-либо данные.
Введите одно или несколько имен наборов счетчиков. Разрешено использовать подстановочные знаки. Чтобы получить все наборы счетчиков в файле, введите Import-Counter -ListSet *
.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-MaxSamples
Указывает максимальное число выборок каждого счетчика, которые необходимо импортировать. По умолчанию Get-Counter
импортирует все данные в файлах, указанных параметром Path .
Тип: | Int64 |
Position: | Named |
Default value: | No maximum |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Path
Указывает путей к файлам для импорта. Этот параметр является обязательным.
Введите путь и имя файла, .csv
.tsv
.blg
экспортированного с помощью командлета.Export-Counter
Можно указать только один .csv
или .tsv
файл, но можно указать несколько .blg
файлов (до 32) в каждой команде. Можно также передать строки пути к файлу (в кавычках) Import-Counter
в .
Тип: | String[] |
Aliases: | PSPath |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | True |
-StartTime
Указывает дату и время начала, в котором этот командлет получает данные счетчика. Введите объект DateTime, например созданный командлетомGet-Date
. По умолчанию Import-Counter
импортирует все данные счетчика в файлах, указанных параметром Path .
Тип: | DateTime |
Position: | Named |
Default value: | No start time |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Summary
Указывает, что этот командлет получает сводку импортированных данных вместо получения отдельных примеров данных счетчика.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Путь к журналам счетчика производительности можно передать в этот командлет.
Выходные данные
Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo
Этот командлет возвращает Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. При использовании параметра ListSet этот командлет возвращает объект Microsoft.PowerShell.Commands.GetCounter.CounterSet. При использовании параметра Summary этот командлет возвращает объект Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo .
Примечания
- Этот командлет не имеет параметра ComputerName . Однако если компьютер настроен для удаленного взаимодействия Windows PowerShell, можно использовать
Invoke-Command
командлет для выполненияImport-Counter
команды на удаленном компьютере.
Связанные ссылки
PowerShell