|
@@ -302,13 +302,13 @@ Function Protect-Privacy {
|
|
|
Set-Service "DiagTrack" -StartupType Disabled
|
|
|
|
|
|
|
|
|
- Write-Output "Removing CloudStore from registry if it exists"
|
|
|
- $CloudStore = 'HKCUSoftware\Microsoft\Windows\CurrentVersion\CloudStore'
|
|
|
- If (Test-Path $CloudStore) {
|
|
|
- Stop-Process Explorer.exe -Force
|
|
|
- Remove-Item $CloudStore
|
|
|
- Start-Process Explorer.exe -Wait
|
|
|
- }
|
|
|
+ Write-Output "Removing CloudStore from registry if it exists"
|
|
|
+ $CloudStore = 'HKCUSoftware\Microsoft\Windows\CurrentVersion\CloudStore'
|
|
|
+ If (Test-Path $CloudStore) {
|
|
|
+ Stop-Process Explorer.exe -Force
|
|
|
+ Remove-Item $CloudStore
|
|
|
+ Start-Process Explorer.exe -Wait
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Function DisableCortana {
|
|
@@ -487,14 +487,16 @@ Function Revert-Changes {
|
|
|
|
|
|
Function CheckDMWService {
|
|
|
|
|
|
- Param([switch]$Debloat)
|
|
|
+ Param([switch]$Debloat)
|
|
|
|
|
|
-If (Get-Service -Name dmwappushservice | Where-Object {$_.StartType -eq "Disabled"}) {
|
|
|
- Set-Service -Name dmwappushservice -StartupType Automatic}
|
|
|
+ If (Get-Service -Name dmwappushservice | Where-Object {$_.StartType -eq "Disabled"}) {
|
|
|
+ Set-Service -Name dmwappushservice -StartupType Automatic
|
|
|
+ }
|
|
|
|
|
|
-If(Get-Service -Name dmwappushservice | Where-Object {$_.Status -eq "Stopped"}) {
|
|
|
- Start-Service -Name dmwappushservice}
|
|
|
- }
|
|
|
+ If (Get-Service -Name dmwappushservice | Where-Object {$_.Status -eq "Stopped"}) {
|
|
|
+ Start-Service -Name dmwappushservice
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
Function Enable-EdgePDF {
|
|
|
Write-Output "Setting Edge back to default"
|
|
@@ -545,50 +547,41 @@ Function UninstallOneDrive {
|
|
|
Write-Host "Checking for pre-existing files and folders located in the OneDrive folders..."
|
|
|
Start-Sleep 1
|
|
|
If (Test-Path "$env:USERPROFILE\OneDrive\*") {
|
|
|
- Write-Host "Files found within the OneDrive folder! Checking to see if a folder named OneDriveBackupFiles exists."
|
|
|
- Start-Sleep 1
|
|
|
+ Write-Host "Files found within the OneDrive folder! Checking to see if a folder named OneDriveBackupFiles exists."
|
|
|
+ Start-Sleep 1
|
|
|
|
|
|
- If (Test-Path "$env:USERPROFILE\Desktop\OneDriveBackupFiles") {
|
|
|
- Write-Host "A folder named OneDriveBackupFiles already exists on your desktop. All files from your OneDrive location will be moved to that folder."
|
|
|
- }
|
|
|
- else {
|
|
|
- If (!(Test-Path "$env:USERPROFILE\Desktop\OneDriveBackupFiles")) {
|
|
|
- Write-Host "A folder named OneDriveBackupFiles will be created and will be located on your desktop. All files from your OneDrive location will be located in that folder."
|
|
|
- New-item -Path "$env:USERPROFILE\Desktop" -Name "OneDriveBackupFiles"-ItemType Directory -Force
|
|
|
- Write-Host "Successfully created the folder 'OneDriveBackupFiles' on your desktop."
|
|
|
- }
|
|
|
- }
|
|
|
- Start-Sleep 1
|
|
|
- Move-Item -Path "$env:USERPROFILE\OneDrive\*" -Destination "$env:USERPROFILE\Desktop\OneDriveBackupFiles" -Force
|
|
|
- Write-Host "Successfully moved all files/folders from your OneDrive folder to the folder 'OneDriveBackupFiles' on your desktop."
|
|
|
- Start-Sleep 1
|
|
|
- Write-Host "Proceeding with the removal of OneDrive."
|
|
|
- Start-Sleep 1
|
|
|
+ If (Test-Path "$env:USERPROFILE\Desktop\OneDriveBackupFiles") {
|
|
|
+ Write-Host "A folder named OneDriveBackupFiles already exists on your desktop. All files from your OneDrive location will be moved to that folder."
|
|
|
}
|
|
|
- Else {
|
|
|
- Write-Host "Either the OneDrive folder does not exist or there are no files to be found in the folder. Proceeding with removal of OneDrive."
|
|
|
- Start-Sleep 1
|
|
|
- Write-Host "Enabling the Group Policy 'Prevent the usage of OneDrive for File Storage'."
|
|
|
- $OneDriveKey = 'HKLM:Software\Policies\Microsoft\Windows\OneDrive'
|
|
|
- If (!(Test-Path $OneDriveKey)) {
|
|
|
- Mkdir $OneDriveKey
|
|
|
- Set-ItemProperty $OneDriveKey -Name OneDrive -Value DisableFileSyncNGSC
|
|
|
+ else {
|
|
|
+ If (!(Test-Path "$env:USERPROFILE\Desktop\OneDriveBackupFiles")) {
|
|
|
+ Write-Host "A folder named OneDriveBackupFiles will be created and will be located on your desktop. All files from your OneDrive location will be located in that folder."
|
|
|
+ New-item -Path "$env:USERPROFILE\Desktop" -Name "OneDriveBackupFiles"-ItemType Directory -Force
|
|
|
+ Write-Host "Successfully created the folder 'OneDriveBackupFiles' on your desktop."
|
|
|
}
|
|
|
+ }
|
|
|
+ Start-Sleep 1
|
|
|
+ Move-Item -Path "$env:USERPROFILE\OneDrive\*" -Destination "$env:USERPROFILE\Desktop\OneDriveBackupFiles" -Force
|
|
|
+ Write-Host "Successfully moved all files/folders from your OneDrive folder to the folder 'OneDriveBackupFiles' on your desktop."
|
|
|
+ Start-Sleep 1
|
|
|
+ Write-Host "Proceeding with the removal of OneDrive."
|
|
|
+ Start-Sleep 1
|
|
|
+ }
|
|
|
+ Else {
|
|
|
+ Write-Host "Either the OneDrive folder does not exist or there are no files to be found in the folder. Proceeding with removal of OneDrive."
|
|
|
+ Start-Sleep 1
|
|
|
+ Write-Host "Enabling the Group Policy 'Prevent the usage of OneDrive for File Storage'."
|
|
|
+ $OneDriveKey = 'HKLM:Software\Policies\Microsoft\Windows\OneDrive'
|
|
|
+ If (!(Test-Path $OneDriveKey)) {
|
|
|
+ Mkdir $OneDriveKey
|
|
|
Set-ItemProperty $OneDriveKey -Name OneDrive -Value DisableFileSyncNGSC
|
|
|
}
|
|
|
+ Set-ItemProperty $OneDriveKey -Name OneDrive -Value DisableFileSyncNGSC
|
|
|
+ }
|
|
|
|
|
|
- Write-Host "Uninstalling OneDrive. Please wait..."
|
|
|
+ Write-Host "Uninstalling OneDrive. Please wait..."
|
|
|
|
|
|
|
|
|
- New-PSDrive HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
|
|
|
- $onedrive = "$env:SYSTEMROOT\SysWOW64\OneDriveSetup.exe"
|
|
|
- $ExplorerReg1 = "HKCR:\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"
|
|
|
- $ExplorerReg2 = "HKCR:\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"
|
|
|
- Stop-Process -Name "OneDrive*"
|
|
|
- Start-Sleep 2
|
|
|
- If (!(Test-Path $onedrive)) {
|
|
|
- $onedrive = "$env:SYSTEMROOT\System32\OneDriveSetup.exe"
|
|
|
-
|
|
|
New-PSDrive HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
|
|
|
$onedrive = "$env:SYSTEMROOT\SysWOW64\OneDriveSetup.exe"
|
|
|
$ExplorerReg1 = "HKCR:\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"
|
|
@@ -597,33 +590,42 @@ Function UninstallOneDrive {
|
|
|
Start-Sleep 2
|
|
|
If (!(Test-Path $onedrive)) {
|
|
|
$onedrive = "$env:SYSTEMROOT\System32\OneDriveSetup.exe"
|
|
|
- }
|
|
|
- Start-Process $onedrive "/uninstall" -NoNewWindow -Wait
|
|
|
- Start-Sleep 2
|
|
|
- Write-Output "Stopping explorer"
|
|
|
- Start-Sleep 1
|
|
|
- taskkill.exe /F /IM explorer.exe
|
|
|
- Start-Sleep 3
|
|
|
- Write-Output "Removing leftover files"
|
|
|
- Remove-Item "$env:USERPROFILE\OneDrive" -Force -Recurse
|
|
|
- Remove-Item "$env:LOCALAPPDATA\Microsoft\OneDrive" -Force -Recurse
|
|
|
- Remove-Item "$env:PROGRAMDATA\Microsoft OneDrive" -Force -Recurse
|
|
|
- If (Test-Path "$env:SYSTEMDRIVE\OneDriveTemp") {
|
|
|
- Remove-Item "$env:SYSTEMDRIVE\OneDriveTemp" -Force -Recurse
|
|
|
- }
|
|
|
- Write-Output "Removing OneDrive from windows explorer"
|
|
|
- If (!(Test-Path $ExplorerReg1)) {
|
|
|
- New-Item $ExplorerReg1
|
|
|
- }
|
|
|
- Set-ItemProperty $ExplorerReg1 System.IsPinnedToNameSpaceTree -Value 0
|
|
|
- If (!(Test-Path $ExplorerReg2)) {
|
|
|
- New-Item $ExplorerReg2
|
|
|
- }
|
|
|
- Set-ItemProperty $ExplorerReg2 System.IsPinnedToNameSpaceTree -Value 0
|
|
|
- Write-Output "Restarting Explorer that was shut down before."
|
|
|
- Start-Process explorer.exe -NoNewWindow
|
|
|
+
|
|
|
+ New-PSDrive HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
|
|
|
+ $onedrive = "$env:SYSTEMROOT\SysWOW64\OneDriveSetup.exe"
|
|
|
+ $ExplorerReg1 = "HKCR:\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"
|
|
|
+ $ExplorerReg2 = "HKCR:\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"
|
|
|
+ Stop-Process -Name "OneDrive*"
|
|
|
+ Start-Sleep 2
|
|
|
+ If (!(Test-Path $onedrive)) {
|
|
|
+ $onedrive = "$env:SYSTEMROOT\System32\OneDriveSetup.exe"
|
|
|
+ }
|
|
|
+ Start-Process $onedrive "/uninstall" -NoNewWindow -Wait
|
|
|
+ Start-Sleep 2
|
|
|
+ Write-Output "Stopping explorer"
|
|
|
+ Start-Sleep 1
|
|
|
+ taskkill.exe /F /IM explorer.exe
|
|
|
+ Start-Sleep 3
|
|
|
+ Write-Output "Removing leftover files"
|
|
|
+ Remove-Item "$env:USERPROFILE\OneDrive" -Force -Recurse
|
|
|
+ Remove-Item "$env:LOCALAPPDATA\Microsoft\OneDrive" -Force -Recurse
|
|
|
+ Remove-Item "$env:PROGRAMDATA\Microsoft OneDrive" -Force -Recurse
|
|
|
+ If (Test-Path "$env:SYSTEMDRIVE\OneDriveTemp") {
|
|
|
+ Remove-Item "$env:SYSTEMDRIVE\OneDriveTemp" -Force -Recurse
|
|
|
+ }
|
|
|
+ Write-Output "Removing OneDrive from windows explorer"
|
|
|
+ If (!(Test-Path $ExplorerReg1)) {
|
|
|
+ New-Item $ExplorerReg1
|
|
|
+ }
|
|
|
+ Set-ItemProperty $ExplorerReg1 System.IsPinnedToNameSpaceTree -Value 0
|
|
|
+ If (!(Test-Path $ExplorerReg2)) {
|
|
|
+ New-Item $ExplorerReg2
|
|
|
+ }
|
|
|
+ Set-ItemProperty $ExplorerReg2 System.IsPinnedToNameSpaceTree -Value 0
|
|
|
+ Write-Output "Restarting Explorer that was shut down before."
|
|
|
+ Start-Process explorer.exe -NoNewWindow
|
|
|
|
|
|
- Write-Host "Enabling the Group Policy 'Prevent the usage of OneDrive for File Storage'."
|
|
|
+ Write-Host "Enabling the Group Policy 'Prevent the usage of OneDrive for File Storage'."
|
|
|
$OneDriveKey = 'HKLM:Software\Policies\Microsoft\Windows\OneDrive'
|
|
|
If (!(Test-Path $OneDriveKey)) {
|
|
|
Mkdir $OneDriveKey
|
|
@@ -659,22 +661,23 @@ Function UninstallOneDrive {
|
|
|
Write-Host "Restarting Explorer that was shut down before."
|
|
|
Start-Process explorer.exe -NoNewWindow
|
|
|
Write-Host "OneDrive has been successfully uninstalled!"
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Function UnpinStart {
|
|
|
-#https://superuser.com/questions/1068382/how-to-remove-all-the-tiles-in-the-windows-10-start-menu
|
|
|
-#Unpins all tiles from the Start Menu
|
|
|
+ #https://superuser.com/questions/1068382/how-to-remove-all-the-tiles-in-the-windows-10-start-menu
|
|
|
+ #Unpins all tiles from the Start Menu
|
|
|
Write-Host "Unpinning all tiles from the start menu"
|
|
|
(New-Object -Com Shell.Application).
|
|
|
NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').
|
|
|
Items() |
|
|
|
- %{ $_.Verbs() } |
|
|
|
- ?{$_.Name -match 'Un.*pin from Start'} |
|
|
|
- %{$_.DoIt()}
|
|
|
+ % { $_.Verbs() } |
|
|
|
+ ? {$_.Name -match 'Un.*pin from Start'} |
|
|
|
+ % {$_.DoIt()}
|
|
|
}
|
|
|
|
|
|
Function Remove3dObjects {
|
|
|
-#Removes 3D Objects from the 'My Computer' submenu in explorer
|
|
|
+ #Removes 3D Objects from the 'My Computer' submenu in explorer
|
|
|
Write-Host "Removing 3D Objects from explorer 'My Computer' submenu"
|
|
|
$Objects32 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}"
|
|
|
$Objects64 = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}"
|
|
@@ -687,7 +690,7 @@ Function Remove3dObjects {
|
|
|
}
|
|
|
|
|
|
Function Restore3dObjects {
|
|
|
-#Restores 3D Objects from the 'My Computer' submenu in explorer
|
|
|
+ #Restores 3D Objects from the 'My Computer' submenu in explorer
|
|
|
Write-Host "Restoring 3D Objects from explorer 'My Computer' submenu"
|
|
|
$Objects32 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}"
|
|
|
$Objects64 = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}"
|
|
@@ -819,15 +822,15 @@ Switch ($Prompt1) {
|
|
|
Write-Host "You have chosen to skip removing OneDrive from your machine."
|
|
|
}
|
|
|
}
|
|
|
- #Prompt asking if you'd like to unpin all start items
|
|
|
- $Prompt5 = [Windows.MessageBox]::Show($Unpin, "Unpin", $Button, $ErrorIco)
|
|
|
+ #Prompt asking if you'd like to unpin all start items
|
|
|
+ $Prompt5 = [Windows.MessageBox]::Show($Unpin, "Unpin", $Button, $ErrorIco)
|
|
|
Switch ($Prompt5) {
|
|
|
Yes {
|
|
|
UnpinStart
|
|
|
- Write-Host "Start Apps unpined."
|
|
|
+ Write-Host "Start Apps unpined."
|
|
|
}
|
|
|
No {
|
|
|
- Write-Host "Apps will remain pinned to the start menu."
|
|
|
+ Write-Host "Apps will remain pinned to the start menu."
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -838,11 +841,11 @@ Switch ($Prompt1) {
|
|
|
Write-Host "Initializing the installation of .NET 3.5..."
|
|
|
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
|
|
|
Write-Host ".NET 3.5 has been successfully installed!"
|
|
|
- }
|
|
|
+ }
|
|
|
No {
|
|
|
Write-Host "Skipping .NET install."
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
#Prompt asking if you'd like to reboot your machine
|
|
|
$Prompt7 = [Windows.MessageBox]::Show($Reboot, "Reboot", $Button, $Warn)
|
|
|
Switch ($Prompt7) {
|
|
@@ -868,42 +871,42 @@ Switch ($Prompt1) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- No {
|
|
|
- Write-Host "Reverting changes..."
|
|
|
- Write-Host "Creating PSDrive 'HKCR' (HKEY_CLASSES_ROOT). This will be used for the duration of the script as it is necessary for the modification of specific registry keys."
|
|
|
- New-PSDrive HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
|
|
|
- Revert-Changes
|
|
|
- #Prompt asking to revert edge changes as well
|
|
|
- $Prompt6 = [Windows.MessageBox]::Show($EdgePdf2, "Revert Edge", $Button, $ErrorIco)
|
|
|
- Switch ($Prompt6) {
|
|
|
- Yes {
|
|
|
- Enable-EdgePDF
|
|
|
- Write-Host "Edge will no longer be disabled from being used as the default Edge PDF viewer."
|
|
|
- }
|
|
|
- No {
|
|
|
- Write-Host "You have chosen to keep the setting that disallows Edge to be the default PDF viewer."
|
|
|
- }
|
|
|
+No {
|
|
|
+ Write-Host "Reverting changes..."
|
|
|
+ Write-Host "Creating PSDrive 'HKCR' (HKEY_CLASSES_ROOT). This will be used for the duration of the script as it is necessary for the modification of specific registry keys."
|
|
|
+ New-PSDrive HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
|
|
|
+ Revert-Changes
|
|
|
+ #Prompt asking to revert edge changes as well
|
|
|
+ $Prompt6 = [Windows.MessageBox]::Show($EdgePdf2, "Revert Edge", $Button, $ErrorIco)
|
|
|
+ Switch ($Prompt6) {
|
|
|
+ Yes {
|
|
|
+ Enable-EdgePDF
|
|
|
+ Write-Host "Edge will no longer be disabled from being used as the default Edge PDF viewer."
|
|
|
}
|
|
|
- #Prompt asking if you'd like to reboot your machine
|
|
|
- $Prompt7 = [Windows.MessageBox]::Show($Reboot, "Reboot", $Button, $Warn)
|
|
|
- Switch ($Prompt7) {
|
|
|
- Yes {
|
|
|
- Write-Host "Unloading the HKCR drive..."
|
|
|
- Remove-PSDrive HKCR
|
|
|
- Start-Sleep 1
|
|
|
- Write-Host "Initiating reboot."
|
|
|
- Stop-Transcript
|
|
|
- Start-Sleep 2
|
|
|
- Restart-Computer
|
|
|
- }
|
|
|
- No {
|
|
|
- Write-Host "Unloading the HKCR drive..."
|
|
|
- Remove-PSDrive HKCR
|
|
|
- Start-Sleep 1
|
|
|
- Write-Host "Script has finished. Exiting."
|
|
|
- Stop-Transcript
|
|
|
- Start-Sleep 2
|
|
|
- Exit
|
|
|
- }
|
|
|
+ No {
|
|
|
+ Write-Host "You have chosen to keep the setting that disallows Edge to be the default PDF viewer."
|
|
|
}
|
|
|
}
|
|
|
+ #Prompt asking if you'd like to reboot your machine
|
|
|
+ $Prompt7 = [Windows.MessageBox]::Show($Reboot, "Reboot", $Button, $Warn)
|
|
|
+ Switch ($Prompt7) {
|
|
|
+ Yes {
|
|
|
+ Write-Host "Unloading the HKCR drive..."
|
|
|
+ Remove-PSDrive HKCR
|
|
|
+ Start-Sleep 1
|
|
|
+ Write-Host "Initiating reboot."
|
|
|
+ Stop-Transcript
|
|
|
+ Start-Sleep 2
|
|
|
+ Restart-Computer
|
|
|
+ }
|
|
|
+ No {
|
|
|
+ Write-Host "Unloading the HKCR drive..."
|
|
|
+ Remove-PSDrive HKCR
|
|
|
+ Start-Sleep 1
|
|
|
+ Write-Host "Script has finished. Exiting."
|
|
|
+ Stop-Transcript
|
|
|
+ Start-Sleep 2
|
|
|
+ Exit
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|