Tâches WMI : Registre
Les tâches WMI pour le registre créent et modifient des clés et des valeurs de registre. Pour obtenir d’autres exemples, consultez TechNet ScriptCenter à https://www.microsoft.com/technet.
Les exemples de script présentés dans cette rubrique obtiennent les données uniquement à partir de l’ordinateur local. Pour plus d’informations sur l’utilisation du script afin d’obtenir des données provenant d’ordinateurs distants, consultez Connexion à WMI sur un ordinateur distant.
La procédure suivante explique comment exécuter un script.
Pour exécuter un script
- Copiez le code, puis enregistrez-le dans un fichier avec l’extension .vbs, par exemple nomfichier.vbs. Vérifiez que votre éditeur de texte n’ajoute pas d’extension .txt au fichier.
- Ouvrez une fenêtre d’invite de commandes, puis accédez au répertoire où vous avez enregistré le fichier.
- Tapez cscript nomfichier.vbs à l’invite de commandes.
- Si vous ne pouvez pas accéder à un journal des événements, vérifiez si vous exécutez la commande à partir d’une invite de commandes avec élévation de privilèges. Certains journaux des événements, par exemple le journal des événements de sécurité, peuvent être protégés par la fonctionnalité UAC (contrôle de compte d’utilisateur).
Notes
Par défaut, cscript affiche la sortie d’un script dans la fenêtre d’invite de commandes. Dans la mesure où les scripts WMI peuvent produire de grandes quantités de données en sortie, vous pouvez être amené à rediriger la sortie vers un fichier. Tapez cscript nomfichier.vbs > fichiersortie.txtà l’invite de commandes pour rediriger la sortie du scriptnomfichier.vbs vers fichiersortie.txt.
Le tableau suivant liste des exemples de script qui peuvent être utilisés pour obtenir divers types de données à partir de l’ordinateur local.
Comment puis-je... | Classes ou méthodes WMI | ||||||||
---|---|---|---|---|---|---|---|---|---|
... lire les valeurs de clé de registre à l’aide de WMI ? | Utilisez la classe StdRegProv, située dans l’espace de noms root\default. Vous ne pouvez obtenir aucune instance de cette classe, car le fournisseur de registre système est uniquement un fournisseur de méthodes et d’événements. Toutefois, vous pouvez obtenir des données de registre via des méthodes telles que EnumKey ou EnumValue.
Win32_Registry, situé dans l’espace de noms root\cimv2, obtient des données sur le registre dans son ensemble, comme par exemple sa taille.
|
||||||||
... créer une clé de registre ? | Utilisez la classe StdRegProv, située dans l’espace de noms root\default, et la méthode CreateKey .
|
||||||||
... créer une valeur de registre sous une clé ? | Utilisez la classe StdRegProv, située dans l’espace de noms root\default, et la méthode CreateKey . Ensuite, utilisez l’une des méthodes Set, en fonction du type de données de registre dont la valeur est, par exemple SetDWORDValue. Les méthodes Set créent une valeur si elle n’existe pas déjà. Pour plus d’informations, consultez Mappage d’un type de données du registre à un type de données WMI.
|
||||||||
... éviter d’obtenir une erreur de classe non valide lors de la tentative d’écriture d’un script pour lire le registre ? | Utilisez l’espace de noms root\default lors de l’accès à la classe StdRegProv . StdRegProv ne fait pas partie de l’espace de noms cimv2, c’est pourquoi une erreur « Classe non valide » sera générée si vous essayez de vous connecter à « root\cimv2:StdRegProv ».
|
||||||||
... vérifier la sécurité sur une clé de registre spécifique ? | Utilisez la classe StdRegProv, située dans l’espace de noms root\default, et la méthode CreateKey . Vous pouvez uniquement vérifier les droits d’accès de l’utilisateur actuel qui exécute le script ou l’application. Vous ne pouvez pas vérifier les droits d’accès d’un autre utilisateur spécifié. |
||||||||
... lire et écrire des valeurs de registre binaires ? | Utilisez la classe StdRegProv , située dans l’espace de noms « Root\Default » et les méthodes GetBinaryValue et SetBinaryValue . Les valeurs de registre qui apparaissent dans l’utilitaire RegEdt32 sous la forme d’une série de valeurs hexadécimales d’octets sont au format de données REG_BINARY. Pour plus d’informations, consultez Mappage d’un type de données du registre à un type de données WMI. L’exemple de code VBScript suivant crée une clé avec une valeur binaire. La valeur binaire est fournie dans le tableau d’octets iValues spécifié dans Hex.
Le script suivant lit la valeur binaire.
|
||||||||
... lire et écrire des valeurs de registre qui contiennent plusieurs chaînes ? | Utilisez la classe StdRegProv, située dans l’espace de noms root\default et les méthodes GetMultiStringValue et SetMultiStringValue . Les clés de registre qui apparaissent dans l’utilitaire RegEdt32 sous la forme d’une série de chaînes séparées par des espaces sont au format de données REG_MULTI_SZ . Pour plus d’informations, consultez Mappage d’un type de données du registre à un type de données WMI. L’exemple de code VBScript suivant crée une nouvelle clé et une nouvelle valeur multistring.
Le script suivant lit la valeur multistring.
|
||||||||
… supprimer une clé de registre ? | Utilisez la classe StdRegProv, située dans l’espace de noms root\default, et la méthode DeleteKey.
|