aboutsummaryrefslogtreecommitdiffstats
path: root/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps1')
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps125
1 files changed, 25 insertions, 0 deletions
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps1
@@ -0,0 +1,25 @@
+# Windows Update Medic Service (WaaSMedicSvc)'PerformRemediation' helps recover update-related services to the supported configuration.
+# WaasMedicSvc keeps re-starting Windows Update, even if it disabled manually.
+# Even Admin user don't have privileged to disable PerformRemediation from Task Scheduler which means that WaaSMedicSvc.dll need's to be removed from the system
+
+$limit = (Get-Date).AddMinutes(20)
+$path = "C:\Windows\System32\WaaSMedicSvc.dll"
+
+DO {
+ takeown /F $path
+ icacls $path /grant Administrators:f
+ Write-host "Deleting $path"
+
+ Try {
+ del $path
+ }
+ Catch [System.UnauthorizedAccessException] {
+ Write-host "Access to the path '$path' is denied."
+ Continue
+ }
+
+ if ((Get-Date) -gt $limit) {
+ exit 1
+ }
+
+}while (Test-Path -Path "$path")