다음을 통해 공유


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

Description

cmdlet은 Import-Counter 성능 카운터 로그 파일에서 성능 카운터 데이터를 가져오고 파일의 각 카운터 샘플에 대한 개체를 만듭니다. 만든 PerformanceCounterSampleSet 개체는 성능 카운터 데이터를 수집할 때 반환하는 Get-Counter 개체와 동일합니다.

쉼표로 구분된 값(), 탭으로 구분된 값(.csv.tsv) 및 이진 성능 로그(.blg) 성능 로그 파일에서 데이터를 가져올 수 있습니다. 파일을 사용하는 .blg 경우 각 명령에서 최대 32개의 파일을 가져올 수 있습니다. 매개 변수 Import-Counter 를 사용하여 가져오는 데이터를 필터링할 수 있습니다.

이 기능을 사용하면 및 cmdlet과 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

첫 번째 명령은 파일에서 ProcessorData.blg 모든 성능 카운터 데이터를 가져오는 데 사용합니다Import-Counter. 이 명령은 변수에 데이터를 $data 저장합니다.

두 번째 명령은 변수의 카운터 경로를 표시합니다 $data . 명령 출력에 표시된 표시를 가져오기 위해 이 예제에서는 cmdlet을 사용하여 Format-Table 변수의 첫 번째 카운터 $data 에 대한 카운터 경로의 형식을 테이블로 지정합니다.

세 번째 명령은 끝나는 Interrupts/sec 카운터 경로를 가져오고 변수에 $intCtrs 경로를 저장합니다. cmdlet을 Where-Object 사용하여 카운터 경로 및 ForEach-Object cmdlet을 필터링하여 선택한 각 경로 개체의 Path 속성 값만 가져옵니다.

네 번째 명령은 변수에 선택한 카운터 경로를 표시합니다 $intCtrs .

다섯 번째 명령은 cmdlet을 Import-Counter 사용하여 데이터를 가져옵니다. 변수를 $intCtrs Counter 매개 변수의 값으로 사용하여 카운터 경로에 대한 데이터만 가져옵니다 $intCtrs.

여섯 번째 명령은 cmdlet을 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

첫 번째 명령은 cmdlet의 Import-Counter ListSet 매개 변수를 사용하여 카운터 데이터 파일에 표시되는 모든 카운터 집합을 가져옵니다.

두 번째 명령은 목록 집합에서 모든 카운터 경로를 가져옵니다.

예제 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 개체로 캐스팅됩니다.

세 번째 명령은 cmdlet을 Import-Counter 사용하여 시작 시간과 종료 시간(포함) 사이에 타임스탬프가 있는 카운터 데이터만 가져옵니다. 이 명령은 StartTime 및 EndTime 매개 변수를 Import-Counter 사용하여 범위를 지정합니다.

예제 6: 성능 카운터 로그 파일에서 지정된 수의 가장 오래된 샘플 가져오기

이 예제에서는 성능 카운터 로그 파일에서 가장 오래된 샘플 5개와 최신 샘플 5개를 가져오는 방법을 보여 줍니다.

Import-Counter -Path "Disk.blg" -MaxSamples 5
(Import-Counter -Path Disk.blg)[-1 .. -5]

첫 번째 명령은 cmdlet을 Import-Counter 사용하여 파일에서 Disk.blg 첫 번째(가장 오래된) 5개의 샘플을 가져옵니다. 이 명령은 MaxSamples 매개 변수를 사용하여 가져오기를 5개의 카운터 샘플로 제한합니다.

두 번째 명령은 배열 표기법과 Windows PowerShell 범위 연산자(..)를 사용하여 파일에서 마지막 5개의 카운터 샘플을 가져옵니다. 다음은 5가지 최신 샘플입니다.

예제 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

이 명령은 cmdlet의 Import-Counter Summary 매개 변수를 사용하여 파일의 카운터 데이터에 대한 요약을 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카운터를 가져옵니다. 이 명령은 파이프라인 연산자(|)를 사용하여 각 개체의 PathsWithInstances 속성 값만 가져오는 명령에 데이터를 ForEach-Object 보냅니다.

두 번째 명령은 변수의 카운터에 대한 업데이트된 $counters 데이터를 가져옵니다. cmdlet을 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[]
Position:Named
Default value:All counter
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-EndTime

이 cmdlet이 StartTime과 이 매개 변수 타임스탬프 간에 카운터 데이터를 가져오는 종료 날짜 및 시간을 지정합니다. Cmdlet에서 만든 개체와 같은 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

가져올 파일의 파일 경로를 지정합니다. 이 매개 변수는 필수입니다.

cmdlet을 사용하여 Export-Counter 내보낸 파일의 .tsv.csv.blg 경로 및 파일 이름을 입력합니다. 하나 .csv 또는 .tsv 파일만 지정할 수 있지만 각 명령에서 여러 .blg 파일(최대 32개)을 지정할 수 있습니다. 파일 경로 문자열(따옴표)을 .로 파이프할 Import-Counter수도 있습니다.

형식:String[]
별칭:PSPath
Position:1
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:True

-StartTime

이 cmdlet이 카운터 데이터를 가져오는 시작 날짜 및 시간을 지정합니다. Cmdlet에서 만든 개체와 같은 DateTime 개체를 Get-Date 입력합니다. 기본적으로 Import-Counter Path 매개 변수로 지정된 파일의 모든 카운터 데이터를 가져옵니다.

형식:DateTime
Position:Named
Default value:No start time
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Summary

이 cmdlet은 개별 카운터 데이터 샘플을 가져오는 대신 가져온 데이터의 요약을 가져옵니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

성능 카운터 로그 경로를 이 cmdlet으로 파이프할 수 있습니다.

출력

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

이 cmdlet은 Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet을 반환 합니다. ListSet 매개 변수를 사용하는 경우 이 cmdlet은 Microsoft.PowerShell.Commands.GetCounter.CounterSet 개체를 반환합니다. Summary 매개 변수를 사용하는 경우 이 cmdlet은 Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo 개체를 반환합니다.

참고

  • 이 cmdlet에는 ComputerName 매개 변수가 없습니다. 그러나 컴퓨터가 Windows PowerShell 원격에 대해 구성된 경우 cmdlet을 Invoke-Command 사용하여 원격 컴퓨터에서 Import-Counter 명령을 실행할 수 있습니다.