Schedule antivirus scans using PowerShell

Applies to:

This article describes how to configure scheduled scans using PowerShell cmdlets. To learn more about scheduling scans and about scan types, see Configure scheduled quick or full Microsoft Defender Antivirus scans.

Use PowerShell cmdlets to schedule scans

Use the following cmdlets:

Set-MpPreference -ScanParameters
Set-MpPreference -ScanScheduleDay
Set-MpPreference -ScanScheduleTime
Set-MpPreference -RandomizeScheduleTaskTimes

For more information, see Use PowerShell cmdlets to configure and run Microsoft Defender Antivirus and Defender cmdlets for more information on how to use PowerShell with Microsoft Defender Antivirus.

PowerShell cmdlets for scheduling scans when an endpoint is not in use

Use the following cmdlets:

Set-MpPreference -ScanOnlyIfIdleEnabled

For more information, see Use PowerShell cmdlets to configure and run Microsoft Defender Antivirus and Defender cmdlets.

Note

When you schedule scans for times when endpoints are not in use, scans do not honor the CPU throttling configuration and will take full advantage of the resources available to complete the scan as fast as possible.

PowerShell cmdlets for scheduling scans to complete remediation

Use the following cmdlets:

Set-MpPreference -RemediationScheduleDay
Set-MpPreference -RemediationScheduleTime

See Use PowerShell cmdlets to configure and run Microsoft Defender Antivirus and Defender cmdlets for more information on how to use PowerShell with Microsoft Defender Antivirus.

PowerShell cmdlets for scheduling daily scans

Use the following cmdlets:

Set-MpPreference -ScanScheduleQuickScanTime

For more information about how to use PowerShell with Microsoft Defender Antivirus, see Use PowerShell cmdlets to configure and run Microsoft Defender Antivirus and Defender cmdlets.