Reorganized ClientDir
* "ClientDir\Info" renamed to "ClientDir\Logs"
* Logs are sorted into subdirs based on the source:
* KIT_NAME_FULL: WizardKit logs
* d7II: d7II logs
* Tools: Logs from tools called by WizardKit or d7II
* (no subdir): System information
* "ClientDir\Backups"
* Switched to "Backups\Source\{Date}" from "Backups\{Date}\Source"
This commit is contained in:
parent
8189d412eb
commit
f9ab36fc7c
37 changed files with 244 additions and 238 deletions
|
|
@ -10,7 +10,8 @@ from functions.cleanup import *
|
||||||
from functions.data import *
|
from functions.data import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: CBS Cleanup'.format(KIT_NAME_FULL))
|
os.system('title {}: CBS Cleanup'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\CBS Cleanup.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\CBS Cleanup.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ sys.path.append(os.getcwd())
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: Check Disk Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: Check Disk Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Check Disk.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\Check Disk.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ sys.path.append(os.getcwd())
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: DISM helper Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: DISM helper Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\DISM helper tool.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\DISM Helper.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,7 @@ def archive_all_users():
|
||||||
if not os.path.exists(source_path):
|
if not os.path.exists(source_path):
|
||||||
continue
|
continue
|
||||||
source_items = source_path + '*'
|
source_items = source_path + '*'
|
||||||
archive_path = r'{BackupDir}\Browsers ({USERNAME})'.format(
|
archive_path = r'{BackupDir}\Browsers ({USERNAME})\{Date}'.format(
|
||||||
**global_vars, **fake_env)
|
**global_vars, **fake_env)
|
||||||
os.makedirs(archive_path, exist_ok=True)
|
os.makedirs(archive_path, exist_ok=True)
|
||||||
archive_path += r'\{}.7z'.format(b_k)
|
archive_path += r'\{}.7z'.format(b_k)
|
||||||
|
|
@ -152,7 +152,7 @@ def archive_all_users():
|
||||||
def archive_browser(name):
|
def archive_browser(name):
|
||||||
"""Create backup of Browser saved in the BackupDir."""
|
"""Create backup of Browser saved in the BackupDir."""
|
||||||
source = '{}*'.format(browser_data[name]['user_data_path'])
|
source = '{}*'.format(browser_data[name]['user_data_path'])
|
||||||
dest = r'{BackupDir}\Browsers ({USERNAME})'.format(
|
dest = r'{BackupDir}\Browsers ({USERNAME})\{Date}'.format(
|
||||||
**global_vars, **global_vars['Env'])
|
**global_vars, **global_vars['Env'])
|
||||||
archive = r'{}\{}.7z'.format(dest, name)
|
archive = r'{}\{}.7z'.format(dest, name)
|
||||||
os.makedirs(dest, exist_ok=True)
|
os.makedirs(dest, exist_ok=True)
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ def cleanup_adwcleaner():
|
||||||
# Main folder
|
# Main folder
|
||||||
if os.path.exists(source_path):
|
if os.path.exists(source_path):
|
||||||
os.makedirs(global_vars['LogDir'], exist_ok=True)
|
os.makedirs(global_vars['LogDir'], exist_ok=True)
|
||||||
dest_name = r'{LogDir}\{Date}\AdwCleaner'.format(
|
dest_name = r'{LogDir}\Tools\AdwCleaner'.format(
|
||||||
**global_vars)
|
**global_vars)
|
||||||
dest_name = non_clobber_rename(dest_name)
|
dest_name = non_clobber_rename(dest_name)
|
||||||
shutil.move(source_path, dest_name)
|
shutil.move(source_path, dest_name)
|
||||||
|
|
@ -93,7 +93,7 @@ def cleanup_cbs(dest_folder):
|
||||||
def cleanup_d7ii():
|
def cleanup_d7ii():
|
||||||
"""Sort d7II logs and remove temp items."""
|
"""Sort d7II logs and remove temp items."""
|
||||||
d7_path = r'{}\d7II'.format(global_vars['ClientDir'])
|
d7_path = r'{}\d7II'.format(global_vars['ClientDir'])
|
||||||
d7_reports = r'{}_Reports'.format(d7_path)
|
d7_reports = r'{} Reports'.format(d7_path)
|
||||||
d7_temp = r'{}\Temp'.format(d7_path)
|
d7_temp = r'{}\Temp'.format(d7_path)
|
||||||
|
|
||||||
# Logs & Reports
|
# Logs & Reports
|
||||||
|
|
@ -103,49 +103,46 @@ def cleanup_d7ii():
|
||||||
d7_date = '{}-{:02d}-{:02d}'.format(
|
d7_date = '{}-{:02d}-{:02d}'.format(
|
||||||
r.group(1), int(r.group(2)), int(r.group(3)))
|
r.group(1), int(r.group(2)), int(r.group(3)))
|
||||||
d7_mlogs = r'{}\Malware Logs'.format(entry.path)
|
d7_mlogs = r'{}\Malware Logs'.format(entry.path)
|
||||||
log_dest = r'{SYSTEMDRIVE}\{prefix}\Info\{date}'.format(
|
log_dest = r'{SYSTEMDRIVE}\{prefix}\Logs\{date}'.format(
|
||||||
prefix=KIT_NAME_SHORT,
|
prefix=KIT_NAME_SHORT,
|
||||||
date=d7_date,
|
date=d7_date,
|
||||||
**global_vars['Env'])
|
**global_vars['Env'])
|
||||||
|
|
||||||
# Remove empty folders
|
|
||||||
for f in ('Malware Logs', 'Screen Shots'):
|
|
||||||
try:
|
|
||||||
os.rmdir(r'{}\{}'.format(entry.path, f))
|
|
||||||
except FileNotFoundError:
|
|
||||||
pass
|
|
||||||
except OSError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
# Malware Logs
|
# Malware Logs
|
||||||
if os.path.exists(d7_mlogs):
|
if os.path.exists(d7_mlogs):
|
||||||
|
m_report = 'MalwareScan_Report.txt'
|
||||||
for m_entry in os.scandir(d7_mlogs):
|
for m_entry in os.scandir(d7_mlogs):
|
||||||
prefix = ''
|
dest_path = r'{}\{}\{}'.format(
|
||||||
if m_entry.name == 'MalwareScan_Report.txt':
|
log_dest,
|
||||||
prefix = 'd7II_'
|
'd7II' if m_entry.name == m_report else 'Tools',
|
||||||
dest_path = r'{log_dest}\{prefix}{name}'.format(
|
m_entry.name)
|
||||||
log_dest=log_dest,
|
|
||||||
prefix=prefix,
|
|
||||||
name=m_entry.name)
|
|
||||||
dest_path = non_clobber_rename(dest_path)
|
dest_path = non_clobber_rename(dest_path)
|
||||||
shutil.move(entry.path, dest_path)
|
shutil.move(entry.path, dest_path)
|
||||||
try:
|
|
||||||
os.rmdir(d7_mlogs)
|
|
||||||
except OSError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
# Other items
|
# Other items
|
||||||
for o_entry in os.scandir(entry.path):
|
for o_entry in os.scandir(entry.path):
|
||||||
dest_path = r'{log_dest}\d7II_{name}'.format(
|
dest_path = r'{log_dest}\d7II\{name}'.format(
|
||||||
log_dest=log_dest,
|
log_dest=log_dest,
|
||||||
name=m_entry.name)
|
name=m_entry.name)
|
||||||
dest_path = non_clobber_rename(dest_path)
|
dest_path = non_clobber_rename(dest_path)
|
||||||
|
|
||||||
|
# Just remove empty folders
|
||||||
|
if o_entry.isdir():
|
||||||
|
try:
|
||||||
|
os.rmdir(o_entry.path)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Move item
|
||||||
shutil.move(entry.path, dest_path)
|
shutil.move(entry.path, dest_path)
|
||||||
|
|
||||||
# Remove folder if empty
|
# Remove folder
|
||||||
try:
|
try:
|
||||||
os.rmdir(entry.path)
|
os.rmdir(entry.path)
|
||||||
except OSError:
|
except OSError:
|
||||||
|
# Folder should be empty but whatever
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# Registry Items
|
# Registry Items
|
||||||
|
|
@ -167,7 +164,7 @@ def cleanup_d7ii():
|
||||||
|
|
||||||
def cleanup_desktop():
|
def cleanup_desktop():
|
||||||
"""Move known backup files and reports into the ClientDir."""
|
"""Move known backup files and reports into the ClientDir."""
|
||||||
dest_folder = r'{ProgBackupDir}\{Date}\Desktop'.format(**global_vars)
|
dest_folder = r'{LogDir}\Tools'.format(**global_vars)
|
||||||
os.makedirs(dest_folder, exist_ok=True)
|
os.makedirs(dest_folder, exist_ok=True)
|
||||||
|
|
||||||
desktop_path = r'{USERPROFILE}\Desktop'.format(**global_vars['Env'])
|
desktop_path = r'{USERPROFILE}\Desktop'.format(**global_vars['Env'])
|
||||||
|
|
@ -210,12 +207,13 @@ def cleanup_regbackups():
|
||||||
if not os.path.exists(source_path):
|
if not os.path.exists(source_path):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# Make dest folder
|
||||||
|
dest_dir = r'{BackupDir}\Registry\{Date}'.format(**global_vars)
|
||||||
|
os.makedirs(dest_dir, exist_ok=True)
|
||||||
|
|
||||||
# Move to backup folder
|
# Move to backup folder
|
||||||
for entry in os.scandir(source_path):
|
for entry in os.scandir(source_path):
|
||||||
os.makedirs(global_vars['ProgBackupDir'], exist_ok=True)
|
dest_path = r'{dest}\{name}'.format(dest=dest_dir, name=entry.name)
|
||||||
dest_path = r'{ProgBackupDir}\{Date}\Registry\{name}'.format(
|
|
||||||
name=entry.name,
|
|
||||||
**global_vars)
|
|
||||||
dest_path = non_clobber_rename(dest_path)
|
dest_path = non_clobber_rename(dest_path)
|
||||||
shutil.move(entry.path, dest_path)
|
shutil.move(entry.path, dest_path)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -168,8 +168,7 @@ def exit_script(return_value=0):
|
||||||
# Remove dirs (if empty)
|
# Remove dirs (if empty)
|
||||||
for dir in ['BackupDir', 'LogDir', 'TmpDir']:
|
for dir in ['BackupDir', 'LogDir', 'TmpDir']:
|
||||||
try:
|
try:
|
||||||
dir = global_vars[dir]
|
os.rmdir(global_vars[dir])
|
||||||
os.rmdir(dir)
|
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
@ -774,11 +773,9 @@ def set_common_vars():
|
||||||
**global_vars)
|
**global_vars)
|
||||||
global_vars['ClientDir'] = r'{SYSTEMDRIVE}\{prefix}'.format(
|
global_vars['ClientDir'] = r'{SYSTEMDRIVE}\{prefix}'.format(
|
||||||
prefix=KIT_NAME_SHORT, **global_vars['Env'])
|
prefix=KIT_NAME_SHORT, **global_vars['Env'])
|
||||||
global_vars['BackupDir'] = r'{ClientDir}\Backups\{Date}'.format(
|
global_vars['BackupDir'] = r'{ClientDir}\Backups'.format(
|
||||||
**global_vars)
|
**global_vars)
|
||||||
global_vars['LogDir'] = r'{ClientDir}\Info\{Date}'.format(
|
global_vars['LogDir'] = r'{ClientDir}\Logs\{Date}'.format(
|
||||||
**global_vars)
|
|
||||||
global_vars['ProgBackupDir'] = r'{ClientDir}\Backups'.format(
|
|
||||||
**global_vars)
|
**global_vars)
|
||||||
global_vars['QuarantineDir'] = r'{ClientDir}\Quarantine'.format(
|
global_vars['QuarantineDir'] = r'{ClientDir}\Quarantine'.format(
|
||||||
**global_vars)
|
**global_vars)
|
||||||
|
|
|
||||||
|
|
@ -421,7 +421,7 @@ def run_fast_copy(items, dest):
|
||||||
raise Exception
|
raise Exception
|
||||||
|
|
||||||
cmd = [global_vars['Tools']['FastCopy'], *FAST_COPY_ARGS]
|
cmd = [global_vars['Tools']['FastCopy'], *FAST_COPY_ARGS]
|
||||||
cmd.append(r'/logfile={}\FastCopy.log'.format(global_vars['LogDir']))
|
cmd.append(r'/logfile={LogDir}\Tools\FastCopy.log'.format(**global_vars))
|
||||||
cmd.extend(items)
|
cmd.extend(items)
|
||||||
cmd.append('/to={}\\'.format(dest))
|
cmd.append('/to={}\\'.format(dest))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -147,7 +147,7 @@ def run_hitmanpro():
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['HitmanPro'],
|
global_vars['Tools']['HitmanPro'],
|
||||||
'/quiet', '/noinstall', '/noupload',
|
'/quiet', '/noinstall', '/noupload',
|
||||||
r'/log={LogDir}\hitman.xml'.format(**global_vars)]
|
r'/log={LogDir}\Tools\HitmanPro.txt'.format(**global_vars)]
|
||||||
popen_program(cmd)
|
popen_program(cmd)
|
||||||
|
|
||||||
def run_process_killer():
|
def run_process_killer():
|
||||||
|
|
@ -165,20 +165,17 @@ def run_rkill():
|
||||||
extract_item('RKill', silent=True)
|
extract_item('RKill', silent=True)
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['RKill'],
|
global_vars['Tools']['RKill'],
|
||||||
'-l', r'{LogDir}\RKill.log'.format(**global_vars),
|
'-s', '-l', r'{LogDir}\Tools\RKill.log'.format(**global_vars),
|
||||||
'-new_console:n', '-new_console:s33V']
|
'-new_console:n', '-new_console:s33V']
|
||||||
run_program(cmd, check=False)
|
run_program(cmd, check=False)
|
||||||
wait_for_process('RKill')
|
wait_for_process('RKill')
|
||||||
kill_process('notepad.exe')
|
|
||||||
|
|
||||||
# RKill cleanup
|
# RKill cleanup
|
||||||
desktop_path = r'{USERPROFILE}\Desktop'.format(**global_vars['Env'])
|
desktop_path = r'{USERPROFILE}\Desktop'.format(**global_vars['Env'])
|
||||||
if os.path.exists(desktop_path):
|
if os.path.exists(desktop_path):
|
||||||
for item in os.scandir(desktop_path):
|
for item in os.scandir(desktop_path):
|
||||||
if re.search(r'^RKill', item.name, re.IGNORECASE):
|
if re.search(r'^RKill', item.name, re.IGNORECASE):
|
||||||
dest = re.sub(r'^(.*)\.', '\1_{Date-Time}.'.format(
|
dest = r'{LogDir}\Tools\{name}'.format(
|
||||||
**global_vars), item.name)
|
|
||||||
dest = r'{ClientDir}\Info\{name}'.format(
|
|
||||||
name=dest, **global_vars)
|
name=dest, **global_vars)
|
||||||
dest = non_clobber_rename(dest)
|
dest = non_clobber_rename(dest)
|
||||||
shutil.move(item.path, dest)
|
shutil.move(item.path, dest)
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,8 @@ def backup_file_list():
|
||||||
|
|
||||||
def backup_power_plans():
|
def backup_power_plans():
|
||||||
"""Export current power plans."""
|
"""Export current power plans."""
|
||||||
os.makedirs(r'{BackupDir}\Power Plans'.format(**global_vars), exist_ok=True)
|
os.makedirs(r'{BackupDir}\Power Plans\{Date}'.format(
|
||||||
|
**global_vars), exist_ok=True)
|
||||||
plans = run_program(['powercfg', '/L'])
|
plans = run_program(['powercfg', '/L'])
|
||||||
plans = plans.stdout.decode().splitlines()
|
plans = plans.stdout.decode().splitlines()
|
||||||
plans = [p for p in plans if re.search(r'^Power Scheme', p)]
|
plans = [p for p in plans if re.search(r'^Power Scheme', p)]
|
||||||
|
|
@ -76,7 +77,7 @@ def backup_power_plans():
|
||||||
guid = re.sub(r'Power Scheme GUID:\s+([0-9a-f\-]+).*', r'\1', p)
|
guid = re.sub(r'Power Scheme GUID:\s+([0-9a-f\-]+).*', r'\1', p)
|
||||||
name = re.sub(
|
name = re.sub(
|
||||||
r'Power Scheme GUID:\s+[0-9a-f\-]+\s+\(([^\)]+)\).*', r'\1', p)
|
r'Power Scheme GUID:\s+[0-9a-f\-]+\s+\(([^\)]+)\).*', r'\1', p)
|
||||||
out = r'{BackupDir}\Power Plans\{name}.pow'.format(
|
out = r'{BackupDir}\Power Plans\{Date}\{name}.pow'.format(
|
||||||
name=name, **global_vars)
|
name=name, **global_vars)
|
||||||
if not os.path.exists(out):
|
if not os.path.exists(out):
|
||||||
cmd = ['powercfg', '-export', out, guid]
|
cmd = ['powercfg', '-export', out, guid]
|
||||||
|
|
@ -87,7 +88,7 @@ def backup_registry(overwrite=False):
|
||||||
extract_item('erunt', silent=True)
|
extract_item('erunt', silent=True)
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['ERUNT'],
|
global_vars['Tools']['ERUNT'],
|
||||||
r'{BackupDir}\Registry'.format(**global_vars),
|
r'{BackupDir}\Registry\{Date}'.format(**global_vars),
|
||||||
'sysreg',
|
'sysreg',
|
||||||
'curuser',
|
'curuser',
|
||||||
'otherusers',
|
'otherusers',
|
||||||
|
|
@ -374,7 +375,7 @@ def run_bleachbit(cleaners=None, preview=True):
|
||||||
"""Run BleachBit preview and save log.
|
"""Run BleachBit preview and save log.
|
||||||
|
|
||||||
If preview is True then no files should be deleted."""
|
If preview is True then no files should be deleted."""
|
||||||
error_path = r'{}\BleachBit.err'.format(global_vars['LogDir'])
|
error_path = r'{}\Tools\BleachBit.err'.format(global_vars['LogDir'])
|
||||||
log_path = error_path.replace('err', 'log')
|
log_path = error_path.replace('err', 'log')
|
||||||
extract_item('BleachBit', silent=True)
|
extract_item('BleachBit', silent=True)
|
||||||
|
|
||||||
|
|
@ -473,7 +474,7 @@ def show_os_name():
|
||||||
def show_temp_files_size():
|
def show_temp_files_size():
|
||||||
"""Show total size of temp files identified by BleachBit."""
|
"""Show total size of temp files identified by BleachBit."""
|
||||||
size = None
|
size = None
|
||||||
with open(r'{LogDir}\BleachBit.log'.format(**global_vars), 'r') as f:
|
with open(r'{LogDir}\Tools\BleachBit.log'.format(**global_vars), 'r') as f:
|
||||||
for line in f.readlines():
|
for line in f.readlines():
|
||||||
if re.search(r'^disk space to be recovered:', line, re.IGNORECASE):
|
if re.search(r'^disk space to be recovered:', line, re.IGNORECASE):
|
||||||
size = re.sub(r'.*: ', '', line.strip())
|
size = re.sub(r'.*: ', '', line.strip())
|
||||||
|
|
|
||||||
|
|
@ -24,11 +24,11 @@ def run_chkdsk_scan():
|
||||||
raise GenericError
|
raise GenericError
|
||||||
|
|
||||||
# Save stderr
|
# Save stderr
|
||||||
with open(r'{LogDir}\CHKDSK.err'.format(**global_vars), 'a') as f:
|
with open(r'{LogDir}\Tools\CHKDSK.err'.format(**global_vars), 'a') as f:
|
||||||
for line in out.stderr.decode().splitlines():
|
for line in out.stderr.decode().splitlines():
|
||||||
f.write(line.strip() + '\n')
|
f.write(line.strip() + '\n')
|
||||||
# Save stdout
|
# Save stdout
|
||||||
with open(r'{LogDir}\CHKDSK.log'.format(**global_vars), 'a') as f:
|
with open(r'{LogDir}\Tools\CHKDSK.log'.format(**global_vars), 'a') as f:
|
||||||
for line in out.stdout.decode().splitlines():
|
for line in out.stdout.decode().splitlines():
|
||||||
f.write(line.strip() + '\n')
|
f.write(line.strip() + '\n')
|
||||||
|
|
||||||
|
|
@ -50,7 +50,7 @@ def run_dism(repair=False):
|
||||||
cmd = [
|
cmd = [
|
||||||
'DISM', '/Online',
|
'DISM', '/Online',
|
||||||
'/Cleanup-Image', '/RestoreHealth',
|
'/Cleanup-Image', '/RestoreHealth',
|
||||||
r'/LogPath:"{LogDir}\DISM_RestoreHealth.log"'.format(
|
r'/LogPath:"{LogDir}\Tools\DISM_RestoreHealth.log"'.format(
|
||||||
**global_vars),
|
**global_vars),
|
||||||
'-new_console:n', '-new_console:s33V']
|
'-new_console:n', '-new_console:s33V']
|
||||||
else:
|
else:
|
||||||
|
|
@ -58,7 +58,7 @@ def run_dism(repair=False):
|
||||||
cmd = [
|
cmd = [
|
||||||
'DISM', '/Online',
|
'DISM', '/Online',
|
||||||
'/Cleanup-Image', '/ScanHealth',
|
'/Cleanup-Image', '/ScanHealth',
|
||||||
r'/LogPath:"{LogDir}\DISM_ScanHealth.log"'.format(
|
r'/LogPath:"{LogDir}\Tools\DISM_ScanHealth.log"'.format(
|
||||||
**global_vars),
|
**global_vars),
|
||||||
'-new_console:n', '-new_console:s33V']
|
'-new_console:n', '-new_console:s33V']
|
||||||
run_program(cmd, pipe=False, check=False, shell=True)
|
run_program(cmd, pipe=False, check=False, shell=True)
|
||||||
|
|
@ -67,7 +67,7 @@ def run_dism(repair=False):
|
||||||
cmd = [
|
cmd = [
|
||||||
'DISM', '/Online',
|
'DISM', '/Online',
|
||||||
'/Cleanup-Image', '/CheckHealth',
|
'/Cleanup-Image', '/CheckHealth',
|
||||||
r'/LogPath:"{LogDir}\DISM_CheckHealth.log"'.format(**global_vars)]
|
r'/LogPath:"{LogDir}\Tools\DISM_CheckHealth.log"'.format(**global_vars)]
|
||||||
result = run_program(cmd, shell=True).stdout.decode()
|
result = run_program(cmd, shell=True).stdout.decode()
|
||||||
# Check result
|
# Check result
|
||||||
if 'no component store corruption detected' not in result.lower():
|
if 'no component store corruption detected' not in result.lower():
|
||||||
|
|
@ -93,11 +93,11 @@ def run_sfc_scan():
|
||||||
'/scannow']
|
'/scannow']
|
||||||
out = run_program(cmd, check=False)
|
out = run_program(cmd, check=False)
|
||||||
# Save stderr
|
# Save stderr
|
||||||
with open(r'{LogDir}\SFC.err'.format(**global_vars), 'a') as f:
|
with open(r'{LogDir}\Tools\SFC.err'.format(**global_vars), 'a') as f:
|
||||||
for line in out.stderr.decode('utf-8', 'ignore').splitlines():
|
for line in out.stderr.decode('utf-8', 'ignore').splitlines():
|
||||||
f.write(line.strip() + '\n')
|
f.write(line.strip() + '\n')
|
||||||
# Save stdout
|
# Save stdout
|
||||||
with open(r'{LogDir}\SFC.log'.format(**global_vars), 'a') as f:
|
with open(r'{LogDir}\Tools\SFC.log'.format(**global_vars), 'a') as f:
|
||||||
for line in out.stdout.decode('utf-8', 'ignore').splitlines():
|
for line in out.stdout.decode('utf-8', 'ignore').splitlines():
|
||||||
f.write(line.strip() + '\n')
|
f.write(line.strip() + '\n')
|
||||||
# Check result
|
# Check result
|
||||||
|
|
@ -116,7 +116,7 @@ def run_tdsskiller():
|
||||||
**global_vars), exist_ok=True)
|
**global_vars), exist_ok=True)
|
||||||
cmd = [
|
cmd = [
|
||||||
global_vars['Tools']['TDSSKiller'],
|
global_vars['Tools']['TDSSKiller'],
|
||||||
'-l', r'{LogDir}\TDSSKiller.log'.format(**global_vars),
|
'-l', r'{LogDir}\Tools\TDSSKiller.log'.format(**global_vars),
|
||||||
'-qpath', r'{QuarantineDir}\TDSSKiller'.format(**global_vars),
|
'-qpath', r'{QuarantineDir}\TDSSKiller'.format(**global_vars),
|
||||||
'-accepteula', '-accepteulaksn',
|
'-accepteula', '-accepteulaksn',
|
||||||
'-dcexact', '-tdlfs']
|
'-dcexact', '-tdlfs']
|
||||||
|
|
|
||||||
|
|
@ -392,8 +392,8 @@ def menu_setup():
|
||||||
windows_version = windows_version)
|
windows_version = windows_version)
|
||||||
|
|
||||||
# Copy WinPE log(s)
|
# Copy WinPE log(s)
|
||||||
source = r'{}\Info'.format(global_vars['ClientDir'])
|
source = r'{}\Logs'.format(global_vars['ClientDir'])
|
||||||
dest = r'W:\{}\Info'.format(KIT_NAME_SHORT)
|
dest = r'W:\{}\Logs\WinPE'.format(KIT_NAME_SHORT)
|
||||||
shutil.copytree(source, dest)
|
shutil.copytree(source, dest)
|
||||||
|
|
||||||
# Print summary
|
# Print summary
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ for /f "tokens=* usebackq" %%f in (`findstr KIT_NAME_SHORT "%SETTINGS%"`) do (
|
||||||
set "KIT_NAME_SHORT=!_v:~0,-1!"
|
set "KIT_NAME_SHORT=!_v:~0,-1!"
|
||||||
)
|
)
|
||||||
set "client_dir=%systemdrive%\%KIT_NAME_SHORT%"
|
set "client_dir=%systemdrive%\%KIT_NAME_SHORT%"
|
||||||
set "log_dir=%client_dir%\Info\%iso_date%"
|
set "log_dir=%client_dir%\Logs\%iso_date%"
|
||||||
|
|
||||||
:Flags
|
:Flags
|
||||||
set _backups=
|
set _backups=
|
||||||
|
|
@ -45,7 +45,7 @@ set _transfer=
|
||||||
for %%f in (%*) do (
|
for %%f in (%*) do (
|
||||||
if /i "%%f" == "/DEBUG" (@echo on)
|
if /i "%%f" == "/DEBUG" (@echo on)
|
||||||
if /i "%%f" == "/Backups" set _backups=True
|
if /i "%%f" == "/Backups" set _backups=True
|
||||||
if /i "%%f" == "/Info" set _info=True
|
if /i "%%f" == "/Logs" set _logs=True
|
||||||
if /i "%%f" == "/Office" set _office=True
|
if /i "%%f" == "/Office" set _office=True
|
||||||
if /i "%%f" == "/Quarantine" set _quarantine=True
|
if /i "%%f" == "/Quarantine" set _quarantine=True
|
||||||
if /i "%%f" == "/QuickBooks" set _quickbooks=True
|
if /i "%%f" == "/QuickBooks" set _quickbooks=True
|
||||||
|
|
@ -54,7 +54,7 @@ for %%f in (%*) do (
|
||||||
|
|
||||||
:CreateDirs
|
:CreateDirs
|
||||||
if defined _backups mkdir "%client_dir%\Backups">nul 2>&1
|
if defined _backups mkdir "%client_dir%\Backups">nul 2>&1
|
||||||
if defined _info mkdir "%client_dir%\Info">nul 2>&1
|
if defined _logs mkdir "%client_dir%\Logs">nul 2>&1
|
||||||
if defined _office mkdir "%client_dir%\Office">nul 2>&1
|
if defined _office mkdir "%client_dir%\Office">nul 2>&1
|
||||||
if defined _quarantine mkdir "%client_dir%\Quarantine">nul 2>&1
|
if defined _quarantine mkdir "%client_dir%\Quarantine">nul 2>&1
|
||||||
if defined _quickbooks mkdir "%client_dir%\QuickBooks">nul 2>&1
|
if defined _quickbooks mkdir "%client_dir%\QuickBooks">nul 2>&1
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ sys.path.append(os.getcwd())
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: Install ESET NOD32 AV'.format(KIT_NAME_FULL))
|
os.system('title {}: Install ESET NOD32 AV'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Install ESET NOD32 AV.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\Install ESET NOD32 AV.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ sys.path.append(os.getcwd())
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: SW Bundle Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: SW Bundle Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Install SW Bundle.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\Install SW Bundle.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
D7_MODE = 'd7mode' in sys.argv
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ sys.path.append(os.getcwd())
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: Install Visual C++ Runtimes'.format(KIT_NAME_FULL))
|
os.system('title {}: Install Visual C++ Runtimes'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Install Visual C++ Runtimes.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\Install Visual C++ Runtimes.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ from functions.cleanup import *
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: Post-d7II Work'.format(KIT_NAME_FULL))
|
os.system('title {}: Post-d7II Work'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Post-d7II Work.log'.format(
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\Post-d7II Work.log'.format(
|
||||||
**global_vars, **global_vars['Env'])
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ from functions.cleanup import *
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: Browser Reset Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: Browser Reset Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Browser Reset ({USERNAME}).log'.format(
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\Browser Reset ({USERNAME}).log'.format(
|
||||||
**global_vars, **global_vars['Env'])
|
kit_name=KIT_NAME_FULL, **global_vars, **global_vars['Env'])
|
||||||
D7_MODE = 'd7mode' in sys.argv
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,7 @@ LAUNCHERS = {
|
||||||
'L_PATH': 'FastCopy',
|
'L_PATH': 'FastCopy',
|
||||||
'L_ITEM': 'FastCopy.exe',
|
'L_ITEM': 'FastCopy.exe',
|
||||||
'L_ARGS': (
|
'L_ARGS': (
|
||||||
r' /logfile=%log_dir%\FastCopy.log'
|
r' /logfile=%log_dir%\Tools\FastCopy.log'
|
||||||
r' /cmd=noexist_only'
|
r' /cmd=noexist_only'
|
||||||
r' /utf8'
|
r' /utf8'
|
||||||
r' /skip_empty_dir'
|
r' /skip_empty_dir'
|
||||||
|
|
@ -145,7 +145,7 @@ LAUNCHERS = {
|
||||||
),
|
),
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info /Transfer',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs /Transfer',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'FastCopy': {
|
'FastCopy': {
|
||||||
|
|
@ -153,7 +153,7 @@ LAUNCHERS = {
|
||||||
'L_PATH': 'FastCopy',
|
'L_PATH': 'FastCopy',
|
||||||
'L_ITEM': 'FastCopy.exe',
|
'L_ITEM': 'FastCopy.exe',
|
||||||
'L_ARGS': (
|
'L_ARGS': (
|
||||||
r' /logfile=%log_dir%\FastCopy.log'
|
r' /logfile=%log_dir%\Tools\FastCopy.log'
|
||||||
r' /cmd=noexist_only'
|
r' /cmd=noexist_only'
|
||||||
r' /utf8'
|
r' /utf8'
|
||||||
r' /skip_empty_dir'
|
r' /skip_empty_dir'
|
||||||
|
|
@ -192,7 +192,7 @@ LAUNCHERS = {
|
||||||
r' /to=%client_dir%\Transfer_%iso_date%\ '
|
r' /to=%client_dir%\Transfer_%iso_date%\ '
|
||||||
),
|
),
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info /Transfer',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs /Transfer',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'KVRT': {
|
'KVRT': {
|
||||||
|
|
@ -302,10 +302,10 @@ LAUNCHERS = {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'erunt',
|
'L_PATH': 'erunt',
|
||||||
'L_ITEM': 'ERUNT.EXE',
|
'L_ITEM': 'ERUNT.EXE',
|
||||||
'L_ARGS': '%client_dir%\Backups\%iso_date%\Registry sysreg curuser otherusers',
|
'L_ARGS': '%client_dir%\Backups\Registry\%iso_date% sysreg curuser otherusers',
|
||||||
'L_ELEV': 'True',
|
'L_ELEV': 'True',
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'FurMark': {
|
'FurMark': {
|
||||||
|
|
@ -323,7 +323,7 @@ LAUNCHERS = {
|
||||||
'L_PATH': 'HitmanPro',
|
'L_PATH': 'HitmanPro',
|
||||||
'L_ITEM': 'HitmanPro.exe',
|
'L_ITEM': 'HitmanPro.exe',
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'HWiNFO': {
|
'HWiNFO': {
|
||||||
|
|
@ -624,8 +624,10 @@ LAUNCHERS = {
|
||||||
'L_TYPE': 'Executable',
|
'L_TYPE': 'Executable',
|
||||||
'L_PATH': 'RKill',
|
'L_PATH': 'RKill',
|
||||||
'L_ITEM': 'RKill.exe',
|
'L_ITEM': 'RKill.exe',
|
||||||
|
'L_ARGS': '-s -l %log_dir%\Tools\RKill.log',
|
||||||
|
'L_ELEV': 'True',
|
||||||
'Extra Code': [
|
'Extra Code': [
|
||||||
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
|
r'call "%bin%\Scripts\init_client_dir.cmd" /Logs',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'SFC Scan': {
|
'SFC Scan': {
|
||||||
|
|
@ -639,7 +641,7 @@ LAUNCHERS = {
|
||||||
'L_PATH': 'TDSSKiller',
|
'L_PATH': 'TDSSKiller',
|
||||||
'L_ITEM': 'TDSSKiller.exe',
|
'L_ITEM': 'TDSSKiller.exe',
|
||||||
'L_ARGS': (
|
'L_ARGS': (
|
||||||
r' -l %log_dir%\TDSSKiller.log'
|
r' -l %log_dir%\Tools\TDSSKiller.log'
|
||||||
r' -qpath %q_dir%'
|
r' -qpath %q_dir%'
|
||||||
r' -accepteula'
|
r' -accepteula'
|
||||||
r' -accepteulaksn'
|
r' -accepteulaksn'
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ sys.path.append(os.getcwd())
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: SFC Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: SFC Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\SFC Tool.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\SFC Tool.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,8 @@ from functions.product_keys import *
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: System Checklist Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: System Checklist Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\System Checklist.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\System Checklist.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
D7_MODE = 'd7mode' in sys.argv
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,8 @@ from functions.product_keys import *
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: System HW Checklist Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: System HW Checklist Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\System HW Checklist.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\System HW Checklist.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ from functions.product_keys import *
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: System Diagnostics Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: System Diagnostics Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\System Diagnostics.log'.format(
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\System Diagnostics.log'.format(
|
||||||
**global_vars)
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
D7_MODE = 'd7mode' in sys.argv
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
# Static Variables
|
# Static Variables
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ sys.path.append(os.getcwd())
|
||||||
from functions.product_keys import *
|
from functions.product_keys import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: Transferred Key Finder'.format(KIT_NAME_FULL))
|
os.system('title {}: Transferred Key Finder'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\Transferred Keys.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\Transferred Keys.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ from functions.cleanup import *
|
||||||
from functions.setup import *
|
from functions.setup import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: User Checklist Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: User Checklist Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\User Checklist ({USERNAME}).log'.format(
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\User Checklist ({USERNAME}).log'.format(
|
||||||
**global_vars, **global_vars['Env'])
|
kit_name=KIT_NAME_FULL, **global_vars, **global_vars['Env'])
|
||||||
D7_MODE = 'd7mode' in sys.argv
|
D7_MODE = 'd7mode' in sys.argv
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,8 @@ from functions.data import *
|
||||||
from functions.repairs import *
|
from functions.repairs import *
|
||||||
init_global_vars()
|
init_global_vars()
|
||||||
os.system('title {}: User Data Transfer Tool'.format(KIT_NAME_FULL))
|
os.system('title {}: User Data Transfer Tool'.format(KIT_NAME_FULL))
|
||||||
global_vars['LogFile'] = r'{LogDir}\User Data Transfer.log'.format(**global_vars)
|
global_vars['LogFile'] = r'{LogDir}\{kit_name}\User Data Transfer.log'.format(
|
||||||
|
kit_name=KIT_NAME_FULL, **global_vars)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue