Objet SWbemObject

Vous pouvez utiliser les méthodes et propriétés de l’objet SWbemObject pour représenter une définition de classe Windows Management Instrumentation (WMI) ou une instance d’objet. Cet objet ne peut pas être créé par l’appel VBScript CreateObject.

Cet objet prend en charge deux types de propriétés et de méthodes. Celles définies dans cette section sont des propriétés et des méthodes génériques qui s’appliquent à tous les objets WMI. En outre, cet objet expose les propriétés et méthodes de l’objet sous-jacent en tant que propriétés d’automatisation dynamique et méthodes de SWbemObject. Les noms et les types de ces propriétés et méthodes dépendent de l’objet WMI sous-jacent. Pour plus d’informations sur la façon dont ces propriétés et méthodes dynamiques sont exposées, consultez Manipulation des informations sur les classes et les instances.

Du point de vue du client WMI, cet objet est toujours in-process. Les opérations d’écriture affectent uniquement la copie locale de l’objet, et les opérations de lecture récupèrent toujours les valeurs de la copie locale. Mises à jour à WMI sont effectuées uniquement lorsque des objets entiers sont écrits à l’aide d’un appel à la méthode SWbemObject.Put_ . Si vous modifiez les propriétés ou méthodes dans un objet SWbemObject , vos modifications ne sont pas écrites dans WMI tant que vous n’appelez pasSWbemObject.Put_.

Les noms de méthodes et de propriétés génériques définis dans cette section se terminent toujours par un trait de soulignement de fin (« _ ») pour les différencier des méthodes et propriétés WMI dynamiques de l’objet sous-jacent.

Notez que SWbemObject ne peut pas être créé à l’aide de la méthode VBScript GetObject.method. Si vous souhaitez créer une classe vide, utilisez SWbemServices.Get avec un paramètre de chemin d’accès vide. Cet appel retourne un objet SWbemObject vide qui peut devenir une classe. Vous pouvez ensuite fournir un nom de classe pour la propriété Class de l’objet SWbemObjectPath retourné par l’appel Path_ . Ajoutez des propriétés à la nouvelle classe par la méthode Properties_ . Pour créer un instance, appelez GetObject sur la nouvelle classe.

L'exemple de code suivant montre comment obtenir une nouvelle classe et lui ajouter une propriété. L’objet SWbemObject qui représente la classe doit être réécrit dans le référentiel WMI par un appel à Put_.

wbemCimtypeString = 8
Set objSWbemService = GetObject("Winmgmts:root\default")
Set objClass = objSWbemService.Get()
objClass.Path_.Class = "NewClass"

' Add a property
' String property
objClass.Properties_.add "PropertyName", wbemCimtypeString  
' Make the property a key property 
objClass.Properties_("PropertyName").Qualifiers_.add "key", true

' Write the new class to the root\default namespace in the repository
Set objClassPath = objClass.Put_
WScript.Echo objClassPath.Path

'Create an instance of the new class using SWbemObject.SpawnInstance
Set objNewInst = GetObject( _
    "Winmgmts:root\default:NewClass").Spawninstance_

objNewInst.PropertyName = "My Instance"

' Write the instance into the repository
Set objInstancePath = objNewInst.Put_
WScript.Echo objInstancePath.Path

Vous pouvez examiner le dépôt avec un outil d’affichage tel que CIM Studio pour vérifier que la nouvelle classe et la nouvelle instance apparaissent. Pour obtenir un exemple de suppression d’une classe et d’une instance du référentiel, consultez SWbemServices.Delete ou SWbemObject.Delete_.

Membres

L’objet SWbemObject présente les types de membres suivants :

Méthodes

L’objet SWbemObject a ces méthodes.

Méthode Description
Associators_ Récupère les associateurs de l’objet .
AssociatorsAsync_ Récupère de façon asynchrone les associateurs de l’objet .
Clone_ Copie de l'objet actuel.
CompareTo_ Teste si deux objets sont égaux.
Delete_ Supprime l’objet de WMI.
DeleteAsync_ Supprime de manière asynchrone l’objet de WMI.
ExecMethod_ Exécute une méthode exportée par un fournisseur de méthodes.
ExecMethodAsync_ Exécute de façon asynchrone une méthode exportée par un fournisseur de méthodes.
GetObjectText_ Récupère la représentation textuelle de l’objet (syntaxe MOF).
Instances_ Retourne une collection d’instances de l’objet (qui doit être une classe WMI).
InstancesAsync_ Retourne de manière asynchrone une collection d’instances de l’objet (qui doit être une classe WMI).
Put_ Crée ou met à jour l’objet dans WMI.
PutAsync_ Crée ou met à jour de manière asynchrone l’objet dans WMI.
References_ Retourne des références à l’objet .
ReferencesAsync_ Retourne de manière asynchrone des références à l’objet .
SpawnDerivedClass_ Crée une classe dérivée à partir de l’objet actuel (qui doit être une classe WMI).
SpawnInstance_ Crée une nouvelle instance depuis l’objet actif.
Subclasses_ Retourne une collection de sous-classes de l’objet (qui doit être une classe WMI).
SubclassesAsync_ Retourne de manière asynchrone une collection de sous-classes de l’objet (qui doit être une classe WMI).

Propriétés

L’objet SWbemObject a ces propriétés.

Propriété Type d’accès Description
Derivation_
Lecture seule
Contient un tableau de chaînes qui décrit la hiérarchie de dérivation pour la classe .
Méthodes_
Lecture seule
Objet SWbemMethodSet qui est la collection de méthodes pour cet objet.
Path_
Lecture seule
Contient un objet SWbemObjectPath qui représente le chemin d’accès de l’objet de la classe ou de l’instance actuelle.
Properties_
Lecture seule
Objet SWbemPropertySet qui est la collection de propriétés pour cet objet.
Qualifiers_
Lecture seule
Un objet SWbemQualifierSet qui est la collection de qualificateurs pour cet objet.
Security_
Lecture seule
Contient un objet SWbemSecurity utilisé pour lire ou modifier les paramètres de sécurité.

Spécifications

Condition requise Value
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
En-tête
Wbemdisp.h
Bibliothèque de types
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObject
IID
IID_ISWbemObject

Voir aussi

SWbemObjectEx

Objets de l'API de script