aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common/windows/disable-windows-update-medic.ps1
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2019-11-11 10:52:16 +0100
committerSimon Hausmann <simon.hausmann@qt.io>2019-11-11 10:52:16 +0100
commitc85543f88df7268f63bcfd64220ba6c21797f27b (patch)
tree6a3311a969d068d2d05fc3d4f2544aff2cacf4a5 /coin/provisioning/common/windows/disable-windows-update-medic.ps1
parent4e5a86d2bbe6cd30e46a364f96a861b37bbf7f96 (diff)
parentae27f21d2697edf0b513b2c52bb1ecbbe658053b (diff)
Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts: coin/platform_configs/default.yaml coin/platform_configs/qt5.yaml coin/platform_configs/qtbase.yaml coin/platform_configs/qtdeclarative.yaml coin/platform_configs/qtsaferenderer.yaml coin/platform_configs/qtsdk.yaml coin/provisioning/common/linux/cmake_linux.sh coin/provisioning/common/windows/cmake.ps1 Change-Id: I37bb513e3be19e4de4003679f8528677e57c09ee
Diffstat (limited to 'coin/provisioning/common/windows/disable-windows-update-medic.ps1')
-rw-r--r--coin/provisioning/common/windows/disable-windows-update-medic.ps125
1 files changed, 25 insertions, 0 deletions
diff --git a/coin/provisioning/common/windows/disable-windows-update-medic.ps1 b/coin/provisioning/common/windows/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/provisioning/common/windows/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")