Создание строки моникера

Формат строки моникера аналогичен формату стандартного пути к объекту WMI. Дополнительные сведения см. в разделе Требования к пути к объекту WMI.

Моникер состоит из следующих частей:

  • Префикс WinMgmts: (обязательный). Префикс указывает на узел сценариев Windows (WSH), что следующий код будет использовать объекты API сценариев.
  • Компонент параметров безопасности (необязательно)
  • Компонент пути к объекту WMI (необязательно)

Невозможно указать пароль в строке моникера WMI. Если необходимо изменить пароль (параметр strPassword ) или тип проверки подлинности (параметр strAuthority ) при подключении к WMI, вызовите SWbemLocator.ConnectServer. Имейте в виду, что вы можете указать пароль и полномочия только в подключениях к удаленным компьютерам. Попытка задать их в скрипте, запущенном на локальном компьютере, приводит к ошибке. Дополнительные сведения об использовании параметров безопасности и компонентов пути к объектам см. в разделе Параметры безопасности WMI.

Следующий моникер указывает объект SWbemServices , представляющий корневое пространство имен\default, с олицетворением в и включенной привилегией wbemPrivilegeDebug (SeDebugPrivilege) и привилегией wbemPrivilegeSecurity (SeSecurityPrivilege) отключена.

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

Примечание

Все строковые литералы не учитывают регистр.

Префикс "!" для привилегии указывает, что привилегия должна быть отключена; Пропуск этого префикса подразумевает, что привилегия должна быть включена.

Префикс "!" используется в имени компьютера или пространстве имен, если параметры безопасности указаны в квадратных скобках перед именем компьютера или пространством имен.

 

При указании пути к объекту разрешены следующие назначения по умолчанию:

  • Имя компьютера можно опустить в пути к объекту. В этом случае предполагается имя локального компьютера.

  • Пространство имен можно опустить в пути к объекту. В этом случае предполагается пространство имен по умолчанию.

    Это определяется значением раздела реестра HKEY_LOCAL_MACHINE\программного пространства\ именmicrosoft\WBEM\Scripting\Default, значение по умолчанию — Root\CIMv2.

  • Можно также указать класс или экземпляр. В этом случае возвращаемый объект является объектом WMI, а не объектом services.

Примечание

Если указан класс или экземпляр, пространство имен нельзя опустить при указании имени компьютера.

 

Сведения о константах привилегий, используемых в строке моникера WMI, см. в разделах Константы привилегий и дескрипторы "Краткое имя скрипта".

Допустимые строки моникера

В следующих примерах показаны допустимые строки моникера.

Следующий моникер определяет пространство имен по умолчанию на локальном компьютере. Возвращается объект SWbemServices .

WinMgmts:

Следующий моникер определяет пространство имен по умолчанию на компьютере myServer. Возвращается объект SWbemServices .

"WinMgmts://myServer"

Следующий моникер определяет пространство имен root\cimv2 на компьютере myServer. Возвращается объект SWbemServices .

"WinMgmts://myServer/root/cimv2"

Следующий моникер определяет пространство имен root\cimv2 на локальном сервере. Возвращается объект SWbemServices .

"WinMgmts:root/cimv2"

Следующий моникер определяет класс Win32_LogicalDisk в пространстве имен root\cimv2 на сервере myServer. Возвращается объект SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" _
    & "!//myServer/root/cimv2:Win32_LogicalDisk"

Следующий моникер определяет класс Win32_LogicalDisk в пространстве имен root\cimv2 на локальном сервере. Возвращается объект SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk"

Следующий моникер идентифицирует класс Win32_LogicalDisk в пространстве имен по умолчанию на локальном сервере. Возвращается объект SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk"

Следующий моникер идентифицирует экземпляр Win32_LogicalDisk , соответствующий диску C: в пространстве имен скриптов по умолчанию на локальном сервере. Возвращается объект SWbemObject . Пространство имен по умолчанию для создания скриптов определяется параметром конфигурации пространства имен по умолчанию, как указано в элементе управления WMI. Дополнительные сведения см. в разделе Настройка безопасности пространства имен с помощью элемента управления WMI.

"WinMgmts::Win32_LogicalDisk='C:'"

Следующий моникер идентифицирует экземпляр Win32_LogicalDisk , соответствующий диску C: в пространстве имен root\cimv2 на сервере myServer. Возвращается объект SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!//myServer/root/cimv2:Win32_LogicalDisk="C:""

Следующий моникер определяет экземпляр Win32_LogicalDisk , соответствующий диску C: в пространстве имен root\cimv2 на локальном сервере. Возвращается объект SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk="C:""

Следующий моникер определяет экземпляр Win32_LogicalDisk , соответствующий диску C: в пространстве имен по умолчанию на локальном сервере. Возвращается объект SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk="C:""

Следующий моникер задает уровень олицетворения для олицетворения и задает привилегию SE_DEBUG.

"WinMgmts:{impersonationLevel=impersonate, (Debug)}"

Следующий моникер задает уровень олицетворения для олицетворения и задает привилегию SE_DEBUG. Он также отменяет привилегию SE_SHUTDOWN.

"WinMgmts:{impersonate,(Debug,!Shutdown)}"

Следующий моникер извлекает локализованные описания класса myclass на американском английском языке из пространства имен root\wmi.

"WinMgmts:[locale=ms_409]!root/wmi:myclass"

Следующий моникер запрашивает проверку подлинности Kerberos с помощью основного mydomain\server.

"Winmgmts:{impersonationLevel=delegate," _
    & "authority=kerberos:mydomain\server}" _
    & "!//myserver/root/default:__cimomidentification=@"

Следующий моникер запрашивает проверку подлинности NTLM с помощью домена mydomain.

"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. Если необходимо учитывать производительность приложения, рассмотрите возможность использования альтернативных механизмов.

Невозможно использовать функцию GetObject, предоставляемую VBScript, для обновления или настройки данных при выполнении скриптов, внедренных в HTML-страницу, так как Microsoft Internet Обозреватель запрещает использование этого вызова по соображениям безопасности.