Import-Counter
Импортирует файлы журнала счетчиков производительности и создает объекты, представляющие каждый пример счетчика в журнале.
Синтаксис
GetCounterSet (по умолчанию)
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>]
Описание
Командлет 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
в качестве значения параметра счетчика для импорта только данных для путей счетчика в $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
для получения только данных счетчика с меткой времени между временем начала и окончания (включительно). Команда использует параметры StartTime и EndTime параметры Import-Counter
для указания диапазона.
Пример 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
Первая команда использует параметр ListSetImport-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
импортируют все данные из всех счетчиков в входных файлах. Введите один или несколько путей счетчика. Подстановочные знаки разрешены в части экземпляра пути.
Каждый путь счетчика имеет следующий формат. Значение ComputerName
необходимо в пути. Например:
\\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>
Рассмотрим пример.
\\Server01\Processor(2)\% User Time
\\Server01\Processor(*)\% Processor Time
Свойства параметра
Тип: | String[] |
Default value: | All counter |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
GetCounterSet
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-EndTime
Указывает дату окончания и время, которое этот командлет импортирует данные счетчиков между StartTime и метками времени этого параметра. Введите объект DateTime, например объект, созданный командлетом Get-Date
. По умолчанию Import-Counter
импортируются все данные счетчика в файлах, указанных параметром пути.
Свойства параметра
Тип: | DateTime |
Default value: | No end time |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
GetCounterSet
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-ListSet
Указывает наборы счетчиков производительности, представленные в экспортированных файлах. Команды с этим параметром не импортируют данные.
Введите одно или несколько имен наборов счетчиков. Подстановочные символы разрешены. Чтобы получить все наборы счетчиков в файле, введите Import-Counter -ListSet *
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
ListSetSet
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-MaxSamples
Указывает максимальное количество выборок каждого счетчика для импорта. По умолчанию Get-Counter
импортирует все данные в файлах, указанных параметром пути.
Свойства параметра
Тип: | Int64 |
Default value: | No maximum |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
GetCounterSet
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Path
Указывает пути к файлам, которые необходимо импортировать. Этот параметр является обязательным.
Введите путь и имя файла, .csv
, .tsv
или .blg
файла, экспортированного с помощью командлета Export-Counter
. Можно указать только один файл .csv
или .tsv
, но можно указать несколько .blg
файлов (до 32) в каждой команде. Строки пути к файлу (в кавычках) также можно передать в Import-Counter
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Aliases: | PSPath |
Наборы параметров
(All)
Position: | 1 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-StartTime
Указывает дату и время начала, в котором этот командлет получает данные счетчика. Введите объект DateTime, например объект, созданный командлетом Get-Date
. По умолчанию Import-Counter
импортируются все данные счетчика в файлах, указанных параметром пути.
Свойства параметра
Тип: | DateTime |
Default value: | No start time |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
GetCounterSet
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Summary
Указывает, что этот командлет получает сводку импортированных данных вместо получения отдельных примеров данных счетчика.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
SummarySet
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Путь к журналам счетчика производительности можно передать в этот командлет.
Выходные данные
Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo
Этот командлет возвращает Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. При использовании параметра ListSet
Примечания
- Этот командлет не имеет параметра ComputerName. Однако если компьютер настроен для удаленного взаимодействия Windows PowerShell, можно использовать командлет
Invoke-Command
для выполнения командыImport-Counter
на удаленном компьютере.