Manipulation des informations relatives aux classes et aux instances

WMI fournit diverses techniques pour récupérer et manipuler des informations sur les classes et les instances wmi, à l’aide de Microsoft PowerShell, Visual Basic scripting Edition (VBScript) et C++.

Le tableau suivant répertorie les rubriques qui traitent des techniques de récupération et de manipulation des informations d’instance et de classe WMI.

Rubrique Description
Récupération des données de classe ou d’instance WMI Récupérez et définissez les données depuis et vers le référentiel d’informations WMI.
Modification d’une propriété d’instance Modifiez les informations dans l’instance une fois qu’elle a été récupérée.
Modification de l’héritage d’une instance Modifiez la classe parente d’une instance.
Modification d’une méthode Modifiez les paramètres d’une instance de.
Énumération de WMI Énumérer les objets WMI.
Interrogation de WMI Interroger les objets WMI.
Appel d’une méthode Utilisez les méthodes associées créées par Microsoft ou d’autres développeurs tiers pour améliorer la manipulation des objets WMI, ou affectez directement l’objet représenté par l’objet WMI.
Accès à une collection Énumérez les collections dans le script.

Manipulation de données à l’aide de VBScript

Vous pouvez utiliser l’accès direct pour accéder aux propriétés WMI d’une classe ou d’une instance WMI directement sur un SWbemObject, plutôt qu’à l’aide de la collection de propriétés de cet objet. Vous pouvez également exécuter des méthodes sur cet objet dans le style natif du langage de programmation plutôt que d’utiliser l’appel SWbemServices. ExecMethod . par exemple, la méthode create dans le _ processus Win32 comportait trois paramètres dans Windows 2000, mais a quatre paramètres dans Windows Server 2003.

À l’aide de l’accès direct, vous pouvez traiter les propriétés et les méthodes WMI comme s’il s’agissait de propriétés et de méthodes Automation de SWbemObject.

L’exemple suivant montre comment vous pouvez accéder à une propriété.

VolumeName = MyDisk.Properties_("VolumeName")

L’exemple suivant montre comment vous pouvez accéder à une propriété lorsque vous avez un accès direct.

VolumeName = MyDisk.VolumeName

Le chaînage d’objets est également acceptable.

L’exemple suivant montre comment accéder à une propriété d’un objet incorporé dans un autre objet.

value = MyComputer.MyDisk.VolumeName

L’exemple suivant montre comment accéder à une propriété à l’aide d’une notation d’indice de tableau.

valueOfElement = MyDisk.MyArrayProperty(3)

L’exemple de code VBScript suivant montre comment générer une instance des paramètres d’entrée dans la méthode Create de la classe Win32 _ Process en tant que SWbemObject, remplir les propriétés d’entrée, puis exécuter la méthode Create à l’aide de SWbemServices. ExecMethod.

La propriété SWbemObject. _ Methods retourne une collection SWbemMethodSet des méthodes de _ traitement Win32 . Les membres de la méthode définie sont des objets SWbemMethod et SWbemMethod. ins retourne les paramètres d’entrée de la méthode Create . Le paramètre d’entrée de la ligne de commande requis est défini sur « calc.exe ». La méthode est ensuite exécutée par SWbemServices. ExecMethod, ce qui se traduit par le lancement d’un processus de calc.exe.

set Services = GetObject("winmgmts:root\cimv2")
Set obj = Services.Get("Win32_Process")
Set objIns = obj.Methods_("Create").InParameters.SpawnInstance_
objIns.CommandLine = "calc.exe"
Set objOut = Services.ExecMethod("Win32_Process", "Create", objIns)
MsgBox "Return value = " & objOut.returnvalue & VBCRLF & "Process ID = " & objOut.processid

L’exemple de code suivant montre comment effectuer l’opération précédente à l’aide de l’accès direct.

set Services = GetObject("winmgmts:root\cimv2")
Set Obj = Services.Get("Win32_Process")
returnvalue = Obj.create("calc.exe",,,processid)
MsgBox "Return value = " & returnvalue & VBCRLF & "Process ID = " & processid

Pour plus d’informations, consultez appel d’une méthode de fournisseur et écriture de scripts avec SWbemObject.