Afficher les informations des disques (VBScript)
Si vous ne savez pas ce que sont les clés du registre,vous pouvez consulter préalablement la page relative à la base de registre.
Le script suivant nous propose d'introduire ou de supprimer une valeur dans le registre.
Code VisualBASIC ou VBA ou VBS (script vbs : testRegistre) (26 lignes)
Dim WshShell, bKey, pKey, quest Set WshShell = WScript.CreateObject("WScript.Shell") on error resume next pKey = "Clé HKCU\virusScanner\Version\" bKey = WshShell.RegRead(pKey) 'Wscript.Echo Err.Number If (Err <> 0) then 'Wscript.Echo Computer & " " & Err.Description Err.Clear WScript.Echo "Clé " & pKey & " inexistante" quest = MsgBox("Désirez-vous créer la clé",vbYesNo + 256 + vbQuestion, "Créer la clé") if (quest = vbYes) then WshShell.RegWrite pKey, "2.5.1" WScript.Echo "Clé " & pKey & " créée" end if else WScript.Echo pKey & " : " & WshShell.RegRead("HKCU\virusScanner\Version\") quest = MsgBox("Désirez-vous supprimer la clé",vbYesNo + 256 + vbCritical, "supprimer la clé") if (quest = vbYes) then WshShell.RegDelete pKey WScript.Echo "Clé supprimée" else WScript.Echo "Clé non supprimée" end if end if 'WScript.Echo "traitement terminé"
Procédure pas à pas
Nous devons d'abord déclarer nos variables. VBScript n'est pas typé, les variables sont toutes du type variant.
Dim WshShell, bKey, pKey, quest
Comme aucune référence n'est définie en VBScript, nous faisons appel aux objets au moment de leur utilisation. Nous créons donc une instance de l'objet WScript.Shell.
Set WshShell = WScript.CreateObject("WScript.Shell")
Comme il est possible que la clé n'existe pas, nous devons intercepter l'erreur. Ce bout de code permet de passer à l'instruction suivante lorsqu'une erreur est rencontrée.
on error resume next
Nous affectons à la variable pKey le chemin de la clé (path).
Ensuite, nous affectons le résultat de la lecture de la clé à la variable bKey. C'est à ce moment qu'une erreur serait retournée par le système si la clé n'existe pas. Comme nous avons déclaré que nous désirons intercepter les erreurs, le script continue.
Nous pouvons alors afficher le numéro d'erreur, si nous enlevons l'apostrophe qui commente la ligne.
pKey = "Clé HKCU\virusScanner\Version\"
bKey = WshShell.RegRead(pKey)
'Wscript.Echo Err.Number
Si une erreur est rencontrée, c'est que la clé n'existe pas. Nous pouvons stopper l'interception des erreurs, et afficher un message pour déclarer que la clé est inexistante.
Si nous désirons afficher plus de précisions sur l'erreur, nous pouvons ôter l'apostrophe qui commente la ligne.
Remarque : il était possible de soumettre la condition if à la valeur exacte retournée.
En cas de succès, la valeur retournée par le message d'erreur est 0. Il nous suffit de déclarer que dans tous les cas d'erreurs la clé n'est pas présente...
Message d'erreur généré :
- sans on error resume next : 80070002
- avec on error resume next et Wscript.Echo Err.Number : -2147024894
- avec on error resume next et Wscript.Echo Err.Description : Invalid root in registery key "HKCU\virusScanner\Version\"
If (Err <> 0) then
Err.Clear
WScript.Echo "Clé " & pKey & " inexistante"
.../
suite du code
/...
suite du code
/...
Si la clé n'existe pas, nous demandons s'il faut la créer ou non. Pour plus de renseignements, vous pouvez consulter la page traitant de la syntaxe de la fonction MsgBox.
Si le bouton oui est cliqué, la clé est inscrite et un message de confirmation s'affiche.
quest = MsgBox("Désirez-vous créer la clé",vbYesNo + 256 + vbQuestion, "Créer la clé")
if (quest = vbYes) then
WScript.Echo "Clé " & pKey & " créée"
Dans le cas où la clé existe, nous demandons s'il faut la supprimer...
WScript.Echo pKey & " : " & WshShell.RegRead("HKCU\virusScanner\Version\")
quest = MsgBox("Désirez-vous supprimer la clé",vbYesNo + 256 + vbCritical, "supprimer la clé")
if (quest = vbYes) then
WScript.Echo "Clé supprimée"
Bon, je sais qu'il est stupide de créer une clé, puis de la supprimer de suite... mais ces petits bouts de codes sont là pour montrer ce qu'il est possible de faire.
A vous de les adapter à vos besoins.
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2004, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/vbs-registre.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.