При использовании Server 2012 я отключил (зловредную) задачу автоматического обслуживания с помощью следующих команд (первоначально найдено здесь):
psexec \\SERVERNAME -s schtasks /change /tn "\Microsoft\Windows\TaskScheduler\Maintenance Configurator" /DISABLE
psexec -s schtasks /change /tn "\Microsoft\Windows\TaskScheduler\Maintenance Configurator" /DISABLE
Когда я пытаюсь запустить это на Server 2016, эти записи не существуют. Я знаю, что это где-то есть, потому что TiWorker.exe съедает кучу ресурсов ЦП, делая то, что он делает. Кто-нибудь знает, где эта настройка в Server 2016?
решение1
Похоже, эта задача не включена в Server 2016. Я проверил это на новой установке. Похоже, Windows теперь запускает запланированные задачи обслуживания по отдельности.
Тот, который запускает tiworker, и тот, который я нахожу наиболее навязчивым, — это задача SilentCleanup, которая запускает очистку диска независимо от того, мало места на диске или нет, вопреки его описанию. Его можно найти в папке DiskCleanup. Я думаю, что отключу эту задачу по всем направлениям, поскольку, по моему мнению, нет причин, по которым сервер должен запускать автоматическую очистку диска.
Редактировать: Я нашел способ проверить, какие задачи по техническому обслуживанию выполняются:
$MaintTasks = @()
foreach ($task in (Get-ScheduledTask))
{
if (($task | Export-ScheduledTask) -like “*maintenance*”) {$MaintTasks += $task}
}
$MaintTasks
решение2
На новой установке WS 2016:
Get-ScheduledTask | Where-Object -Property Description -Match "maint"
TaskPath TaskName State
-------- -------- -----
\Microsoft\Windows\ApplicationData\ DsSvcCleanup Ready
\Microsoft\Windows\Diagnosis\ Scheduled Ready
\Microsoft\Windows\DiskCleanup\ SilentCleanup Ready
\Microsoft\Windows\Windows Defender\ Windows Defender Cache Mainten... Ready
Задача «Диагностика» кажется релевантной. Она использует пользовательский обработчик. Вы уже вникали в это?
решение3
Это отключит задание оптимизации диска (проверено на Windows Server 2016):
If ((Get-ScheduledTask -TaskName 'ScheduledDefrag').State -eq 'Ready')
{
Disable-ScheduledTask -TaskName 'ScheduledDefrag' -TaskPath '\Microsoft\Windows\Defrag'
}
решение4
Используйте PSEXEC. После загрузки PSEXEC откройте командную строку с повышенными правами и введите:
psexec \%computername% -s schtasks /change /tn "MicrosoftWindowsTaskSchedulerMaintenance Configurator" /disable