VBS - Récupérer une clé de registre

Résolu
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   -  
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Tout est dans le titre.
En fait je veux récupérer la clé de registre du proxy de Internet Explorer, voir si mes postes ont tous un proxy de configuré dans leur navigateur.

Les valeurs que je souhaite scanner dans le registre :

- HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ ProxyUnable
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ ProxyServer
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ AutoConfigURL

Il faut ensuite que j'insère ces valeurs à la fin d'un fichier XML existant qui doit avoir un peu cette gueule :

<IE SETTINGS>
<ProxyEnable>0 ou 1</ProxyEnable>
<ProxyServer>@IP du proxy</ProxyServer>
<AutoConfigURL>http://@IP du serveur/fichier.pac</AutoConfigURL>
</IE SETTINGS>

Je ne connais pas le VBS, donc pas gagné... Si une ame charitable tombe sur ce post... on ne sait jamais :)

A voir également:

5 réponses

Xavier
 
Bonjour,

set c=CreateObject("WScript.Shell" )
lol = c.RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Proxyserver")
msgbox "Proxy Serveur : " & lol


Cdlt.
0
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   143
 
ok merci je viens de tester avec 3 clés et ça fonctionne.
en revanche, si une des clé n'existe pas, le script plante :s il faudrait donc faire un controle sur l'existance de la clé.

ensuite, connais tu la fonction qui me permettrait d'écrire cela dans un fichier ?
0
Xavier
 
Pour éviter les erreurs et marquer quelque chose :

Set fs = CreateObject("Scripting.FileSystemObject" )
set c=CreateObject("WScript.Shell" )

AutoConfigURL = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\AutoConfigURL"

If ExisteCle(AutoConfigURL) = true then 
	AC = c.RegRead(AutoConfigURL)
Else
	AC = "Pas configurer"
End if

msgbox "AutoConfigURL : " & AC

Function ExisteCle( stKey)
On Error Resume Next
	Dim WshShell
	Set WshShell = WScript.CreateObject("WScript.Shell")
	WshShell.RegRead stKey
	ExisteCle = (Err = 0)
End function


Cdlt.
0
Xavier
 
Salut,

Bonne poire que je suis, je t'ai fais ton script !

http://www.cijoint.fr/cjlink.php?file=cj201007/cij8nNdvHh.zip

Cdlt.

Ps : n'hésites pas, si besoin d'aide ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   143
 
Bonjour,

Un grand merci, même si j'ai réussi à m'en sortir avec des exemples de code trouvé sur le net.

Par contre je usis ennuyé. Le script est exécuté par le compte admin local, et moi je cherche à récupérer ces 3 valeurs pour l'utilisateur en cours de session (différent du compte admin)

En bref, lorsque j'execute le script, il me retourne rien car le proxy IE du compte admin n'est pas configuré, alorsque l'utilisateur en cours a bien un proxy de configuré.

Je cherche donc maintenant à améliorer ce script pour le rendre utilisable, à savoir récupérer le SID de l'utilisateur en cours avant de récupérer les clés de registre, et là ça se complique car je ne trouve pas grand chose sur le net ...
0
Xavier
 
Bonjour,

Je ne comprend pas, car il y a qu'un seul endroit ou se trouve la clé ?

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\AutoConfigURL

Petite question, ton utilisateur as-t'il les droits de parcourir le registre, c'est peut être pour ça qu'il ne trouve rien !

Cdlt.
0
Xavier
 
Je rien dis lol ! Je vais voir si je trouve quelque chose :)
0
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   143
 
OK. merci à toi. De mon coté, toujours rien trouvé :s
0
Xavier
 
En tous cas, je pense que tu vas galérer, car pour trouver le SID ok, mais comment choisir le bon car il peux y avoir plusieurs utilisateurs
0
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   143
 
Là est la difficulté, je ne veux pas récupérer les SID, mais le SID de l'utilisateur en cours de session.
Je ne trouve vraiment rien à ce sujet... J'ai trouvé comment récupérer le nom de session de l'utilisateur en cours, mais c'est de son SID que j'ai besoin pour tapper dans le registre
0