WMI 스크립팅 형식 라이브러리 사용
WMI 스크립팅 형식 라이브러리를 사용하여 Microsoft Visual Studio 및 Windows 스크립트 호스트 WSF 파일에서 WMI 스크립팅 API 메서드를 호출할 수 있습니다.
Microsoft Visual Studio에서 WMI 스크립팅 형식 라이브러리 사용
다음 절차에서는 IDE(통합 개발 환경)가 WbemScripting 형식 라이브러리를 인식할 수 있도록 하는 방법을 설명합니다.
WMI 스크립팅 형식 라이브러리를 프로젝트 참조에 추가하려면
프로젝트 메뉴에서 참조 추가를 선택합니다.
참조 추가 상자의 COM 탭에서 Microsoft WMI Scripting V1.2 라이브러리를 선택합니다.
참조 목록에 적절한 옵션이 없으면 참조 상자에서 찾아보기을 사용하여 옵션을 추가합니다. 찾아보기를 열면 WbemScripting 형식 라이브러리를 찾을 수 있는 참조 추가 상자가 열립니다.
WbemScripting 형식 라이브러리는 %windir%\System32\Wbem 디렉터리의 Wbemdisp.tlb 파일에 있습니다.
파일을 선택하고 열기를 클릭하세요. Microsoft WMI 스크립팅 V1.2 라이브러리가 참조 목록에 나타납니다. 목록에서 이 항목 옆에 있는 상자를 선택해야 합니다.
Windows 스크립트 호스트 2.0에서 WMI 스크립팅 형식 라이브러리 사용
Visual Basic, Scripting Edition 또는 기타 스크립팅 언어로 작성된 스크립트와 달리 Windows 스크립트 호스트 WSF 파일에 WbemScripting.SWbemLocator 참조를 포함할 수 있습니다. 이렇게 하면 값 대신 상수 이름을 사용할 수 있습니다. 예를 들어 인증을 설정할 때 값 6이 아닌 WbemAuthenticationLevelPktPrivacy 사용합니다.
스크립트는 다음 메서드를 사용하여 WMI 형식 라이브러리용 Scripting API와 연결할 수 있습니다.
VBScript 메서드에서 CreateObject 및 GetObject에서 WbemScripting GUID를 지정합니다.
그러면 WMI 개체 집합에 연결하도록 Windows 스크립트 호스트에 경고가 표시됩니다.
다음 VBScript 코드 예제에서는 새 SWbemDateTime 개체를 만듭니다.
Set dateTime = CreateObject("WbemScripting.SWbemDateTime")
새 개체 또는 기존 개체를 가져올 때에는 모니커 문자열인 "winmgmts:"를 사용합니다.
다음 VBScript 코드 예제에서는 "winmgmts:" 모니커를 사용하여 Handle 속성이 0인 Win32_Process 인스턴스를 가져옵니다. 핸들 이 클래스의 키 속성입니다.
Set Process = GetObject("winmgmts:Win32_Process.Handle=0")
WSH 2.0 XML 파일 형식의 <참조> 태그를 사용하여 WMI 형식 라이브러리를 참조합니다. <참조> 태그를 사용하는 경우 태그에 WMI 형식 라이브러리의 GUID 값이 있는 uuid 특성 또는 만들 수 있는 WMI 스크립팅 개체 중 PROGID 값이 있는 개체 특성(권장)이 있어야 합니다.
다음 VBScript 코드 예제에서는 "WbemScripting"의 PROGID를 사용합니다. 스크립트를 실행하려면 .wsf 확장자를 사용하여 파일에 텍스트를 저장합니다.
<?xml version="1.0" encoding="US-ASCII"?> <job> <reference object="WbemScripting.SWbemLocator"/> <script language="VBScript"> set service = GetObject("winmgmts:") ' Following line uses a symbolic ' constant from the WMI type library service.Security_.impersonationLevel = _ wbemImpersonationLevelDelegate </script> </job>
< 개체> 태그를 사용하여 WMI 스크립팅 개체를 만듭니다. 만들려는 WMI 스크립팅 개체를 참조하는 이름의 값과 WMI 스크립팅 개체의 PROID와 같은 progid 특성을 사용하여 id 특성을 지정할 수 있습니다.
다음 WSH 스크립트는 호스트 이름과 로컬 컴퓨터의 프로세서 수를 표시합니다. 스크립트를 실행하려면 .wsf 확장자를 사용하여 파일에 텍스트를 저장합니다.
<?xml version="1.0" encoding="US-ASCII"?> <job> <object id="objSWbemLocator" progid="WbemScripting.SWbemLocator"/> <script language="VBScript"> strComputer = "." Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, "root\cimv2") Set colSettings = objSWbemServices.ExecQuery("Select * From Win32_ComputerSystem") For Each objComputer in colSettings Wscript.Echo "System Name: " & objComputer.Name Wscript.Echo "Number of Processors: " & objComputer.NumberOfProcessors Next </script> </job>
관련 항목
-
WMI 대한 스크립팅 API