Oggetto SWbemObjectSet

Un oggetto SWbemObjectSet è un insieme di oggetti SWbemObject . Per altre informazioni, vedere Accesso a una raccolta. Questo oggetto non può essere creato dalla chiamata CreateObject VBScript.

È possibile ottenere un oggetto SWbemObjectSet chiamando uno dei metodi seguenti o i relativi equivalenti asincroni:

Nota

L'oggetto SWbemObjectSet non supporta i metodi di raccolta Add e Remove facoltativi.

Nota

Poiché il callback al sink potrebbe non essere restituito allo stesso livello di autenticazione richiesto dal client, è consigliabile usare la comunicazione semiincrona anziché la comunicazione asincrona. Per altre informazioni, vedere Chiamata di un metodo.

Membri

L'oggetto SWbemObjectSet dispone di questi tipi di membri:

Metodi

L'oggetto SWbemObjectSet dispone di questi metodi.

Metodo Descrizione
Elemento Recupera un oggetto SWbemObject dall'insieme. Si tratta del metodo predefinito dell'oggetto .
Itemindex Recupera l'oggetto SWbemObject associato all'indice specificato nell'insieme.

Proprietà

L'oggetto SWbemObjectSet ha queste proprietà.

Proprietà Tipo di accesso Descrizione
Conteggio
Sola lettura
Numero di elementi nella raccolta.
Sicurezza_
Sola lettura
Usato per leggere o modificare le impostazioni di sicurezza.

Commenti

Un oggetto SWbemObjectSet è un insieme di zero o più oggetti SWbemObject. Ogni SWbemObject in un oggetto SWbemObjectSet può rappresentare uno dei due elementi seguenti:

  • Istanza di una risorsa gestita da WMI.
  • Istanza di una definizione di classe.

L'uso più comune di questa classe in WMI è il valore restituito per una chiamata ExecQuery o InstancesOf , come descritto nell'esempio di codice seguente:

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

Per la maggior parte, l'unica operazione che verrà eseguita con un oggetto SWbemObjectSet è l'enumerazione di tutti gli oggetti contenuti nella raccolta stessa. Tuttavia, SWbemObjectSet include una proprietà Count che può essere utile negli script di amministrazione del sistema. Come suggerisce il nome, Count indica il numero di elementi nella raccolta. Ad esempio, questo script recupera una raccolta di tutti i servizi installati in un computer e quindi restituisce il numero totale di servizi trovati:

Per altre informazioni su come usare questa classe, vedere Enumerazione WMI.

Esempio

Nell'esempio di codice VBScript seguente viene illustrato come vengono modificate le raccolte 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

Nell'esempio di codice Perl seguente viene illustrato come vengono manipolate le raccolte 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";
}

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista
Server minimo supportato
Windows Server 2008
Intestazione
Wbemdisp.h
Libreria dei tipi
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObjectSet
IID
IID_ISWbemObjectSet

Vedi anche

Scripting di oggetti API