Get-CimInstance
CIM 서버에서 클래스의 CIM 인스턴스를 가져옵니다.
구문
Get-CimInstance
[-ClassName] <String>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
-ResourceUri <Uri>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ClassName] <String>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
-ResourceUri <Uri>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Description
Get-CimInstance
cmdlet은 CIM 서버에서 클래스의 CIM 인스턴스를 가져옵니다. 이 cmdlet에 대한 클래스 이름 또는 쿼리를 지정할 수 있습니다. 이 cmdlet은 CIM 서버에 있는 CIM 인스턴스의 스냅샷을 나타내는 하나 이상의 CIM 인스턴스 개체를 반환합니다.
InputObject 매개 변수를 지정하지 않으면 cmdlet은 다음 방법 중 하나로 작동합니다.
- ComputerName 매개 변수나 CimSession 매개 변수가 지정되지 않은 경우 이 cmdlet은 COM(구성 요소 개체 모델) 세션을 사용하여 로컬 WMI(Windows Management Instrumentation)에서 작동합니다.
- ComputerName 매개 변수 또는 CimSession 매개 변수가 지정된 경우 이 cmdlet은 ComputerName 매개 변수 또는 CimSession 매개 변수로 지정된 CIM 서버에 대해 작동합니다.
InputObject 매개 변수를 지정하면 cmdlet은 다음 방법 중 하나로 작동합니다.
- ComputerName 매개 변수나 CimSession 매개 변수가 지정되지 않은 경우 이 cmdlet은 입력 개체의 CIM 세션 또는 컴퓨터 이름을 사용합니다.
- ComputerName 매개 변수 또는 CimSession 매개 변수가 지정된 경우 이 cmdlet은 CimSession 매개 변수 값 또는 ComputerName 매개 변수 값을 사용합니다.
예제
예제 1: 지정된 클래스의 CIM 인스턴스 가져오기
Get-CimInstance -ClassName Win32_Process
이 명령은 Win32_Process클래스의 CIM 인스턴스를 검색합니다.
예제 2: WMI 서버에서 네임스페이스 목록 가져오기
Get-CimInstance -Namespace root -ClassName __Namespace
이 명령은 WMI 서버의 루트 네임스페이스 아래에 있는 네임스페이스 목록을 검색합니다.
예제 3: 쿼리를 사용하여 필터링된 클래스의 인스턴스 가져오기
Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'p%'"
이 명령은 Query 매개 변수로 지정된 쿼리를 사용하여 Win32_Process 클래스의 문자 p로 시작하는 모든 CIM 인스턴스를 검색합니다.
예제 4: 클래스 이름 및 필터 식을 사용하여 필터링된 클래스의 인스턴스 가져오기
Get-CimInstance -ClassName Win32_Process -Filter "Name like 'p%'"
이 명령은 Filter 매개 변수를 사용하여 Win32_Process 클래스의 문자 "p"로 시작하는 모든 CIM 인스턴스를 검색합니다.
예제 5: 키 속성만 채워진 CIM 인스턴스 가져오기
$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly
Get-CimInstance -CimInstance $x
이 명령 집합은 키 속성이 @{ "Handle"=0 }
Win32_Process 클래스에 대한 새 CIM 인스턴스를 메모리에 만들고 $x
변수에 저장합니다. 변수는 특정 인스턴스를 가져오기 위해 Get-CimInstance
cmdlet에 CIM 인스턴스로 전달됩니다.
예제 6: CIM 인스턴스 검색 및 다시 사용
$x,$y = Get-CimInstance -ClassName Win32_Process
$x | Format-Table -Property Name,KernelModeTime -AutoSize
$x | Get-CimInstance | Format-Table -Property Name,KernelModeTime -AutoSize
이 명령 집합은 Win32_Process 클래스의 CIM 인스턴스를 가져오고 $x
및 $y
변수에 저장합니다. 그런 다음,
예제 7: 원격 컴퓨터에서 CIM 인스턴스 가져오기
Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02
이 명령은 Server01 및 Server02라는 원격 컴퓨터에서 Win32_ComputerSystem 클래스의 CIM 인스턴스를 검색합니다.
예제 8: 모든 속성 대신 키 속성만 가져오기
Get-CimInstance -Class Win32_Process -KeyOnly
$x = Get-CimInstance -Class Win32_Process -KeyOnly
$x | Invoke-CimMethod -MethodName GetOwner
이 명령은 키 속성만 검색하여 개체 및 네트워크 트래픽의 크기를 줄입니다.
예제 9: 모든 속성 대신 속성의 하위 집합만 가져오기
Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x | Invoke-CimMethod -MethodName GetOwner
속성 매개 변수를 사용하여 검색된 인스턴스를 사용하여 Set-CimInstance
또는 Invoke-CimMethod
같은 다른 CIM 작업을 수행할 수 있습니다.
이 명령은 개체 및 네트워크 트래픽의 크기를 줄이는 속성의 하위 집합만 검색합니다.
예제 10: CIM 세션을 사용하여 CIM 인스턴스 가져오기
$s = New-CimSession -ComputerName Server01,Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s
이 명령 집합은 New-CimSession
cmdlet을 사용하여 Server01 및 Server02라는 컴퓨터에 CIM 세션을 만들고 세션 정보를 $s
변수에 저장합니다. 그런 다음 CimSession 매개 변수를 사용하여 변수의 내용을 Get-CimInstance
전달하여 Win32_ComputerSystem클래스의 CIM 인스턴스를 가져옵니다.
매개 변수
-CimSession
이 cmdlet에 사용할 CIM 세션을 지정합니다. CIM 세션이 포함된 변수 또는 ciM 세션을 만들거나 가져오는 명령(예: New-CimSession
또는 Get-CimSession
cmdlet)을 입력합니다. 자세한 내용은 about_CimSession참조하세요.
형식: | CimSession[] |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-ClassName
CIM 인스턴스를 검색할 CIM 클래스의 이름을 지정합니다. PowerShell은 클래스 이름 목록을 제공하기 위해 로컬 WMI 서버에서 클래스 목록을 가져오므로 탭 완성을 사용하여 클래스 목록을 찾아볼 수 있습니다.
형식: | String |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-ComputerName
CIM 작업을 실행할 컴퓨터를 지정합니다. FQDN(정규화된 도메인 이름), NetBIOS 이름 또는 IP 주소를 지정할 수 있습니다. 이 매개 변수를 지정하지 않으면 cmdlet은 COM(구성 요소 개체 모델)을 사용하여 로컬 컴퓨터에서 작업을 수행합니다.
이 매개 변수를 지정하는 경우 cmdlet은 WsMan 프로토콜을 사용하여 지정된 컴퓨터에 임시 세션을 만듭니다.
동일한 컴퓨터에서 여러 작업을 수행하는 경우 성능 향상을 위해 CIM 세션을 사용하여 연결합니다.
형식: | String[] |
별칭: | CN, ServerName |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Filter
필터로 사용할 where 절을 지정합니다. WQL 또는 CQL 쿼리 언어로 절을 지정합니다.
참고: 매개 변수 값에 where 키워드를 포함하지 마세요.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-InputObject
입력으로 사용할 CIM 인스턴스 개체를 지정합니다.
이미 CIM 인스턴스 개체를 사용하고 있는 경우 이 매개 변수를 사용하여 CIM 서버에서 최신 스냅샷을 가져오기 위해 CIM 인스턴스 개체를 전달할 수 있습니다. CIM 인스턴스 개체를 입력으로 전달하면 Get-CimInstance
열거형 또는 쿼리 작업 대신 CIM 가져오기 작업을 사용하여 서버에서 개체를 반환합니다. CIM 가져오기 작업을 사용하는 것이 모든 인스턴스를 검색한 다음 필터링하는 것보다 더 효율적입니다.
CIM 클래스가 get 작업을 구현하지 않으면 InputObject 매개 변수를 지정하면 오류가 반환됩니다.
형식: | CimInstance |
별칭: | CimInstance |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-KeyOnly
키 속성이 채워진 개체만 반환됨을 나타냅니다. KeyOnly 매개 변수를 지정하면 네트워크를 통해 전송되는 데이터의 양이 줄어듭니다.
KeyOnly 매개 변수를 사용하여 개체의 작은 부분만 반환합니다. 이 부분은 Set-CimInstance
또는 Get-CimAssociatedInstance
cmdlet과 같은 다른 작업에 사용할 수 있습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Namespace
CIM 클래스의 네임스페이스를 지정합니다.
기본 네임스페이스는 root/cimv2. PowerShell은 네임스페이스 목록을 제공하기 위해 로컬 WMI 서버에서 네임스페이스 목록을 가져오므로 탭 완성을 사용하여 네임스페이스 목록을 찾아볼 수 있습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-OperationTimeoutSec
cmdlet이 컴퓨터의 응답을 기다리는 시간을 지정합니다. 기본적으로 이 매개 변수의 값은 0입니다. 즉, cmdlet은 서버에 대한 기본 시간 제한 값을 사용합니다.
OperationTimeoutSec 매개 변수가 강력한 연결 다시 시도 시간 제한(3분)보다 작은 값으로 설정된 경우 OperationTimeoutSec 매개 변수 값보다 더 지속되는 네트워크 오류는 복구할 수 없습니다. 클라이언트가 다시 연결하기 전에 서버의 작업이 시간이 초과되기 때문입니다.
형식: | UInt32 |
별칭: | OT |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Property
검색할 인스턴스 속성 집합을 지정합니다. 메모리 또는 네트워크를 통해 반환되는 개체의 크기를 줄여야 하는 경우 이 매개 변수를 사용합니다.
반환되는 개체에는 Property 매개 변수에 나열된 속성 집합에 관계없이 항상 키 속성이 채워집니다. 클래스의 다른 속성이 있지만 채워지지 않습니다.
형식: | String[] |
별칭: | SelectProperties |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Query
CIM 서버에서 실행할 쿼리를 지정합니다. 지정한 값에 "
큰따옴표, 작은따옴표 '
또는 백슬래시 \
포함된 경우 백슬래시 문자로 접두사를 지정하여 해당 문자를 이스케이프해야 합니다. 지정된 값이 WQL LIKE 연산자를 사용하는 경우 대괄호 []
: 백분율 %
, 밑줄 _
또는 대괄호 [
열어 다음 문자를 이스케이프해야 합니다.
메타데이터 쿼리를 사용하여 클래스 목록 또는 이벤트 쿼리를 검색할 수 없습니다.
클래스 목록을 검색하려면 Get-CimClass
cmdlet을 사용합니다.
이벤트 쿼리를 검색하려면 Register-CimIndicationEvent
cmdlet을 사용합니다.
QueryDialect 매개 변수를 사용하여 쿼리 방언을 지정할 수 있습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-QueryDialect
쿼리 매개 변수에 사용되는 쿼리 언어를 지정합니다. 이 매개 변수에 허용되는 값은 WQL 또는 CQL. 기본값은 WQL
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-ResourceUri
리소스 클래스 또는 인스턴스의 리소스 URI(Uniform Resource Identifier)를 지정합니다. URI는 컴퓨터에서 디스크 또는 프로세스와 같은 특정 유형의 리소스를 식별하는 데 사용됩니다.
URI는 접두사 및 리소스 경로로 구성됩니다. 예를 들어:
https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
기본적으로 이 매개 변수를 지정하지 않으면 DMTF 표준 리소스 URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
사용되며 클래스 이름이 추가됩니다.
ResourceURI WSMan 프로토콜을 사용하여 만든 CIM 세션이나 WSMan을 사용하여 CIM 세션을 만드는 ComputerName 매개 변수를 지정하는 경우에만 사용할 수 있습니다. ComputerName 매개 변수를 지정하지 않고 이 매개 변수를 지정하거나 DCOM 프로토콜을 사용하여 만든 CIM 세션을 지정하면 DCOM 프로토콜이 ResourceURI 매개 변수를 지원하지 않으므로 오류가 발생합니다.
ResourceUri 매개 변수와 Filter 매개 변수를 모두 지정하면 Filter 매개 변수가 무시됩니다.
형식: | Uri |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Shallow
클래스의 인스턴스가 자식 클래스의 인스턴스를 포함하지 않고 반환됨을 나타냅니다. 기본적으로 cmdlet은 클래스의 인스턴스와 해당 자식 클래스를 반환합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
CIM Instance
이 cmdlet은 InputObject 매개 변수로 지정된 입력 개체를 허용합니다.
출력
CIM Instance
이 cmdlet은 CIM 서버에서 CIM 인스턴스의 스냅샷을 나타내는 하나 이상의 CIM 인스턴스 개체를 반환합니다.