You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# PowerShell Script for Windows 10/11 Remedial Tasks# Author: OP The Magician # Version: 1.0# Description: Provides an interactive menu to select and execute common troubleshooting and repair tasks.# Function to display the menufunctionShow-Menu {
Clear-HostWrite-Host"==================================="Write-Host" Windows 10/11 Remedial Task Script"Write-Host"==================================="Write-Host"1. System File Checker (SFC)"Write-Host"2. DISM (Deployment Imaging Service and Management Tool)"Write-Host"3. Check Disk (CHKDSK)"Write-Host"4. Windows Update Troubleshooter"Write-Host"5. Reset Windows Update Components"Write-Host"6. Clear Temp Files"Write-Host"7. Repair Windows Store Apps"Write-Host"8. Flush DNS Cache"Write-Host"9. Restart Windows Explorer"Write-Host"10. Scan for Malware (Windows Defender)"Write-Host"11. Check for Windows Updates"Write-Host"12. Reset Network Settings"Write-Host"13. Uninstall Recent Updates"Write-Host"14. Rebuild Search Index"Write-Host"15. Perform a System Restore"Write-Host"16. Check for Driver Updates"Write-Host"17. Enable Safe Mode"Write-Host"18. Disable Startup Programs"Write-Host"19. Check Event Viewer for Errors"Write-Host"20. Run Disk Cleanup"Write-Host"-----------------------------"Write-Host"21. Install Update for Windows Management Framework (WMF)"Write-Host"22. Install Power BI Desktop"Write-Host"23. Install Azure Data Studio"Write-Host"24. Install Visual Studio Tools for Applications (VSTA)"Write-Host"25. Install Microsoft Management Console (MMC)"Write-Host"26. Install Windows Assessment and Deployment Kit (ADK)"Write-Host"27. Install Windows Assessment and Deployment Kit (ADK) for Windows 10"Write-Host"28. Install Windows Configuration Designer"Write-Host"29. Install Group Policy Management Console (GPMC)"Write-Host"30. Install Windows Management Instrumentation (WMI)"Write-Host"-----------------------------"Write-Host"31. Backup Selected Registry Keys"Write-Host"32. Restore Selected Registry Keys"Write-Host"33. Change BIOS Settings (BCDEdit)"Write-Host"34. Change Windows Date and Time Settings"Write-Host"35. Change Windows Power Settings"Write-Host"36. Change Windows Region Settings"Write-Host"37. Change Windows Shell Icon"Write-Host"38. Change Windows Display Settings"Write-Host"39. Change Windows IME Settings"Write-Host"40. Change Windows Network and Sharing Center Settings"Write-Host"Q. Quit"Write-Host"==================================="
}
# Function to execute the selected taskfunctionExecute-Task {
param (
[int]$Choice
)
switch ($Choice) {
1 {
Write-Host"Running System File Checker (SFC)..."Start-Process"sfc"-ArgumentList "/scannow"-NoNewWindow -Wait
}
2 {
Write-Host"Running DISM (Deployment Imaging Service and Management Tool)..."Start-Process"dism"-ArgumentList "/online /cleanup-image /restorehealth"-NoNewWindow -Wait
}
3 {
Write-Host"Running Check Disk (CHKDSK)..."Start-Process"chkdsk"-ArgumentList "/f /r"-NoNewWindow -Wait
}
4 {
Write-Host"Running Windows Update Troubleshooter..."Start-Process"msdt.exe"-ArgumentList "/id WindowsUpdateDiagnostic"-NoNewWindow -Wait
}
5 {
Write-Host"Resetting Windows Update Components..."Stop-Service-Name wuauserv -Force
Stop-Service-Name bits -Force
Remove-Item"$env:systemroot\SoftwareDistribution\*"-Recurse -Force
Start-Service-Name wuauserv
Start-Service-Name bits
Write-Host"Windows Update components have been reset."
}
6 {
Write-Host"Clearing Temp Files..."Remove-Item"$env:temp\*"-Recurse -Force
Remove-Item"$env:windir\Temp\*"-Recurse -Force
Write-Host"Temp files have been cleared."
}
7 {
Write-Host"Repairing Windows Store Apps..."Get-AppXPackage|ForEach-Object { Add-AppxPackage-DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" }
Write-Host"Windows Store apps have been repaired."
}
8 {
Write-Host"Flushing DNS Cache..."Start-Process"ipconfig"-ArgumentList "/flushdns"-NoNewWindow -Wait
Write-Host"DNS cache has been flushed."
}
9 {
Write-Host"Restarting Windows Explorer..."Stop-Process-Name explorer -Force
Start-Process"explorer"Write-Host"Windows Explorer has been restarted."
}
10 {
Write-Host"Scanning for Malware with Windows Defender..."Start-Process"mpcmdrun"-ArgumentList "-Scan -ScanType 1"-NoNewWindow -Wait
Write-Host"Malware scan completed."
}
11 {
Write-Host"Checking for Windows Updates..."Start-Process"wuauclt"-ArgumentList "/detectnow"-NoNewWindow -Wait
Write-Host"Windows Update check initiated."
}
12 {
Write-Host"Resetting Network Settings..."Start-Process"netsh"-ArgumentList "winsock reset"-NoNewWindow -Wait
Start-Process"netsh"-ArgumentList "int ip reset"-NoNewWindow -Wait
Write-Host"Network settings have been reset."
}
13 {
Write-Host"Uninstalling Recent Updates..."Get-HotFix|Sort-Object InstalledOn -Descending |Select-Object-First 5|ForEach-Object {
Start-Process"wusa"-ArgumentList "/uninstall /kb:$($_.HotFixID) /quiet"-NoNewWindow -Wait
}
Write-Host"Recent updates have been uninstalled."
}
14 {
Write-Host"Rebuilding Search Index..."Stop-Service-Name "WSearch"-Force
Remove-Item"$env:ProgramData\Microsoft\Search\Data\*"-Recurse -Force
Start-Service-Name "WSearch"Write-Host"Search index has been rebuilt."
}
15 {
Write-Host"Performing a System Restore..."Start-Process"rstrui"-NoNewWindow -Wait
Write-Host"System Restore launched."
}
16 {
Write-Host"Checking for Driver Updates..."Start-Process"devmgmt.msc"-NoNewWindow -Wait
Write-Host"Device Manager launched. Please check for driver updates manually."
}
17 {
Write-Host"Enabling Safe Mode..."Start-Process"bcdedit"-ArgumentList "/set {current} safeboot minimal"-NoNewWindow -Wait
Write-Host"Safe Mode has been enabled. Restart your computer to enter Safe Mode."
}
18 {
Write-Host"Disabling Startup Programs..."Start-Process"msconfig"-NoNewWindow -Wait
Write-Host"System Configuration launched. Please disable startup programs manually."
}
19 {
Verify-WindowsEventLogError
}
20 {
Write-Host"Running Disk Cleanup..."Start-Process"cleanmgr"-NoNewWindow -Wait
}
21 {
Install-WindowsManagementFramework
}
22 {
Install-PowerBI
}
23 {
Install-AzureDataStudio
}
24 {
Install-VSTA
}
25 {
Install-MMC
}
26 {
Install-ADK
}
27 {
Install-ADKWin10
}
28 {
Install-WindowsConfigurationDesigner
}
29 {
Install-GPMC
}
30 {
Install-WMI
}
31 {
Backup-RegistryKeys
}
32 {
Restore-RegistryKeys
}
33 {
Change-BIOSSettingsBCDEdit
}
34 {
Change-WindowsDateAndTime
}
35 {
Change-WindowsPowerSettings
}
36 {
Change-WindowsRegionSettings
}
37 {
Change-WindowsShellIcon
}
38 {
Change-WindowsDisplaySettings
}
39 {
Change-WindowsIMESettings
}
40 {
Change-WindowsNetworkAndSharingCenterSettings
}
41 {
Write-Host"Exiting script..."Exit
}
default {
Write-Host"Invalid choice. Please try again."
}
}
}
# Function to verify Windows Event Log for errorsfunctionVerify-WindowsEventLogError {
Write-Host"Checking Event Viewer for Errors..."Get-EventLog-LogName System -After (Get-Date).AddDays(-7) |Where-Object { $_.EntryType-eq'Error'-or$_.EntryType-eq'Critical' } |Select-Object-First 10Write-Host"Checked Event Viewer for errors. Review the output for any critical issues."
}
# Function to install Windows Management FrameworkfunctionInstall-WindowsManagementFramework {
Write-Host"Installing Windows Management Framework (WMF)... "Invoke-WebRequest"https://go.microsoft.com/fwlink/?linkid=2138039"-OutFile "$env:TEMP\WindowsManagementFrameworkSetup.exe"Start-Process"$env:TEMP\WindowsManagementFrameworkSetup.exe"-ArgumentList "/quiet /norestart"-Wait
Remove-Item"$env:TEMP\WindowsManagementFrameworkSetup.exe"Write-Host"Windows Management Framework has been installed."
}
# Function to install Power BI DesktopfunctionInstall-PowerBI {
Write-Host"Installing Power BI Desktop..."Invoke-WebRequest"https://go.microsoft.com/fwlink/?linkid=2136915"-OutFile "$env:TEMP\PowerBI.Desktop.msi"Start-Processmsiexec.exe-ArgumentList "/i $env:TEMP\PowerBI.Desktop.msi /quiet"-Wait
Remove-Item"$env:TEMP\PowerBI.Desktop.msi"Write-Host"Power BI Desktop has been installed."
}
# Function to install Azure Data StudiofunctionInstall-AzureDataStudio {
Write-Host"Installing Azure Data Studio..."Invoke-WebRequest"https://go.microsoft.com/fwlink/?LinkID=2059969"-OutFile "$env:TEMP\AzureDataStudioSetup.exe"Start-Process"$env:TEMP\AzureDataStudioSetup.exe"-ArgumentList "/q"-Wait
Remove-Item"$env:TEMP\AzureDataStudioSetup.exe"Write-Host"Azure Data Studio has been installed."
}
# Function to install Visual Studio Tools for Applications (VSTA)functionInstall-VSTA {
Write-Host"Installing Visual Studio Tools for Applications (VSTA)... "Invoke-WebRequest"https://go.microsoft.com/fwlink/?LinkID=2059968"-OutFile "$env:TEMP\VSTASetup.exe"Start-Process"$env:TEMP\VSTASetup.exe"-ArgumentList "/q"-Wait
Remove-Item"$env:TEMP\VSTASetup.exe"Write-Host"Visual Studio Tools for Applications has been installed."
}
# Function to install Microsoft Management Console (MMC)functionInstall-MMC {
Write-Host"Installing Microsoft Management Console (MMC)... "Invoke-WebRequest"https://go.microsoft.com/fwlink/?linkid=2138043"-OutFile "$env:TEMP\MMCSetup.exe"Start-Process"$env:TEMP\MMCSetup.exe"-ArgumentList "/q"-Wait
Remove-Item"$env:TEMP\MMCSetup.exe"Write-Host"Microsoft Management Console has been installed."
}
# Function to install Windows Assessment and Deployment Kit (ADK)functionInstall-ADK {
Write-Host"Installing Windows Assessment and Deployment Kit (ADK)... "Invoke-WebRequest"https://go.microsoft.com/fwlink/?linkid=2138041"-OutFile "$env:TEMP\ADKSetup.exe"Start-Process"$env:TEMP\ADKSetup.exe"-ArgumentList "/q"-Wait
Remove-Item"$env:TEMP\ADKSetup.exe"Write-Host"Windows Assessment and Deployment Kit has been installed."
}
# Function to install Windows Assessment and Deployment Kit (ADK) for Windows 10functionInstall-ADKWin10 {
Write-Host"Installing Windows Assessment and Deployment Kit (ADK) for Windows 10... "Invoke-WebRequest"https://go.microsoft.com/fwlink/?linkid=2138042"-OutFile "$env:TEMP\ADKSetup-Win10.exe"Start-Process"$env:TEMP\ADKSetup-Win10.exe"-ArgumentList "/q"-Wait
Remove-Item"$env:TEMP\ADKSetup-Win10.exe"Write-Host"Windows Assessment and Deployment Kit for Windows 10 has been installed."
}
# Function to install Windows Configuration DesignerfunctionInstall-WindowsConfigurationDesigner {
Write-Host"Installing Windows Configuration Designer... "Invoke-WebRequest"https://go.microsoft.com/fwlink/?linkid=2137995"-OutFile "$env:TEMP\WindowsConfigurationDesignerSetup.exe"Start-Process"$env:TEMP\WindowsConfigurationDesignerSetup.exe"-ArgumentList "/q"-Wait
Remove-Item"$env:TEMP\WindowsConfigurationDesignerSetup.exe"Write-Host"Windows Configuration Designer has been installed."
}
# Function to install Group Policy Management Console (GPMC)functionInstall-GPMC {
Write-Host"Installing Group Policy Management Console (GPMC)... "Invoke-WebRequest"https://go.microsoft.com/fwlink/?linkid=2137752"-OutFile "$env:TEMP\GPMCSetup.msi"Start-Processmsiexec.exe-ArgumentList "/i $env:TEMP\GPMCSetup.msi /quiet"-Wait
Remove-Item"$env:TEMP\GPMCSetup.msi"Write-Host"Group Policy Management Console has been installed."
}
# Function to install Windows Management Instrumentation (WMI)functionInstall-WMI {
Write-Host"Installing Windows Management Instrumentation (WMI)... "Invoke-WebRequest"https://go.microsoft.com/fwlink/?LinkID=2059967"-OutFile "$env:TEMP\WMIInstall.exe"Start-Process"$env:TEMP\WMIInstall.exe"-ArgumentList "/q"-Wait
Remove-Item"$env:TEMP\WMIInstall.exe"Write-Host"Windows Management Instrumentation has been installed."
}
# Function to backup registry keysfunctionBackup-RegistryKeys {
Write-Host"Backup Selected Registry Keys..."$regPaths=@(
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion""HKLM\SYSTEM\CurrentControlSet\Services\""HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion""HKCU\Software\Microsoft\Windows\CurrentVersion""HKCU\Software\Classes"
)
$timestamp=Get-Date-Format "yyyyMMdd_HHmmss"$backupPath="$env:TEMP\RegistryBackup_$timestamp.zip"Compress-Archive-Path $regPaths-DestinationPath $backupPath-Force
Write-Host"Registry keys have been backed up to $backupPath."
}
# Function to restore registry keysfunctionRestore-RegistryKeys {
Write-Host"Restore Selected Registry Keys..."$backupPath=Read-Host"Enter the path to the registry backup file"if (-Not (Test-Path$backupPath)) {
Write-Host"Backup file not found at $backupPath. Exiting..."Exit
}
Expand-Archive-Path $backupPath-DestinationPath $env:TEMP-Force
$regFiles=Get-ChildItem-Path $env:TEMP-Filter "*.zip"foreach ($regFilein$regFiles) {
if (-Not (Test-Path$regFile)) {
Write-Host"File not found: $regFile. Skipping..."continue
}
Expand-Archive-Path $regFile.FullName-DestinationPath $env:TEMP-Force
foreach ($regPathin (Get-ChildItem-Path $env:TEMP-Directory)) {
$regPath.FullName|Set-Content"$env:TEMP\regpath.txt"
reg load "HKLM\TempRegKey"$regPath.FullName
reg unreg load "HKLM\TempRegKey"$regPath.FullName
reg unreg unload "HKLM\TempRegKey"
}
}
Write-Host"Registry keys have been restored."
}
# Main Script Executionwhile ($true) {
Show-Menu$choice=Read-Host"Please select an option (1-41Reach maximum context length. Try to use English or/and shorten your requirement.### Additional information_No response_
The text was updated successfully, but these errors were encountered:
What would you like to share?
The text was updated successfully, but these errors were encountered: