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

Résolu/Fermé
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 21 juil. 2010 à 15:37
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 23 juil. 2010 à 09:47
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

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 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
21 juil. 2010 à 16:45
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
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
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 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
22 juil. 2010 à 12:12
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
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
Je rien dis lol ! Je vais voir si je trouve quelque chose :)
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
22 juil. 2010 à 16:00
OK. merci à toi. De mon coté, toujours rien trouvé :s
0
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 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
22 juil. 2010 à 16:18
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