Files
qt5/coin/pre-provisioning/qtci-windows-11_23H2-aarch64/disable-defragment.ps1
Tero Heikkinen ad7ab32f44 Add Windows 11 23h2 ARM with non-blocking tests in CI
New targets:
  - windows-11_23h2-arm64-msvc2022
  - windows-11-x86_64-arm64-tests-23H2

With latest versions
  - Visual Studio Professional 2022: 17.14.7
  - MSVC: 14.44.35207

OpenGL is still disabled, but 'OpenCL, OpenGL, and Vulkan
Compatibility pack' has been installed to WoA 11 23h2 Tier1
image to support OpenGL usage with QtWebengine, Qt3D etc.

These targets will be added later:
  - windows-11_23h2-arm64-msvc2022-minimal-static-test
  - Windows-MSVC2022-arm64_Static-23H2

[CI Platforms]

Task-number: QTQAINFRA-6973
Pick-to: 6.9
Change-Id: I049f84ad7df91cd62e7f40044d8ef40705ac34e1
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 657ac0bcbb)
2025-07-04 11:13:29 +03:00

43 lines
1.7 KiB
PowerShell

# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Windows 7 does not have Get-ScheduledTask and Unregister-ScheduledTask
# thus needing its own version.
Write-Host "Disabling defragmentation"
$version = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption
if ($version -like '*Windows 7*'){
$pi = New-Object System.Diagnostics.ProcessStartInfo
$pi.FileName = "C:\Windows\System32\schtasks.exe"
$pi.RedirectStandardError = $true
$pi.UseShellExecute = $false
$pi.Arguments = "/Delete /TN `"\Microsoft\Windows\Defrag\ScheduledDefrag`" /F"
$prog = New-Object System.Diagnostics.Process
$prog.StartInfo = $pi
$prog.Start() | Out-Null
$err = $prog.StandardError.ReadToEnd()
$prog.WaitForExit()
if ($prog.ExitCode -eq 0){
Write-Host "Scheduled defragmentation removed"
} else {
if ($err -like '*cannot find the file*'){
Write-Host "No scheduled defragmentation task found"
exit 0
} else {
Write-Host "Error while deleting scheduled defragmentation task: $err"
}
}
}
else {
try {
$state = (Get-ScheduledTask -ErrorAction Stop -TaskName "ScheduledDefrag").State
Write-Host "Scheduled defragmentation task found in state: $state"
}
catch {
Write-Host "No scheduled defragmentation task found"
exit 0
}
Write-Host "Unregistering scheduled defragmentation task"
Unregister-ScheduledTask -ErrorAction Stop -Confirm:$false -TaskName ScheduledDefrag
Write-Host "Scheduled Defragmentation task was cancelled"
}