Назад | Перейти на главную страницу

Отключить автоматическое обслуживание Windows Server 2016

При использовании 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

Когда я пытаюсь запустить это на сервере 2016, этих записей не существует. Я знаю, что это где-то, потому что TiWorker.exe съедает кучу CPU, делая то, что он делает. Кто-нибудь знает, где этот параметр в Server 2016?

При новой установке 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

Задача Диагностика кажется актуальной. Он использует собственный обработчик. Вы еще не вникали в это?

Похоже, эта задача не включена в Server 2016. Я проверил это при новой установке. Теперь Windows, похоже, запускает запланированные задачи обслуживания индивидуально.

Тот, который запускает tiworker, и тот, который я считаю наиболее навязчивым, - это задача SilentCleanup, которая запускает очистку диска независимо от того, мало места на диске или нет, вопреки ее описанию. Его можно найти в папке DiskCleanup. Я думаю, что собираюсь отключить эту задачу по всем направлениям, поскольку нет причин, по которым сервер должен запускать автоматическую очистку диска IMO.

Изменить: я нашел способ проверить, каковы все задачи обслуживания:

$MaintTasks = @()
foreach ($task in (Get-ScheduledTask))
{
if (($task | Export-ScheduledTask) -like “*maintenance*”) {$MaintTasks += $task}
}
$MaintTasks

Это отключит задание оптимизации диска (проверено на Windows Server 2016):

If ((Get-ScheduledTask -TaskName 'ScheduledDefrag').State -eq 'Ready') 
{
    Disable-ScheduledTask -TaskName 'ScheduledDefrag' -TaskPath '\Microsoft\Windows\Defrag'
}

Используйте PSEXEC. После загрузки PSEXEC откройте командную строку с повышенными разрешениями и введите:

psexec \%computername% -s schtasks /change /tn "MicrosoftWindowsTaskSchedulerMaintenance Configurator" /disable