모니커 문자열 생성
모니커 문자열 형식은 표준 WMI 개체 경로와 유사합니다. 자세한 내용은 WMI 개체 경로 요구 사항참조하세요.
모니커에는 다음과 같은 부분이 있습니다.
- 접두사 WinMgmts: (필수). 접두사는 다음 코드가 스크립팅 API 개체를 사용하게 되도록 WSH(Windows 스크립트 호스트)에 지시합니다.
- 보안 설정 구성 요소(선택 사항)
- WMI 개체 경로 구성 요소(선택 사항)
WMI 모니커 문자열에서는 암호를 지정할 수 없습니다. WMI에 연결할 때 암호(strPassword 매개 변수) 또는 인증 유형(strAuthority 매개 변수)을 변경해야 하는 경우 SWbemLocator.ConnectServer호출합니다. 원격 컴퓨터에 대한 연결에서 암호 및 권한만 지정할 수 있습니다. 로컬 컴퓨터에서 실행 중인 스크립트에서 이러한 설정을 시도하면 오류가 발생합니다. 보안 설정 및 개체 경로 구성 요소가 사용되는 시기에 대한 자세한 내용은 WMI 보안 설정 참조하세요.
다음 모니커는 가장이 설정되고 wbemPrivilegeDebug(SeDebugPrivilege) 권한이 활성화되고 wbemPrivilegeSecurity(SeSecurityPrivilege) 권한이 비활성화된 네임스페이스 루트\기본값을 나타내는 SWbemServices 개체를 지정합니다.
"winmgmts:{impersonationLevel=impersonate," & "(debug,!security)}!root\default"
메모
모든 문자열 리터럴은 대/소문자를 구분하지 않습니다.
권한의 "!" 접두사는 권한이 비활성화됨을 나타냅니다. 이 접두사를 생략하면 권한이 활성화됨을 의미합니다.
보안 설정이 컴퓨터 이름 또는 네임스페이스 앞에 대괄호로 지정된 경우 컴퓨터 이름 또는 네임스페이스에 "!" 접두사를 사용합니다.
개체 경로를 지정할 때 허용되는 기본 할당은 다음과 같습니다.
개체 경로에서 컴퓨터 컴퓨터 이름을 생략할 수 있습니다. 이 경우 로컬 컴퓨터 이름이 가정됩니다.
개체 경로에서 네임스페이스를 생략할 수 있습니다. 이 경우 기본 네임스페이스가 가정됩니다.
이는 레지스트리 키 HKEY_LOCAL_MACHINE\Software\Microsoft\WBEM\Scripting\기본 네임스페이스값에 따라 결정됩니다. 기본값은 "Root\CIMv2"입니다.
클래스 또는 인스턴스를 지정할 수도 있습니다. 이 경우 반환된 개체는 서비스 개체가 아닌 WMI 개체입니다.
메모
클래스 또는 인스턴스가 지정된 경우 컴퓨터 컴퓨터 이름을 지정할 때 네임스페이스를 생략할 수 없습니다.
WMI 모니커 문자열에 사용되는 권한 상수에 대한 참조는 권한 상수및 "스크립트 단축 이름" 설명자를 참조하세요.
유효한 모니커 문자열
다음 예제에서는 유효한 모니커 문자열을 보여 줍니다.
다음 모니커는 로컬 컴퓨터의 기본 네임스페이스를 식별합니다. SWbemServices 개체가 반환됩니다.
WinMgmts:
다음 모니커는 컴퓨터 myServer의 기본 네임스페이스를 식별합니다. SWbemServices 개체가 반환됩니다.
"WinMgmts://myServer"
다음 모니커는 myServer 컴퓨터의 root\cimv2 네임스페이스를 식별합니다. SWbemServices 개체가 반환됩니다.
"WinMgmts://myServer/root/cimv2"
다음 모니커는 로컬 서버의 root\cimv2 네임스페이스를 식별합니다. SWbemServices 개체가 반환됩니다.
"WinMgmts:root/cimv2"
다음 모니커는 myServer 서버의 root\cimv2 네임스페이스에서 Win32_LogicalDisk 클래스를 식별합니다. SWbemObject 개체가 반환됩니다.
"WinMgmts:{impersonationLevel=impersonate}" _
& "!//myServer/root/cimv2:Win32_LogicalDisk"
다음 모니커는 로컬 서버의 root\cimv2 네임스페이스에서 Win32_LogicalDisk 클래스를 식별합니다. SWbemObject 개체가 반환됩니다.
"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk"
다음 모니커는 로컬 서버의 기본 네임스페이스에서 Win32_LogicalDisk 클래스를 식별합니다. SWbemObject 개체가 반환됩니다.
"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk"
다음 모니커는 로컬 서버의 기본 스크립팅 네임스페이스에서 C 드라이브에 해당하는 Win32_LogicalDisk 인스턴스를 식별합니다. SWbemObject 개체가 반환됩니다. 스크립팅의 기본 네임스페이스는 WMI 컨트롤에 지정된 대로 기본 네임스페이스 구성 설정에 따라 결정됩니다. 자세한 내용은 WMI 컨트롤네임스페이스 보안 설정을 참조하세요.
"WinMgmts::Win32_LogicalDisk='C:'"
다음 모니커는 myServer 서버의 root\cimv2 네임스페이스에서 C 드라이브에 해당하는 Win32_LogicalDisk 인스턴스를 식별합니다. SWbemObject 개체가 반환됩니다.
"WinMgmts:{impersonationLevel=impersonate}" & "!//myServer/root/cimv2:Win32_LogicalDisk="C:""
다음 모니커는 로컬 서버의 root\cimv2 네임스페이스에서 C 드라이브에 해당하는 Win32_LogicalDisk 인스턴스를 식별합니다. SWbemObject 개체가 반환됩니다.
"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk="C:""
다음 모니커는 로컬 서버의 기본 네임스페이스에서 C: 드라이브에 해당하는 Win32_LogicalDisk 인스턴스를 식별합니다. SWbemObject 개체가 반환됩니다.
"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk="C:""
다음 모니커는 가장 수준을 가장하도록 설정하고 SE_DEBUG 권한을 설정합니다.
"WinMgmts:{impersonationLevel=impersonate, (Debug)}"
다음 모니커는 대리 수준을 설정하고 SE_DEBUG 권한을 설정합니다. 또한 SE_SHUTDOWN 권한을 취소합니다.
"WinMgmts:{impersonate,(Debug,!Shutdown)}"
다음 모니커는 root\wmi 네임스페이스에서 myclass 클래스에 대한 미국 영어 지역화된 설명을 검색합니다.
"WinMgmts:[locale=ms_409]!root/wmi:myclass"
다음 모니커는 주 mydomain\server를 사용하여 Kerberos 인증을 요청합니다.
"Winmgmts:{impersonationLevel=delegate," _
& "authority=kerberos:mydomain\server}" _
& "!//myserver/root/default:__cimomidentification=@"
다음 모니커는 mydomain 도메인을 사용하여 NTLM 인증을 요청합니다.
"Winmgmts:{impersonationLevel=impersonate," & _
"authority=ntlmdomain:mydomain} " & _
"!//myserver/root/default:__cimomidentification=@
다음 VBScript 코드 예제에서는 모니커에서 보안 및 로캘 매개 변수를 결합하는 방법을 보여줍니다.
'*****************************************************************
' Name : Moniker.vbs
'
' Purpose : This example shows how to set various
' parameters in a moniker.
'****************************************************************
Set myobj = GetObject("WINMGMTS:" _
& "{impersonationLevel=impersonate," _
& "authenticationLevel=pktPrivacy," _
& "authority=ntlmdomain:mydomain," _
& "(Debug,!Shutdown)}" _
& "[locale=ms_409]" _
& "!\\User1\ROOT\CIMV2:Win32_LogicalDisk=""C:""")
wscript.echo "File system = " & myobj.filesystem
메모
모니커가 개체에 더 직접적으로 액세스할 수 있지만, 특정 상황에서는 모니커를 반복적으로 사용하는 것이 WMI에 명시적으로 연결하는 동일한 코드보다 덜 효율적일 수 있습니다. 애플리케이션 성능이 고려 사항인 경우 대체 메커니즘을 사용하는 것이 좋습니다.
Microsoft Internet Explorer는 보안상의 이유로 이 호출의 사용을 거부하므로 VBScript에서 제공하는 GetObject 함수를 사용하여 HTML 페이지에 포함된 스크립트를 실행할 때 데이터를 업데이트하거나 설정할 수 없습니다.