Je connaissais cette commande. Et c'est probablement par là que je vais passer. Je m'étonnais de ne pas avoir trouver via WMI une alternative et réaliser mon petit vbs.
Dom
Merci MCI.
Je connaissais cette commande. Et c'est probablement par là que je vais
passer. Je m'étonnais de ne pas avoir trouver via WMI une alternative et
réaliser mon petit vbs.
Je connaissais cette commande. Et c'est probablement par là que je vais passer. Je m'étonnais de ne pas avoir trouver via WMI une alternative et réaliser mon petit vbs.
Dom
MCI \(ex do ré Mi chel la si do\) [MVP]
Re !
Depuis un script VBS, il est toujours possible d'appeler la commande via l'instruction RUN.
Sinon, il existe, dans WMI, la classe Win32_Proxy. Mais elle provoque des erreurs, si aucun proxy n'est activé. Et, il ne faut pas oublier que WMI est souvent plus lent que des commandes directes.
@-salutations -- Michel Claveau
Re !
Depuis un script VBS, il est toujours possible d'appeler la commande via
l'instruction RUN.
Sinon, il existe, dans WMI, la classe Win32_Proxy. Mais elle provoque
des erreurs, si aucun proxy n'est activé. Et, il ne faut pas oublier que
WMI est souvent plus lent que des commandes directes.
Depuis un script VBS, il est toujours possible d'appeler la commande via l'instruction RUN.
Sinon, il existe, dans WMI, la classe Win32_Proxy. Mais elle provoque des erreurs, si aucun proxy n'est activé. Et, il ne faut pas oublier que WMI est souvent plus lent que des commandes directes.
@-salutations -- Michel Claveau
Gilles LAURENT [MVP]
"MCI (ex do ré Mi chel la si do) [MVP]" a écrit dans le message de news: | Re !
Bonjour,
| Depuis un script VBS, il est toujours possible d'appeler la commande | via l'instruction RUN.
L'objet wshShell supporte également les méthodes RegDelete, RegRead, RegWrite. De ce fait, fixer les exceptions de proxy en "Full" VBScript est très simple.
| Sinon, il existe, dans WMI, la classe Win32_Proxy. Mais elle provoque | des erreurs, si aucun proxy n'est activé. Et, il ne faut pas oublier | que WMI est souvent plus lent que des commandes directes.
La classe WMI Win32_Proxy ne permet pas de fixer les exceptions. Celle-ci permet uniquement de fixer l'adresse et le port d'un serveur proxy via la méthode SetProxySetting dans le cadre d'une activation en ligne de Windows (WPA).
En complément d'information, l'espace de noms WMI /root/cimv2/Applications/MicrosoftIE contient plusieurs classes permettant d'interroger les paramètres de configuration d'Internet Explorer. Par exemple, pour lire les exceptions de proxy configurées pour l'utilisateur courant :
--- Coupez ici : GetProxySettings.vbs --- Set oWmi=GetObject("winmgmts:/root/cimv2/Applications/MicrosoftIE") Set colSet=oWmi.ExecQuery ("select * from MicrosoftIE_LANSettings")
For Each oSet in colSet Wscript.Echo "ProxyServer : " & oSet.ProxyServer Wscript.Echo "ProxyOverride : " & oSet.ProxyOverride Next --- Coupez ici : GetProxySettings.vbs ---
Note: Vous pouvez utiliser l'outil wbemtest situé dans le dossier %windir%system32wbem pour énumérer les classes disponibles dans cet espace de noms.
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
"MCI (ex do ré Mi chel la si do) [MVP]"
<enleverlesO.OmcO@OmclaveauO.com> a écrit dans le message de
news:uBfmLVSJJHA.1636@TK2MSFTNGP03.phx.gbl
| Re !
Bonjour,
| Depuis un script VBS, il est toujours possible d'appeler la commande
| via l'instruction RUN.
L'objet wshShell supporte également les méthodes RegDelete, RegRead,
RegWrite. De ce fait, fixer les exceptions de proxy en "Full" VBScript
est très simple.
| Sinon, il existe, dans WMI, la classe Win32_Proxy. Mais elle provoque
| des erreurs, si aucun proxy n'est activé. Et, il ne faut pas oublier
| que WMI est souvent plus lent que des commandes directes.
La classe WMI Win32_Proxy ne permet pas de fixer les exceptions.
Celle-ci permet uniquement de fixer l'adresse et le port d'un serveur
proxy via la méthode SetProxySetting dans le cadre d'une activation en
ligne de Windows (WPA).
En complément d'information, l'espace de noms WMI
/root/cimv2/Applications/MicrosoftIE contient plusieurs classes
permettant d'interroger les paramètres de configuration d'Internet
Explorer. Par exemple, pour lire les exceptions de proxy configurées
pour l'utilisateur courant :
--- Coupez ici : GetProxySettings.vbs ---
Set oWmi=GetObject("winmgmts:/root/cimv2/Applications/MicrosoftIE")
Set colSet=oWmi.ExecQuery ("select * from MicrosoftIE_LANSettings")
For Each oSet in colSet
Wscript.Echo "ProxyServer : " & oSet.ProxyServer
Wscript.Echo "ProxyOverride : " & oSet.ProxyOverride
Next
--- Coupez ici : GetProxySettings.vbs ---
Note: Vous pouvez utiliser l'outil wbemtest situé dans le dossier
%windir%system32wbem pour énumérer les classes disponibles dans cet
espace de noms.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"MCI (ex do ré Mi chel la si do) [MVP]" a écrit dans le message de news: | Re !
Bonjour,
| Depuis un script VBS, il est toujours possible d'appeler la commande | via l'instruction RUN.
L'objet wshShell supporte également les méthodes RegDelete, RegRead, RegWrite. De ce fait, fixer les exceptions de proxy en "Full" VBScript est très simple.
| Sinon, il existe, dans WMI, la classe Win32_Proxy. Mais elle provoque | des erreurs, si aucun proxy n'est activé. Et, il ne faut pas oublier | que WMI est souvent plus lent que des commandes directes.
La classe WMI Win32_Proxy ne permet pas de fixer les exceptions. Celle-ci permet uniquement de fixer l'adresse et le port d'un serveur proxy via la méthode SetProxySetting dans le cadre d'une activation en ligne de Windows (WPA).
En complément d'information, l'espace de noms WMI /root/cimv2/Applications/MicrosoftIE contient plusieurs classes permettant d'interroger les paramètres de configuration d'Internet Explorer. Par exemple, pour lire les exceptions de proxy configurées pour l'utilisateur courant :
--- Coupez ici : GetProxySettings.vbs --- Set oWmi=GetObject("winmgmts:/root/cimv2/Applications/MicrosoftIE") Set colSet=oWmi.ExecQuery ("select * from MicrosoftIE_LANSettings")
For Each oSet in colSet Wscript.Echo "ProxyServer : " & oSet.ProxyServer Wscript.Echo "ProxyOverride : " & oSet.ProxyOverride Next --- Coupez ici : GetProxySettings.vbs ---
Note: Vous pouvez utiliser l'outil wbemtest situé dans le dossier %windir%system32wbem pour énumérer les classes disponibles dans cet espace de noms.
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
Dom
Bonjour,
J'ai trouvé une facon de procéder alors je me permets de vous la faire partager:
If arrValueNames(i) = "ProxyOverride" Then 'cette valeur est de type "String"
' Lecture des valeurs d'exception de Proxy strKeyPath = "SOFTWAREMicrosoftWindowsCurrentVersionInternet Settings" strValueName = "ProxyOverride" oReg.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
Flag = 0 j=0 arrClef = Split(dwValue,",") For j = UBound(arrClef) to LBound(arrClef) + 1 Step -1 'Test de la présence ou pas de la CHAINE.RECHERCHE.FR if LCase(arrClef(j)) = "CHAINE.RECHERCHE.FR" Then Flag = 1 'La valeur "CHAINE.RECHERCHE.FR" existe ds ProxyOverride Else 'WScript.Echo "N'existe pas" End If Next
'Suivant la valeur de Flag, je reconstruis la valeur ProxyOverride pour la réinjecter ds la clef 'WScript.Echo Flag If Flag = 0 Then Valeur = dwValue & ",CHAINE.RECHERCHE.FR" 'Lancement de la Commande externe pour compléter la Valeur d'exception de proxy Commande = "reg.exe ADD" & " " & chr(34) & "HKCUSOFTWAREMicrosoftWindowsCurrentVersionInternet Settings" & Chr(34)& " " & "/v ProxyOverride /t REG_SZ /d " & Chr(34) & Valeur & Chr(34) & " /f" 'WScript.Echo Commande shell.Run Commande, 5,True
Else WScript.quit End If
End if
Next
********* Fin **********************************
Merci à vous de votre aide,
Dom
Bonjour,
J'ai trouvé une facon de procéder alors je me permets de vous la faire
partager:
If arrValueNames(i) = "ProxyOverride" Then 'cette valeur est de type
"String"
' Lecture des valeurs d'exception de Proxy
strKeyPath = "SOFTWAREMicrosoftWindowsCurrentVersionInternet Settings"
strValueName = "ProxyOverride"
oReg.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
Flag = 0
j=0
arrClef = Split(dwValue,",")
For j = UBound(arrClef) to LBound(arrClef) + 1 Step -1
'Test de la présence ou pas de la CHAINE.RECHERCHE.FR
if LCase(arrClef(j)) = "CHAINE.RECHERCHE.FR" Then
Flag = 1 'La valeur "CHAINE.RECHERCHE.FR" existe ds ProxyOverride
Else
'WScript.Echo "N'existe pas"
End If
Next
'Suivant la valeur de Flag, je reconstruis la valeur ProxyOverride pour la
réinjecter ds la clef
'WScript.Echo Flag
If Flag = 0 Then
Valeur = dwValue & ",CHAINE.RECHERCHE.FR"
'Lancement de la Commande externe pour compléter la Valeur d'exception de
proxy
Commande = "reg.exe ADD" & " " & chr(34) &
"HKCUSOFTWAREMicrosoftWindowsCurrentVersionInternet Settings" &
Chr(34)& " " & "/v ProxyOverride /t REG_SZ /d " & Chr(34) & Valeur &
Chr(34) & " /f"
'WScript.Echo Commande
shell.Run Commande, 5,True
If arrValueNames(i) = "ProxyOverride" Then 'cette valeur est de type "String"
' Lecture des valeurs d'exception de Proxy strKeyPath = "SOFTWAREMicrosoftWindowsCurrentVersionInternet Settings" strValueName = "ProxyOverride" oReg.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
Flag = 0 j=0 arrClef = Split(dwValue,",") For j = UBound(arrClef) to LBound(arrClef) + 1 Step -1 'Test de la présence ou pas de la CHAINE.RECHERCHE.FR if LCase(arrClef(j)) = "CHAINE.RECHERCHE.FR" Then Flag = 1 'La valeur "CHAINE.RECHERCHE.FR" existe ds ProxyOverride Else 'WScript.Echo "N'existe pas" End If Next
'Suivant la valeur de Flag, je reconstruis la valeur ProxyOverride pour la réinjecter ds la clef 'WScript.Echo Flag If Flag = 0 Then Valeur = dwValue & ",CHAINE.RECHERCHE.FR" 'Lancement de la Commande externe pour compléter la Valeur d'exception de proxy Commande = "reg.exe ADD" & " " & chr(34) & "HKCUSOFTWAREMicrosoftWindowsCurrentVersionInternet Settings" & Chr(34)& " " & "/v ProxyOverride /t REG_SZ /d " & Chr(34) & Valeur & Chr(34) & " /f" 'WScript.Echo Commande shell.Run Commande, 5,True
Else WScript.quit End If
End if
Next
********* Fin **********************************
Merci à vous de votre aide,
Dom
Méta-MCI \(MVP\)
Re !
Oui, c'est une façon de faire. Et, si on a mis Wscript.shell dans une librairie, c'est simple à mettre en oeuvre.
@-salutations -- Michel Claveau
Re !
Oui, c'est une façon de faire.
Et, si on a mis Wscript.shell dans une librairie, c'est simple à
mettre en oeuvre.
"Dom" a écrit dans le message de news:48e71cc5$0$25400$ | Bonjour,
Bonjour,
| J'ai trouvé une facon de procéder alors je me permets de vous la faire | partager: [...]
Il y a quand même beaucoup plus simple ;-)
--- Coupez ici : AddProxyException.vbs --- Const sException="*.intranet.local" sRegKey= _ "HKCUSoftwareMicrosoftWindowsCurrentVersion" & _ "Internet Settings" & _ "ProxyOverride" Set oRe=New RegExp: oRe.IgnoreCase=True oRe.Pattern="(^|;)" & Replace(sException,".",".") & "(;|$)" Set oSh=CreateObject("WScript.Shell") sProxy=oSh.RegRead(sRegKey) If Not oRe.Test(sProxy) Then oSh.RegWrite sRegKey, sException & ";" & sProxy WScript.Echo "Exception [" & sException & "] added" End If --- Coupez ici : AddProxyException.vbs ---
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
Dom
Oui, magnifique ! Et, effectivement, beaucoup plus court (je n'emploierai pas le terme "plus simple" car celui là, je ne l'aurai jamais trouvé tout seul ...). Mais, chapeau bas.
Dom
Oui, magnifique !
Et, effectivement, beaucoup plus court (je n'emploierai pas le terme "plus
simple" car celui là, je ne l'aurai jamais trouvé tout seul ...). Mais,
chapeau bas.
Oui, magnifique ! Et, effectivement, beaucoup plus court (je n'emploierai pas le terme "plus simple" car celui là, je ne l'aurai jamais trouvé tout seul ...). Mais, chapeau bas.
Dom
Méta-MCI \(MVP\)
Bonsoir !
Juste pour le fun, le script (assez) similaire, en Python :