성능 카운터 로그 파일(.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 cmdlet은 성능 카운터 로그 파일에서 성능 카운터 데이터를 가져오고 파일의 각 카운터 샘플에 대한 개체를 만듭니다. 이때 만들어지는 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>

지정된 날짜 및 시간보다 작거나 같은 타임스탬프가 있는 카운터 데이터만 가져옵니다. Get-Date cmdlet에 의해 만들어진 개체와 같은 DateTime 개체를 입력합니다. 기본적으로 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[]>

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

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

필수 여부

true

위치

2

기본값

파이프라인 입력 적용 여부

true (ByValue)

와일드카드 문자 적용 여부

true

-StartTime <DateTime>

지정된 날짜 및 시간보다 크거나 같은 타임스탬프가 있는 카운터 데이터만 가져옵니다. Get-Date cmdlet에 의해 만들어진 개체와 같은 DateTime 개체를 입력합니다. 기본적으로 Import-Counter는 Path 매개 변수에 의해 지정된 파일의 모든 카운터 데이터를 가져옵니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Summary <switch>

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

필수 여부

true

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

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 cmdlet에 ComputerName 매개 변수가 없습니다. 그러나 Windows PowerShell 원격을 사용하도록 컴퓨터가 구성된 경우 Invoke-Command cmdlet을 사용하여 원격 컴퓨터에서 Import-Counter 명령을 실행할 수 있습니다.

예 1

C:\PS># Import-Counter

설명
-----------
이 명령은 ProcessorData.csv 파일의 모든 카운터 데이터를 $data 변수로 가져옵니다.

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






예 2

C:\PS># Import-Counter

설명
-----------
이 명령은 ProcessorData.blg 파일의 Processor(_total)\Interrupts\sec 카운터 데이터만 $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 cmdlet을 사용하여 데이터를 가져옵니다. 이 명령은 $IntCtrs 변수에 Counter 매개 변수를 사용하여 $IntCtrs에 있는 카운터 경로의 데이터만 가져옵니다.

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


여섯 번째 명령은 Export-Counter cmdlet을 사용하여 데이터를 내보냅니다. 

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

설명
-----------
이 예에서는 성능 카운터 로그 파일에서 가장 오래된 샘플과 가장 최근 샘플을 5개씩 가져오는 방법을 보여 줍니다.

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

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

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

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
------------            ------------            -----------
7/10/2008 2:59:18 PM    7/10/2008 3:00:27 PM    1000






예 8

C:\PS># Import-Counter

설명
-----------
이 예는 성능 카운터 로그 파일을 업데이트합니다. 

첫 번째 명령은 Import-Counter의 ListSet 매개 변수를 사용하여 OldData.blg 및 기존 카운터 로그 파일에서 카운터를 가져옵니다. 이 명령은 파이프라인 연산자(|)를 사용하여 각 개체의 PathsWithInstances 속성 값만 가져오는 Foreach-Object 명령으로 데이터를 보냅니다.

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

이때 각 경로가 따옴표로 묶이며 경로는 쉼표로 구분됩니다.






참고 항목




목차