Объект SWbemLocator
Методы объекта SWbemLocator можно использовать для получения объекта SWbemServices , представляющего подключение к пространству имен на локальном или удаленном хост-компьютере. Затем можно использовать методы объекта SWbemServices для доступа к WMI. Этот объект можно создать с помощью вызова CreateObject VBScript.
Элементы
Объект SWbemLocator имеет следующие типы элементов:
Методы
Объект SWbemLocator содержит следующие методы.
Метод | Описание |
---|---|
ConnectServer | Подключается к WMI на указанном компьютере. |
Свойства
Объект SWbemLocator имеет следующие свойства.
Свойство | Тип доступа | Описание |
---|---|---|
Безопасности_ |
Только для чтения |
Используется для чтения или изменения параметров безопасности. |
Комментарии
В верхней части объектной модели библиотеки скриптов WMI находится объект SWbemLocator. SWbemLocator используется для установки аутентифицированного подключения к пространству имен WMI, так же как функция GetObject VBScript и моникер WMI "winmgmts:" используются для установки аутентифицированного подключения к WMI. Однако SWbemLocator предназначен для решения двух конкретных сценариев, которые невозможно выполнить с помощью GetObject и моникера WMI. Чтобы выполнить следующие действия, необходимо использовать SWbemLocator.
- Укажите учетные данные пользователя и пароля для подключения к WMI на удаленном компьютере. Моникер WMI, используемый с функцией GetObject, не включает механизм указания учетных данных. Для большинства действий WMI (включая все действия, выполняемые на удаленных компьютерах) требуются права администратора. Если вы обычно выполняете вход с помощью обычной учетной записи пользователя, а не учетной записи администратора, вы не сможете выполнить большинство задач WMI, если не запустить скрипт с альтернативными учетными данными.
- Подключитесь к WMI, если вы запускаете скрипт WMI на веб-странице. Функцию GetObject нельзя использовать при выполнении скриптов, внедренных в HTML-страницу, так как интернет-Обозреватель запрещает использование GetObject по соображениям безопасности.
Кроме того, может потребоваться использовать SWbemLocator для подключения к WMI, если строка подключения WMI, используемая с GetObject, запутана или затруднена.
Для создания ссылки на SWbemLocator используется CreateObject, а не GetObject. Чтобы создать ссылку, необходимо передать функции CreateObject программный идентификатор SWbemLocator (ProgID) WbemScripting.SWbemLocator, как показано в строке 2 в следующем примере скрипта. После получения ссылки на объект SWbemLocator вызывается метод ConnectServer для подключения к WMI и получения ссылки на объект SWbemServices. Это показано в строке 3 следующего сценария.
strComputer = "."
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("Win32_Service")
For Each objSWbemObject In colSWbemObjectSet
Wscript.Echo "Name: " & objSWbemObject.Name
Next
Чтобы запустить скрипт с альтернативными учетными данными, добавьте имя пользователя и пароль в качестве дополнительных параметров, передаваемых в ConnectServer. Например, этот скрипт выполняется под учетными данными пользователя kenmyer с паролем homerj.
strComputer = "atl-dc-01"
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer _
(strComputer, "root\cimv2", "kenmyer", "homerj")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("Win32_Service")
For Each objSWbemObject In colSWbemObjectSet
Wscript.Echo "Name: " & objSWbemObject.Name
Next
Вы также можете использовать формат Домен\Имя пользователя, чтобы указать имя пользователя. Пример:
" fabrikam\kenmyer"
Примеры
В следующем примере PowerShell используется SWbemLocator для подключения к серверу.
$NameSpace = 'root\ccm'
$ComputerName = 'sccm.company.com'
$WbemLocator = New-Object -ComObject "WbemScripting.SWbemLocator"
$WbemServices = $WbemLocator.ConnectServer($ComputerName, $Namespace)
$WbemClasses = $WbemServices.SubclassesOf()
$WbemClasses
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Заголовок |
|
Библиотека типов |
|
DLL |
|
CLSID |
CLSID_SWbemLocator |
IID |
IID_ISWbemLocator |