PowerShell 개체의 모든 속성 표시
네트워크, 응용 프로그램 및 서비스와 같은 Windows 컴퓨터 및 해당 구성 요소에 대한 정보를 찾기 위한 요구 사항이 있습니다. CIM(Common Information Model)은 이러한 구성 요소와 해당 정보를 조작하기 위한 오픈 소스 표준입니다.
Microsoft는 컴퓨터, 서비스 및 네트워크 정보를 쿼리하고 조작하기 위해 WMI(Windows Management Instrumentation)라고 하는 CIM 위에 표준을 구현했습니다.
Get-WmiObject
를 사용하여 PowerShell 개체의 모든 속성 표시
Get-WmiObject
cmdlet을 사용하여 WMI 리포지토리에서 정보를 요청할 수 있습니다. 또한 원격 시스템에서도 작업할 수 있습니다.
따라서 Windows 시스템 관리 프로세스가 훨씬 쉬워집니다. Get-WmiObject
cmdlet을 사용하여 사용 가능한 클래스를 확인하겠습니다.
Get-WmiObject -List
이 명령은 로컬 시스템의 기본 네임스페이스에서 사용 가능한 모든 클래스를 출력합니다. 기본 네임스페이스는 Windows 컴퓨터에서 ROOT\cimv2
입니다.
출력:
기본 네임스페이스가 아닌 다른 네임스페이스를 지정할 수 있습니다(ROOT\cimv2
). -Namespace
매개변수를 사용하여 기본 네임스페이스를 변경할 수 있습니다.
Get-WmiObject -Namespace <custom_namespace>
클래스 인스턴스/객체 정보 검색
수백 개의 WMI 클래스를 사용할 수 있습니다. 다음과 같이 주어진 클래스에 대한 정보를 검색할 수 있습니다.
Get-WmiObject -Class Win32_computersystem
여기에서 Win32_computersystem
클래스에 대한 정보를 검색하고 있습니다. 다음과 같이 속성과 함께 Win32_computersystem
개체를 반환합니다.
출력에 표시되는 속성의 수는 제한되어 있습니다. Win32_computersystem
개체에는 이보다 더 많은 속성이 포함되어 있습니다.
Format-List
cmdlet을 사용하여 검색된 개체의 모든 속성을 표시할 수 있습니다.
Format-List
Cmdlet을 사용하여 속성 표시
Format-List
는 다른 명령의 출력과 파이프되어 결과를 형식화할 수 있습니다. 이 cmdlet은 검색된 WMI 개체의 지정된 속성 또는 모든 속성을 표시할 수 있습니다.
Win32_computersystem
인스턴스에 대한 몇 가지 속성을 지정해 보겠습니다.
Get-WmiObject -Class Win32_computersystem | Format-List -Property Name, Model, Manufacturer
출력:
Get-WmiObject
는 Win32_computersystem
개체의 기본 속성을 반환합니다. 그런 다음 출력은 파이프라인 연산자(|
)를 통해 Format-List
명령으로 전달됩니다.
-Property
매개변수를 Format-List
cmdlet에 전달할 수 있습니다. 그러면 주어진 세 가지 속성으로 최종 출력이 필터링됩니다.
경우에 따라 지정된 WMI 개체에 사용할 수 있는 모든 속성과 값을 확인하는 것이 중요합니다. 이 경우 사용 가능한 모든 속성과 해당 값을 검색하려면 -Property *
를 사용해야 합니다.
*
는 모든 속성을 나타냅니다.
Get-WmiObject -Class Win32_computersystem | Format-List -Property *
출력:
출력에는 Win32_computersystem
개체에 사용할 수 있는 모든 속성과 값이 포함됩니다. 위 명령에서 -Property
매개변수를 생략하고 작성할 수 있습니다.
Get-WmiObject -Class Win32_computersystem | Format-List *
위의 명령은 위와 동일한 출력을 표시해야 합니다.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.