전문가칼럼

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

심도 있는 WMI 탐색

전문가칼럼
DBMS별 분류
Etc
작성자
dataonair
작성일
2001-12-31 22:00
조회
1651





심도 있는 WMI 탐색

Scripting Guys 중 한 명은 젊었을 때 발효 음료를 마시고 겨울 캠핑을 하는 두 가지 취미에 심취했었다고 합니다. 아마도 그 두 가지가 서로 관련되어 있다고 생각했었던 모양인데 그 당시 친구들은 "더 열심히 해봐"라고 부추기고는 했다고 합니다. 이번 달에는 이 예전 친구들의 조언을 받아들여서 WMI(Windows Management Instrumentation)의 세계로 깊숙히 들어가 보기로 했습니다.

다행스러운 것은 이번에는 하이킹을 준비할 필요 없이 커피 메이커와 의자만 있으면 된다는 것입니다. 이제부터 스크립트를 사용하여 WMI의 깊은 부분을 탐험해 보겠습니다. 잘 아시다시피 Scripting Guys는 정말 실용적인 사람들입니다. 우리는 실제로는 몇 가지 세부 정보를 빠뜨리고는 잘난 체하는 설명보다는 실제로 무엇인가를 달성할 수 있도록 문제에 대한 실질적인 해결책을 제시하려고 하며 앞서의 부류와 차별화하기 위해 노력하고 있습니다.
이 칼럼은 특정한 시스템 관리 작업을 수행하는 데 초점을 맞추고 있지는 않지만 실용적인 목표가 있습니다. 기본적인 목표는 WMI 인프라에 대한 정보를 제공하는 것입니다. 그리고 이번에는 몇 가지 유용한 탐색 스크립트를 제공하고자 합니다. 메모장을 여십시오. 이번에는 깊게 들어갑니다!

네임스페이스

WMI 리포지토리는 데이터베이스이며 CIM(Common Information Model)을 저장하는 데 사용됩니다. 이 모델은 개체 지향적이므로 WMI가 관리할 수 있는 항목을 나타내는 설명(WMI 클래스)의 집합으로 모델이 구성된다는 것을 의미합니다. 예를 들어 Win32_Process WMI 클래스는 프로세스를 나타냅니다. WMI 클래스는 WMI 리포지토리의 다른 섹션에 저장됩니다. WMI 리포지토리의 섹션은 네임스페이스로 알려져 있습니다. WMI 리포지토리에 대해 가장 먼저 알 수 있는 사실은 상위 네임스페이스로 구분된다는 것입니다. 그림 1에 스크립트가 나와 있습니다.

그림 1 네임스페이스 표시

strComputer = "."
Call EnumNameSpaces("root")
Sub EnumNameSpaces(strNameSpace)
On Error Resume Next
WScript.Echo strNameSpace
Set objWMIService=GetObject _
("winmgmts:{impersonationLevel=impersonate}\\ & _