Объект SWbemObjectSet

Объект SWbemObjectSet — это коллекция объектов SWbemObject . Дополнительные сведения см. в разделе доступ к коллекции. Не удается создать этот объект с помощью вызова функции VBScript.

Объект SWbemObjectSet можно получить, вызвав любой из следующих методов или их асинхронных эквивалентов:

Примечание

Объект SWbemObjectSet не поддерживает необязательные методы добавления и удаления коллекции.

Примечание

Поскольку обратный вызов к приемнику может быть не возвращен на том же уровне проверки подлинности, что и клиент, рекомендуется использовать семисинчронаус вместо асинхронного взаимодействия. Дополнительные сведения см. в разделе вызов метода.

Элементы

Объект SWbemObjectSet имеет следующие типы членов:

Методы

Объект SWbemObjectSet содержит эти методы.

Метод Описание
Item Извлекает объект SWbemObject из коллекции. Это метод объекта по умолчанию.

Свойства

Объект SWbemObjectSet имеет следующие свойства.

Свойство Тип доступа Описание
Count
Только для чтения
Количество элементов в коллекции.
Бюллетеня_
Только для чтения
Используется для чтения или изменения параметров безопасности.

Remarks

SWbemObjectSet — это коллекция из нуля или более объектов SWbemObject . Каждый SWbemObject в SWbemObjectSet может представлять одно из двух вещей:

  • Экземпляр управляемого WMI ресурса.
  • Экземпляр определения класса.

Чаще всего этот класс используется в WMI как возвращаемое значение для вызова ExecQuery или инстанцесоф , как описано в следующем примере кода:

strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colServices = objSWbemServices.ExecQuery("SELECT State FROM Win32_Service")
For Each objService In colServices
    Wscript.Echo objService.Name, objService.State
Next

В большинстве случаев единственное, что вы будете делать с SWbemObjectSet , — перечисляет все объекты, содержащиеся в самой коллекции. Однако SWbemObjectSet включает число свойств, которое может быть полезно при создании сценариев системного администрирования. Как следует из названия, Count сообщает число элементов в коллекции. Например, этот скрипт извлекает коллекцию всех служб, установленных на компьютере, а затем отображает общее число найденных служб:

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

Примеры

В следующем примере кода VBScript показано, как обрабатываются SWbemObjectSet коллекции.

On Error Resume Next

Set Disks = GetObject("winmgmts:").InstancesOf ("CIM_LogicalDisk")

WScript.Echo "There are", Disks.Count, " Disks"

Set Disk = Disks("Win32_LogicalDisk.DeviceID=""C:""")
WScript.Echo Disk.Path_.Path

if Err <> 0 Then
 WScript.Echo Err.Description
 Err.Clear
End if

В следующем образце кода Perl показано, как обрабатываются SWbemObjectSet коллекции.

use strict;
use Win32::OLE;

my ($disks,$disk);

eval { $disks = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2")->
   InstancesOf("CIM_LogicalDisk"); };
unless($@)
{
 print "\nThere are ", $disks->{Count}, " Disks \n";

 eval { $disk = $disks->Item("Win32_LogicalDisk.DeviceID=\"C:\""); };
 unless($@)
 {
  print $disk->{Path_}->{Path}, "\n";
 }
 else
 {
  print STDERR Win32::OLE->LastError, "\n";
 }
}
else
{
 print STDERR Win32::OLE->LastError, "\n";
}

Requirements (Требования)

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Заголовок
Wbemdisp. h
Библиотека типов
Wbemdisp. tlb
DLL
Wbemdisp.dll
CLSID
_SWBEMOBJECTSET CLSID
IID
IID _ исвбемобжектсет

См. также

Создание скриптов для объектов API