web-dev-qa-db-ja.com

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

Server 2016でこれを実行しようとすると、これらのエントリは存在しません。 TiWorker.exeがCPUを大量に消費して、何をするのかを知っています。この設定がServer 2016のどこにあるか誰か知っていますか?

7
Shaun Bowe

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

診断タスクは関連しているようです。カスタムハンドラーを使用しています。もう掘り下げましたか?

1
t3hcr

そのタスクはServer 2016に含まれていないようです。新規インストールでこれを確認しました。現在、Windowsはメンテナンススケジュールタスクを個別に実行しているようです。

Tiworkerを実行するものと、私が最も煩わしいと思うのはSilentCleanupタスクです。このタスクは、ディスクスペースが少ないかどうかに関係なく、ディスククリーンアップを実行します。これは、DiskCleanupフォルダーの下にあります。サーバーが自動ディスククリーンアップIMOを実行する必要がある理由はないので、このタスクを全面的に無効にするつもりです。

編集:すべてのメンテナンスタスクを確認する方法を見つけました:

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

これにより、ディスク最適化ジョブが無効になります(Windows Server 2016でテスト済み)。

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