모니커 문자열 생성

모니커 문자열 형식은 표준 WMI 개체 경로의 형식과 비슷합니다. 자세한 내용은 WMI 개체 경로 요구 사항을 참조하세요.

모니커에는 다음과 같은 부분이 있습니다.

  • 접두사 WinMgmts:(필수). 이 접두사는 다음 코드가 스크립팅 API 개체를 사용하도록 WSH(Windows 스크립트 호스트)에 지시합니다.
  • 보안 설정 구성 요소(선택 사항)
  • WMI 개체 경로 구성 요소(선택 사항)

WMI 모니커 문자열에는 암호를 지정할 수 없습니다. WMI에 연결할 때 암호(strPassword 매개 변수) 또는 인증 유형(strAuthority 매개 변수)을 변경해야 하는 경우에는 SWbemLocator.ConnectServer를 호출합니다. 암호와 권한은 원격 컴퓨터에 대한 연결에서만 지정할 수 있습니다. 로컬 컴퓨터에서 실행 중인 스크립트에서 암호 및 권한 설정을 시도하면 오류가 발생합니다. 보안 설정 및 개체 경로 구성 요소를 사용되는 시점에 대한 자세한 내용은 WMI 보안 설정을 참조하세요.

다음 모니커는 가장이 켜지고 wbemPrivilegeDebug(SeDebugPrivilege) 권한은 활성화되며 wbemPrivilegeSecurity(SeSecurityPrivilege) 권한은 비활성화된 네임스페이스인 root\default를 나타내는 SWbemServices 개체를 지정합니다.

"winmgmts:{impersonationLevel=impersonate," & "(debug,!security)}!root\default"

참고

모든 문자열 리터럴은 대/소문자를 구분하지 않습니다.

권한의 "!" 접두사는 권한을 사용하지 않도록 설정해야 함을 의미합니다. 이 접두사가 생략되었다면 권한을 사용하도록 설정해야 합니다.

보안 설정이 컴퓨터 이름 또는 네임스페이스 앞에 대괄호로 지정된 경우, 컴퓨터 이름 또는 네임스페이스에 "!" 접두사를 사용합니다.

 

개체 경로를 지정할 때는 다음 기본 할당이 허용됩니다.

  • 컴퓨터 머신 이름은 개체 경로에서 생략할 수 있습니다. 이 경우 로컬 머신 이름을 추정합니다.

  • 네임스페이스는 개체 경로에서 생략할 수 있습니다. 이 경우 기본 네임스페이스를 추정합니다.

    레지스트리 키 HKEY_LOCAL_MACHINE\Software\Microsoft\WBEM\Scripting\Default Namespace의 값으로 결정하며, 기본값은 "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는 보안상의 이유로 이 호출 사용을 거부하므로, HTML 페이지에 포함된 스크립트를 실행할 때 VBScript에서 제공하는 GetObject 함수를 사용하여 데이터를 업데이트하거나 설정할 수 없습니다.