![Windows Server 2016 の自動メンテナンスを無効にする](https://rvso.com/image/697362/Windows%20Server%202016%20%E3%81%AE%E8%87%AA%E5%8B%95%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B.png)
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 でこの設定がどこにあるか知っている人はいませんか?
答え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