Objeto SWbemObjectSet

Um objeto SWbemObjectSet é uma coleção de objetos SWbemObject . Para obter mais informações, consulte Acessar uma coleção. Esse objeto não pode ser criado pela chamada CreateObject do VBScript.

Você pode obter um objeto SWbemObjectSet chamando qualquer um dos seguintes métodos ou seus equivalentes assíncronos:

Observação

O objeto SWbemObjectSet não dá suporte aos métodos opcionais de coleção Add e Remove .

Observação

Como a chamada de volta para o coletor pode não ser retornada no mesmo nível de autenticação que o cliente exige, é recomendável que você use comunicação semissíncrona em vez de assíncrona. Para obter mais informações, consulte Chamar um método.

Membros

O objeto SWbemObjectSet tem esses tipos de membros:

Métodos

O objeto SWbemObjectSet tem esses métodos.

Método Descrição
Item Recupera um objeto SWbemObject da coleção. Esse é o método padrão do objeto.

Propriedades

O objeto SWbemObjectSet tem essas propriedades.

Propriedade Tipo de acesso Descrição
Contagem
Somente leitura
Número de itens na coleção.
Security_
Somente leitura
Usado para ler ou alterar as configurações de segurança.

Comentários

Um SWbemObjectSet é uma coleção de zero ou mais objetos SWbemObject . Cada SWbemObject em um SWbemObjectSet pode representar uma das duas coisas:

  • Uma instância de um recurso gerenciado por WMI.
  • Uma instância de uma definição de classe.

O uso mais comum dessa classe no WMI é como o valor retornado para uma chamada ExecQuery ou InstancesOf , conforme descrito no exemplo de código a seguir:

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

Na maioria das vezes, a única coisa que você fará com um SWbemObjectSet é enumerar todos os objetos contidos na própria coleção. No entanto, SWbemObjectSet inclui uma contagem de propriedades que pode ser útil no script de administração do sistema. Como o nome indica, Count informa o número de itens na coleção. Por exemplo, esse script recupera uma coleção de todos os serviços instalados em um computador e, em seguida, ecoa o número total de serviços encontrados:

Para obter mais informações sobre como usar essa classe, consulte Enumeração do WMI.

Exemplos

O exemplo de código VBScript a seguir ilustra como as coleções SWbemObjectSet são manipuladas.

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

O exemplo de código Perl a seguir ilustra como as coleções SWbemObjectSet são manipuladas.

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";
}

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Cabeçalho
Wbemdisp.h
Biblioteca de tipos
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObjectSet
IID
IID_ISWbemObjectSet

Confira também

Objetos de API de script