# -*- coding: utf-8 -*- def regcharge(clef,sousclef): """ Charge une sous-clef d'une clef. Retourne la liste des clefs, et un dictionnaire des valeurs. Chaque entrée du dictionnaire contient : - index, - valeur, - type de valeur : 1 REG_BINARY 2 REG_DWORD (32-bit number) 3 REG_DWORD_LITTLE_ENDIAN (32-bit number little-endian) 4 REG_DWORD_BIG_ENDIAN (32-bit number big-endian) 5 REG_EXPAND_SZ (chaîne à zéro terminal contenant une variable d'environnement ; ex. "%PATH%") 6 REG_LINK (lien symbolique Unicode) 7 REG_MULTI_SZ (chaîne à double-zéro terminal) 8 REG_NONE (pas de valeur ; seul le nom existe) 9 REG_RESOURCE_LIST (liste de 'device-driver resource') 10 REG_SZ (chaîne à zéro terminal) """ import _winreg,sys if clef=='HKEY_CLASSES_ROOT': pclef=_winreg.HKEY_CLASSES_ROOT if clef=='HKEY_CURRENT_USER': pclef=_winreg.HKEY_CURRENT_USER if clef=='HKEY_LOCAL_MACHINE': pclef=_winreg.HKEY_LOCAL_MACHINE if clef=='HKEY_USERS': pclef=_winreg.HKEY_USERS if clef=='HKEY_CURRENT_CONFIG': pclef=_winreg.HKEY_CURRENT_CONFIG kreg=_winreg.OpenKey(pclef, sousclef) n=0 lclefs=[] while True: try: st = _winreg.EnumKey(kreg, n) lclefs.append(st) n+=1 except: break n=0 dvaleurs={} while True: try: nom, valeur, typ = _winreg.EnumValue(kreg, n) dvaleurs[nom]=(n, valeur, typ) n+=1 except: break return lclefs,dvaleurs def regmetvaleur(clef, sousclef, nom, valeur, typ): import _winreg,sys if clef=='HKEY_CLASSES_ROOT': pclef=_winreg.HKEY_CLASSES_ROOT if clef=='HKEY_CURRENT_USER': pclef=_winreg.HKEY_CURRENT_USER if clef=='HKEY_LOCAL_MACHINE': pclef=_winreg.HKEY_LOCAL_MACHINE if clef=='HKEY_USERS': pclef=_winreg.HKEY_USERS if clef=='HKEY_CURRENT_CONFIG': pclef=_winreg.HKEY_CURRENT_CONFIG kreg=_winreg.OpenKey(pclef, sousclef, 0, _winreg.KEY_SET_VALUE) print _winreg.SetValueEx(kreg, nom, 0, typ, valeur) """ l,d=regcharge( 'HKEY_CURRENT_USER', r'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN') print l,d, d['iexplore.exe'][1] if d['iexplore.exe'][1]!=0: regmetvaleur( 'HKEY_CURRENT_USER', r'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN', 'iexplore.exe', 0, 4 ) l,d=regcharge( 'HKEY_CURRENT_USER', r'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN') print l,d """ try: l,d=regcharge( 'HKEY_CURRENT_USER', r'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN') if d['iexplore.exe'][1]==0: flag=True else: flag=False except: flag=False if not flag: regmetvaleur( 'HKEY_CURRENT_USER', r'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN\Settings', 'iexplore.exe', 0, 4 ) try: l,d=regcharge( 'HKEY_CURRENT_USER', r'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN') if d['iexplore.exe'][1]==0: flag=True else: flag=False except: flag=False if not flag: print "Problème ; impossible de configurer 'Autoriser le contenu actif à s'exécuter dans les fichiers de la zone Ordinateur'" try: l,d=regcharge( 'HKEY_CURRENT_USER', r'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN\Settings') if d['LOCALMACHINE_CD_UNLOCK'][1]==1: flag=True else: flag=False except: flag=False if not flag: regmetvaleur( 'HKEY_CURRENT_USER', r'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN\Settings', 'LOCALMACHINE_CD_UNLOCK', 1, 4 ) try: l,d=regcharge( 'HKEY_CURRENT_USER', r'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN\Settings') if d['LOCALMACHINE_CD_UNLOCK'][1]==1: flag=True else: flag=False except: flag=False if not flag: print "Problème ; impossible de configurer 'Autoriser le contenu actif des CD à s'exécuter sur la zone Ordinateur'"