Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Deploy(Thread):
- def __init__(self, ip, wpkgdir):
- Thread.__init__(self)
- self.ip = ip
- self.wpkgdir = wpkgdir
- def run(self):
- import traceback
- #import win32api
- #import win32security
- #import win32con
- import _winreg
- from time import strftime
- fp=open("logs/" + self.ip + ".txt","a")
- try:
- saveddic={"Common Desktop":"","Common Programs":"","Common Start Menu":"","Common Startup":""}
- resetkey_dic={"Common Desktop":u"C:\Documents and Settings\All Users\Bureau","Common Programs":u"C:\Documents and Settings\All Users\Menu Démarrer\Programmes","Common Start Menu":u"C:\Documents and Settings\All Users\Menu Démarrer","Common Startup":u"C:\Documents and Settings\All Users\Menu Démarrer\Programmes\Démarrage"}
- KEY_PATH = r"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
- HKCU_remote = _winreg.ConnectRegistry (r"\\" + self.ip,_winreg.HKEY_LOCAL_MACHINE)
- hKeyRemote = _winreg.OpenKey (HKCU_remote, KEY_PATH, 0, _winreg.KEY_READ)
- for cle in saveddic:
- value, type = _winreg.QueryValueEx (hKeyRemote, cle)
- saveddic[cle] = value
- #print cle, value
- _winreg.CloseKey(hKeyRemote)
- for cle in resetkey_dic:
- hKeyRemote = _winreg.OpenKey (HKCU_remote, KEY_PATH, 0, _winreg.KEY_SET_VALUE)
- _winreg.SetValueEx (hKeyRemote, cle,"",_winreg.REG_EXPAND_SZ,resetkey_dic[cle])
- _winreg.CloseKey(hKeyRemote)
- except:
- traceback.print_exc(file=fp)
- fp.write('User Shell Folders pb \n')
- try:
- pythoncom.CoInitialize()
- c = wmi.WMI(self.ip)
- try:
- wql = "select * from Win32_Product"
- for app in c.query(wql):
- print app.Name
- if app.Name == "WPKG":
- print "wpkg trouve"
- print app.Uninstall()
- except:
- fp.write('uninstall pb \n')
- c.Win32_Product.Install (PackageLocation=self.wpkgdir + '\\WPKG_Client.msi', Options='SETTINGSFILE=' + self.wpkgdir + '\\settings.xml', AllUsers=True)
- fp.write('install ' + self.ip + '\n')
- except:
- fp.write('error ' + self.ip + '\n')
- traceback.print_exc(file=fp)
- finally:
- for cle in saveddic:
- hKeyRemote = _winreg.OpenKey (HKCU_remote, KEY_PATH, 0, _winreg.KEY_SET_VALUE)
- _winreg.SetValueEx (hKeyRemote, cle,"",_winreg.REG_EXPAND_SZ,saveddic[cle])
- _winreg.CloseKey(hKeyRemote)
- fp.close()
- pythoncom.CoUninitialize()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement