import os import subprocess import ctypes print("Checking Smart status drive....\n") smart_status = os.popen('wmic diskdrive get model, status').read() print(smart_status) print('\n') print("Checking Health Status of the Hard Disk...\n") 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('chkdsk', shell=True, stdout = subprocess.PIPE, stderr = subprocess.PIPE) out, err = obj.communicate() if err: print(err) else: print(out) ps_content = r'''function Get-Temperature { $t = Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi" $returntemp = @() foreach ($temp in $t.CurrentTemperature) { $currentTempKelvin = $temp / 10 $currentTempCelsius = $currentTempKelvin - 273.15 $currentTempFahrenheit = (9/5) * $currentTempCelsius + 32 $returntemp += $currentTempCelsius.ToString() + " C : " + $currentTempFahrenheit.ToString() + " F : " + $currentTempKelvin + "K" } return $returntemp } Get-Temperature''' print("Checking CPU Temperature...") def ecmd(command): import ctypes from subprocess import PIPE, Popen 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(command, shell=True, stdout = subprocess.PIPE, stderr = subprocess.PIPE) out, err = obj.communicate() if err: print(err) else: print(out) file_name='Temperature.ps1' file_path=os.path.join(os.environ['TEMP'], file_name) with open(file_path, 'wb') as wr: wr.write(ps_content) ecmd('powershell "Set-ExecutionPolicy RemoteSigned"') ecmd('powershell "%s"'%file_path) def spooler(command): obj = subprocess.Popen(command, shell=True, stdout = subprocess.PIPE, stderr = subprocess.PIPE) out, err = obj.communicate() if err: print(err) else: print(out) return "Success" print("Stopping print spooler...") stop = spooler('net stop spooler') if stop == "Success": print("Clearing print spooler...") clear = spooler('del %systemroot%\System32\spool\printers* /Q') if clear == "Success": print("Starting print spooler...") start = spooler('net start spooler') else: print("Error occurred while clearing...") else: print("Error occurred while stopping...")