diff options
author | Liang Qi <liang.qi@qt.io> | 2019-11-22 17:26:28 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2019-11-22 17:26:28 +0100 |
commit | 86b9edca68b6ea5867127756a791b7149fd7cdf5 (patch) | |
tree | 0e32b12d9ce492ca5b79b7fe23a38700d7bc8577 /coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1 | |
parent | ae27f21d2697edf0b513b2c52bb1ecbbe658053b (diff) | |
parent | b5c9819be2ec2983176d00466f561f8008fc51bd (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
coin/platform_configs/default.yaml
coin/platform_configs/qtbase.yaml
coin/platform_configs/qtconnectivity.yaml
Change-Id: I1f6b8dff622c3899b2d655108f638404b3bc2189
Diffstat (limited to 'coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1')
-rw-r--r-- | coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1 | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1 new file mode 100644 index 00000000..e76f0649 --- /dev/null +++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1 @@ -0,0 +1,72 @@ +############################################################################# +## +## Copyright (C) 2019 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# 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" +} |