Modification de valeur dans de registre
BRRG
Messages postés
1137
Date d'inscription
Statut
Membre
Dernière intervention
-
BRRG Messages postés 1137 Date d'inscription Statut Membre Dernière intervention -
BRRG Messages postés 1137 Date d'inscription Statut Membre Dernière intervention -
Bonjour je suis en train de créer un script qui permet de modifier une valeur dans le registre mais je ne comprends pas pourquoi rien ne se passe à son exécution.
'Source : https://vb.developpez.com/faq/vbs
Puis-je avoir votre aide s'il vous plaît?
'Source : https://vb.developpez.com/faq/vbs
Option Explicit Dim bKey, WshShell, pKey '*** Déclaration des variables Dim ObjetRegedit '*** Permet de continuer le script même s'il y a une erreur On Error Resume Next '*** Definition du contenu de la variable Set ObjetRegedit = CreateObject("WScript.Shell") Set WshShell = WScript.CreateObject("WScript.Shell") '*** Definition du contenu de la variable "CleRegistre" CleRegistre = WshShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableUA") '*** Lecture de la clé de registre et si la valeur est égale à "0" '*** Action si "La clé est égale à 0" passer au rajout de la ligne dans le fichier host sinon si "La clé est égale à 1", supprimer '*** la clé puis créer la clé avec la valeur 0 If CleRegistre = "0" then '*** Suppression de la clé de registre Wshell.RegDelete ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableUA\") '*** Ecriture de la clé de registre avec ces données et son type "REG_SZ". WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableUA", "0", "REG_DWORD" End if On Error GoTo 0 '*** Destruction des objets Set ObjetRegedit = Nothing '*** Quitter le script WScript.Quit
Puis-je avoir votre aide s'il vous plaît?
A voir également:
- Modification de valeur dans de registre
- Editeur de registre - Guide
- Suivi de modification word - Guide
- Logiciel gratuit modification pdf - Guide
- Modification dns - Guide
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
Tout a fait Thierry. Avez vous mis en commentaire
pour EnableUA
Pourquoi le faire par vbs?
'''' MODIFICATION VALEUR DANS LE REGISTRE ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'PAR LE REGISTRE WINDOWS = Le registre de Windows contient les informations de configuration de Windows.
'Une clé EnableUA se trouve dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\System permet d'indiquer si l'UAC est activé 'ou non. Lorsque EnableUA est à 1, l'UAC est actif, à 0 l'UAC est désactivé.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Option Explicit
Dim bKey, WshShell, pKey
'*** Déclaration des variables
Dim ObjetRegedit
'*** Permet de continuer le script même s'il y a une erreur
'On Error Resume Next
'*** Definition du contenu de la variable
'Set ObjetRegedit = CreateObject("WScript.Shell")
'Set WshShell = WScript.CreateObject("WScript.Shell")
'*** Definition du contenu de la variable "CleRegistre"
CleRegistre = WshShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableUA")
'*** Lecture de la clé de registre et si la valeur est égale à "0"
'*** Action si "La clé est égale à 0" passer au rajout de la ligne dans le fichier host sinon si "La clé est égale à 1", supprimer la clé puis créer la clé avec la valeur 0
'If CleRegistre = "1" then
'*** Suppression de la clé de registre
WshShell.RegDelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableUA"
'*** Création des valeurs et son type "REG_DWORD".
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableUA", "0", "REG_DWORD"
End if
On Error GoTo 0
'*** Destruction des objets
Set ObjetRegedit = Nothing
'''' AJOUT VALEUR DANS HOST ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const ForReading = 1, ForWriting = 2, ForAppending = 8, ReadOnly = 1
'Line to be appended to the hosts file
Dim hostsNewLine
hostsNewLine = " 10.8.0.1 X-DSM"
If Not WScript.Arguments.Named.Exists("elevate") Then
CreateObject("Shell.Application").ShellExecute WScript.FullName _
, WScript.ScriptFullName & " /elevate", "", "runas", 1
WScript.Quit
End If
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell=CreateObject("WScript.Shell")
WinDir =WshShell.ExpandEnvironmentStrings("%WinDir%")
HostsFile = WinDir & "\System32\Drivers\etc\Hosts"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(HostsFile, ForReading)
Do Until objFile.AtEndOfStream
If InStr (objFile.ReadLine, hostsNewLine) <> 0 Then
WScript.Quit
End If
i = i + 1
Loop
objFile.Close
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(HostsFile)
If objFile.Attributes AND ReadOnly Then
objFile.Attributes = objFile.Attributes XOR ReadOnly
End If
Set filetxt = fso.OpenTextFile(HostsFile, ForAppending, True)
filetxt.WriteLine(vbNewLine & hostsNewLine)
filetxt.Close
'''' REINITIALISATION VALEUR DANS LE REGISTRE ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'PAR LE REGISTRE WINDOWS = Le registre de Windows contient les informations de configuration de Windows.
'Une clé EnableUA se trouve dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\System permet d'indiquer si l'UAC est activé 'ou non. Lorsque EnableUA est à 1, l'UAC est actif, à 0 l'UAC est désactivé.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'*** Permet de continuer le script même s'il y a une erreur
'On Error Resume Next
'*** Definition du contenu de la variable
Set ObjetRegedit = CreateObject("WScript.Shell")
Set WshShell = WScript.CreateObject("WScript.Shell")
'*** Definition du contenu de la variable "CleRegistre"
CleRegistre = WshShell.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableUA")
'*** Lecture de la clé de registre et si la valeur est égale à "0"
'*** Action si "La clé est égale à 1" passer à la suite du script sinon si "La clé est égale à 0", supprimer la clé puis créer la clé avec la valeur 1
If CleRegistre = "0" then
'*** Suppression de la clé de registre
WshShell.RegDelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableUA"
'*** Création des valeurs et son type "REG_DWORD".
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableUA", "1", "REG_DWORD"
End if
On Error GoTo 0
'*** Destruction des objets
Set ObjetRegedit = Nothing
'*** Quitter le script
WScript.Quit
Pour vous est ce que le script permet bien de désactiver l'UAC via le registre pour ensuite rajouter une ligne dans le fichier host pour en réactiver l'UAC.
J'ai fais en vbs pour la simple raison que je me suis lancé avec depuis chose et j'ai trouvé en vbs donc maintentant je continue en vbs.
Elle fonctionne mais ce n'est pas du vbscript.