#To define a particular parameter, replace the 'parameterName' inside itsm.getParameter('parameterName') with that parameter's name
import os
import subprocess
import ctypes
##################################################
# Download Folder deletion for all Users 
def download_folder_deletions():
	print "Cleaning Users Download Folder"
	user=os.popen('net users').read()
	user=user.split()[6:-8]
	download_folders=[]
	drive='C:\\Users\\'
	for i in user:
		download_folders.append(drive+i+'\\Downloads')
	#print download_folders
	for i in download_folders:
		if os.path.exists(i)==True:
			os.chdir(i)
			print os.getcwd()
        	print os.popen("RMDIR "+i+" /S /Q").read()
	print "Removed Files from Download Folders"

download_folder_deletions()
##################################################
#Cleaning windows Temp,Users Temp ,IE,Firefox and Chrome temp,webex temp,zoom temp ,GoToMeeting,adobe,flash temp 
def cleaning_temp():
	print "Cleaning Temp files"
	bat_content=r'''
	erase "%TEMP%\*.*" /f /s /q
	for /D %%i in ("%TEMP%\*") do RD /S /Q "%%i"
	
	erase "%TMP%\*.*" /f /s /q
	for /D %%i in ("%TMP%\*") do RD /S /Q "%%i"
	
	erase "%ALLUSERSPROFILE%\TEMP\*.*" /f /s /q
	for /D %%i in ("%ALLUSERSPROFILE%\TEMP\*") do RD /S /Q "%%i"
	
	erase "%SystemRoot%\TEMP\*.*" /f /s /q
	for /D %%i in ("%SystemRoot%\TEMP\*") do RD /S /Q "%%i"
	
	@rem Clear IE cache -  (Deletes Temporary Internet Files Only)
	RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
	erase "%LOCALAPPDATA%\Microsoft\Windows\Tempor~1\*.*" /f /s /q
	for /D %%i in ("%LOCALAPPDATA%\Microsoft\Windows\Tempor~1\*") do RD /S /Q "%%i"
	
	@rem Clear Google Chrome cache
	erase "%LOCALAPPDATA%\Google\Chrome\User Data\*.*" /f /s /q
	for /D %%i in ("%LOCALAPPDATA%\Google\Chrome\User Data\*") do RD /S /Q "%%i"
	
	@rem Clear Firefox cache
	erase "%LOCALAPPDATA%\Mozilla\Firefox\Profiles\*.*" /f /s /q
	for /D %%i in ("%LOCALAPPDATA%\Mozilla\Firefox\Profiles\*") do RD /S /Q "%%i"

'''

	file_name='cleaning.bat'
	file_path=os.path.join('C:\\Users\\', file_name)
	with open(file_path, 'wb') as wr:
		wr.write(bat_content)
	print file_path
	os.popen('C:\Users\cleaning.bat').read()
	print "Removed Temp Files"
cleaning_temp()
####################################################
#Deleting Log files 
print "Cleaning Log Files"
os.chdir('C:\\Windows')
print os.getcwd()
print os.popen('del *.log /a /s /q /f').read()
print "Log Files Removed"
#####################################################


def command(cmd):	
	import subprocess
	from subprocess import PIPE, Popen
	import ctypes
	class disable_file_system_redirection:
		_disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
		_revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
		def __enter__(self):
			self.old_value = ctypes.c_long()
			self.success = self._disable(ctypes.byref(self.old_value))
		def __exit__(self, type, value, traceback):
			if self.success:
				self._revert(self.old_value)

	with disable_file_system_redirection():
		obj = subprocess.Popen(cmd, shell = True, stdout = PIPE, stderr = PIPE)
		out, err = obj.communicate()

		if err:
			print err
		else:
			print out
ls=['defrag.exe /C','"C:\Program Files\Common Files\microsoft shared\ClickToRun\OfficeC2RClient.exe" /update user displaylevel=false forceappshutdown=true','wuauclt.exe /updatenow']
for i in ls:
	command(i)