Welcome, guest | Sign In | My Account | Store | Cart
'''
Created on Jun 22, 2009

@author: mgarrana
'''

from _winreg import *
import shutil
from win32net import NetLocalGroupGetMembers
import win32api
mapping
= { "HKLM":HKEY_LOCAL_MACHINE, "HKCU":HKEY_CURRENT_USER, "HKU":HKEY_USERS }

def readSubKeys(hkey, regPath):
   
if not pathExists(hkey, regPath):
       
return -1
    reg
= OpenKey(mapping[hkey], regPath)
    subKeys
= []
    noOfSubkeys
= QueryInfoKey(reg)[0]
   
for i in range(0, noOfSubkeys):
        subKeys
.append(EnumKey(reg, i))
   
CloseKey(reg)
   
return subKeys

def pathExists(hkey, regPath):
   
try:
        reg
= OpenKey(mapping[hkey], regPath)
   
except WindowsError:
       
return False
   
CloseKey(reg)
   
return True                    


def Dumpfile():
    fv
.write('##########')
    fv
.write('\n')
    fv
.write("local Administrators on machine ")
    fv
.write(host)
    fv
.write(" are : ....\n\n")
    result
,t,r= NetLocalGroupGetMembers(None,"Administrators",1)
   
for item in result:
        fv
.write(str(item))
        fv
.write('\n')
    fv
.write('\n\n')
    fv
.write ("##########\n")
    fv
.write('the following software is installed on ')
    fv
.write(host)
    fv
.write(': .... \n\n')
    listofsoft
=readSubKeys("HKLM", "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
    listofsoft
.sort()
   
for software in listofsoft:
        fv
.write(str(software))
        fv
.write('\n')
    fv
.close()
    shutil
.copy(srcfile,r"\\10.1.1.12\gms")
    win32api
.DeleteFile(srcfile)



def GeneralInfo():
   
global host,fv,srcfile
    host
=win32api.GetComputerName()
    srcfile
="C:\\"+host
    fv
=open(srcfile,'w')
    fv
.write("Machine NAME : ")
    fv
.write(host)
    fv
.write('\n')
    fv
.write("the machine is joined to the domain : ")
    fv
.write(str(win32api.GetDomainName()))
    fv
.write('\n')
    fv
.write("these settings were logged for user : ")
    fv
.write(str(win32api.GetUserName()))
    fv
.write('\n')
    fv
.write("System Time is : ")
    fv
.write(str(win32api.GetSystemTime()))
    fv
.write('\n\n\n')

try:  
   
GeneralInfo()    
   
Dumpfile()
except:
   
pass

   

History