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