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 |
|
Bibliothèque de types |
|
DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |