Set-MpPreference

Configures preferences for Windows Defender scans and updates.

Note

You need to run this cmdlet in an elevated PowerShell window (a PowerShell window you opened by selecting Run as administrator).

Syntax

Set-MpPreference
   [-AllowDatagramProcessingOnWinServer <Boolean>]
   [-AllowNetworkProtectionDownLevel <Boolean>]
   [-AllowNetworkProtectionOnWinServer <Boolean>]
   [-AllowSwitchToAsyncInspection <Boolean>]
   [-AsJob]
   [-AttackSurfaceReductionOnlyExclusions <String[]>]
   [-AttackSurfaceReductionRules_Actions <ASRRuleActionType[]>]
   [-AttackSurfaceReductionRules_Ids <String[]>]
   [-CheckForSignaturesBeforeRunningScan <Boolean>]
   [-CimSession <CimSession[]>]
   [-CloudBlockLevel <CloudBlockLevelType>]
   [-CloudExtendedTimeout <UInt32>]
   [-ControlledFolderAccessAllowedApplications <String[]>]
   [-ControlledFolderAccessProtectedFolders <String[]>]
   [-DefinitionUpdatesChannel <DefinitionUpdatesChannelType>]
   [-DisableArchiveScanning <Boolean>]
   [-DisableAutoExclusions <Boolean>]
   [-DisableBehaviorMonitoring <Boolean>]
   [-DisableBlockAtFirstSeen <Boolean>]
   [-DisableCacheMaintenance <Boolean>]
   [-DisableCatchupFullScan <Boolean>]
   [-DisableCatchupQuickScan <Boolean>]
   [-DisableCpuThrottleOnIdleScans <Boolean>]
   [-DisableDatagramProcessing <Boolean>]
   [-DisableDnsOverTcpParsing <Boolean>]
   [-DisableDnsParsing <Boolean>]
   [-DisableEmailScanning <Boolean>]
   [-DisableFtpParsing <Boolean>]
   [-DisableGradualRelease <Boolean>]
   [-DisableHttpParsing <Boolean>]
   [-DisableInboundConnectionFiltering <Boolean>]
   [-DisableIOAVProtection <Boolean>]
   [-DisableNetworkProtectionPerfTelemetry <Boolean>]
   [-DisablePrivacyMode <Boolean>]
   [-DisableRdpParsing <Boolean>]
   [-DisableRealtimeMonitoring <Boolean>]
   [-DisableRemovableDriveScanning <Boolean>]
   [-DisableRestorePoint <Boolean>]
   [-DisableScanningMappedNetworkDrivesForFullScan <Boolean>]
   [-DisableScanningNetworkFiles <Boolean>]
   [-DisableScriptScanning <Boolean>]
   [-DisableSmtpParsing <Boolean>]
   [-DisableSshParsing <Boolean>]
   [-DisableTlsParsing <Boolean>]
   [-EnableControlledFolderAccess <ControlledFolderAccessType>]
   [-EnableConvertWarnToBlock <Boolean>]
   [-EnableDnsSinkhole <Boolean>]
   [-EnableFileHashComputation <Boolean>]
   [-EnableFullScanOnBatteryPower <Boolean>]
   [-EnableLowCpuPriority <Boolean>]
   [-EnableNetworkProtection <ASRRuleActionType>]
   [-EnableUdpReceiveOffload <Boolean>]
   [-EnableUdpSegmentationOffload <Boolean>]
   [-EngineUpdatesChannel <UpdatesChannelType>]
   [-ExclusionExtension <String[]>]
   [-ExclusionIpAddress <String[]>]
   [-ExclusionPath <String[]>]
   [-ExclusionProcess <String[]>]
   [-Force]
   [-ForceUseProxyOnly <Boolean>]
   [-HighThreatDefaultAction <ThreatAction>]
   [-IntelTDTEnabled <Boolean>]
   [-LowThreatDefaultAction <ThreatAction>]
   [-MAPSReporting <MAPSReportingType>]
   [-MeteredConnectionUpdates <Boolean>]
   [-ModerateThreatDefaultAction <ThreatAction>]
   [-OobeEnableRtpAndSigUpdate <Boolean>]
   [-PlatformUpdatesChannel <UpdatesChannelType>]
   [-ProxyBypass <String[]>]
   [-ProxyPacUrl <String>]
   [-ProxyServer <String>]
   [-PUAProtection <PUAProtectionType>]
   [-QuarantinePurgeItemsAfterDelay <UInt32>]
   [-RandomizeScheduleTaskTimes <Boolean>]
   [-RealTimeScanDirection <ScanDirection>]
   [-RemediationScheduleDay <Day>]
   [-RemediationScheduleTime <DateTime>]
   [-ReportingAdditionalActionTimeOut <UInt32>]
   [-ReportingCriticalFailureTimeOut <UInt32>]
   [-ReportingNonCriticalTimeOut <UInt32>]
   [-ScanAvgCPULoadFactor <Byte>]
   [-ScanOnlyIfIdleEnabled <Boolean>]
   [-ScanParameters <ScanType>]
   [-ScanPurgeItemsAfterDelay <UInt32>]
   [-ScanScheduleDay <Day>]
   [-ScanScheduleOffset <UInt32>]
   [-ScanScheduleQuickScanTime <DateTime>]
   [-ScanScheduleTime <DateTime>]
   [-SchedulerRandomizationTime <UInt32>]
   [-ServiceHealthReportInterval <UInt32>]
   [-SevereThreatDefaultAction <ThreatAction>]
   [-SharedSignaturesPath <String>]
   [-SignatureAuGracePeriod <UInt32>]
   [-SignatureBlobFileSharesSources <String>]
   [-SignatureBlobUpdateInterval <UInt32>]
   [-SignatureDefinitionUpdateFileSharesSources <String>]
   [-SignatureDisableUpdateOnStartupWithoutEngine <Boolean>]
   [-SignatureFallbackOrder <String>]
   [-SignatureFirstAuGracePeriod <UInt32>]
   [-SignatureScheduleDay <Day>]
   [-SignatureScheduleTime <DateTime>]
   [-SignatureUpdateCatchupInterval <UInt32>]
   [-SignatureUpdateInterval <UInt32>]
   [-SubmitSamplesConsent <SubmitSamplesConsentType>]
   [-ThreatIDDefaultAction_Actions <ThreatAction[]>]
   [-ThreatIDDefaultAction_Ids <Int64[]>]
   [-ThrottleForScheduledScanOnly <Boolean>]
   [-ThrottleLimit <Int32>]
   [-UILockdown <Boolean>]
   [-UnknownThreatDefaultAction <ThreatAction>]
   [<CommonParameters>]

Description

The Set-MpPreference cmdlet configures preferences for Windows Defender scans and updates. You can modify exclusion file name extensions, paths, or processes, and specify the default action for high, moderate, and low threat levels.

REMEDIATION VALUES:

The following table provides remediation action values for detected threats at low, medium, high, and severe alert levels.

Value Action
0 (NULL) Apply action based on the Security Intelligence Update (SIU). This is the default value.
1 Clean the detected threat.
2 Quarantine the detected threat.
3 Remove the detected threat.
6 Allow the detected threat.
8 Allow the user to determine the action to take with the detected threat.
9 Don't take any action.
10 Block the detected threat.

Examples

Example 1: Schedule to check for definition updates everyday

PS C:\> Set-MpPreference -SignatureScheduleDay Everyday

This command configures preferences to check for definition updates every day.

Example 2: Schedule a time of day to check for definition updates

PS C:\> Set-MpPreference -SignatureScheduleTime 02:00:00

This command configures preferences to check for definition updates 120 minutes after midnight on days when it's scheduled to check.

Parameters

-AllowDatagramProcessingOnWinServer

Specifies whether to disable the inspection of UDP connections on Windows Server. Valid values are:

  • $true: The inspection of UDP connections is enabled.
  • $false: The inspection of UDP connections is disabled.
Type:Boolean
Aliases:adpows
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowNetworkProtectionDownLevel

Specifies whether network protection on Windows Server 2016 or Windows Server 2012 R2 is controlled by the EnableNetworkProtection parameter. Valid values are:

  • $true: Network protection is controlled by the EnableNetworkProtection parameter (Enabled, Disabled, or AuditMode).

    Tip: For Windows Server 2016 or Windows Server 2012 R2, you also need to set the AllowNetworkProtectionOnWinServer parameter to the value $true.

  • $false: Network protection isn't controlled by the EnableNetworkProtection parameter.

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:anpdl
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowNetworkProtectionOnWinServer

Specifies whether network protection on Windows Server is controlled by the EnableNetworkProtection parameter. Valid values are:

  • $true: Network protection is controlled by the EnableNetworkProtection parameter (Enabled, Disabled, or AuditMode).

    Tip: For Windows Server 2016 or Windows Server 2012 R2, you also need to set the AllowNetworkProtectionDownLevel parameter to the value $true.

  • $false: Network protection isn't controlled by the EnableNetworkProtection parameter.

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:anpws
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowSwitchToAsyncInspection

Specifies whether to enable a performance optimization that allows synchronously inspected network flows to switch to async inspection once they have been checked and validated. Valid values are:

  • $true: Allow synchronously inspected network flows to switch to async inspection once they have been checked and validated.
  • $false: Don't allow synchronously inspected network flows to switch to async inspection once they have been checked and validated.
Type:Boolean
Position:Named
Default value:Enabled
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

The cmdlet immediately returns an object that represents the job and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the *-Job cmdlets. To get the job results, use the Receive-Job cmdlet.

For more information about Windows PowerShell background jobs, see about_Jobs.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AttackSurfaceReductionOnlyExclusions

Specifies the folders or files to exclude from Attack Surface Reduction (ASR) rules. Enter a folder path or a fully qualified resource name. For example:

  • "C:\Windows" excludes all files in that folder.
  • "C:\Windows\App.exe" excludes only that specific file in that specific folder.

To replace all existing values with the values you specify, use the following syntax: "Value1","Value2",..."ValueN".

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -AttackSurfaceReductionOnlyExclusions "Value1","Value2",..."ValueN"

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -AttackSurfaceReductionOnlyExclusions "Value1","Value2",..."ValueN"

For more information, see Exclude files and folders from attack surface reduction rules.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AttackSurfaceReductionRules_Actions

Use the AttackSurfaceReductionRules_Ids and AttackSurfaceReductionRules_Actions parameters together in the same command to specify the states of attack surface reduction (ASR) rules.

  • The AttackSurfaceReductionRules_Ids parameter identifies the ASR rule by GUID value. For example, the GUID value of the "Block Office communication application from creating child processes" ASR rule is 26190899-1602-49e8-8b27-eb1d0a1ce869. For more information, see ASR rule to GUID matrix.

  • The AttackSurfaceReductionRules_Actions parameter identifies ASR rule action. Valid values are:

    • 0 or Deactivated

    • 1 or Activated

    • 2 or Audit mode

    • 6 or Warning

To replace all existing values with the values you specify, use the following syntax:

Set-MpPreference -AttackSurfaceReductionRules_Ids Rule1,Rule2,...RuleN -AttackSurfaceReductionRules_Actions Action1,Action2,...ActionN

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -AttackSurfaceReductionRules_Ids Rule1,Rule2,...RuleN -AttackSurfaceReductionRules_Actions Action1,Action2,...ActionN

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -AttackSurfaceReductionRules_Ids Rule1,Rule2,...RuleN -AttackSurfaceReductionRules_Actions Action1,Action2,...ActionN

Type:ASRRuleActionType[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AttackSurfaceReductionRules_Ids

Use the AttackSurfaceReductionRules_Ids and AttackSurfaceReductionRules_Actions parameters together in the same command to specify the states of attack surface reduction (ASR) rules.

  • The AttackSurfaceReductionRules_Ids parameter identifies the ASR rule by GUID value. For example, the GUID value of the "Block Office communication application from creating child processes" ASR rule is 26190899-1602-49e8-8b27-eb1d0a1ce869. For more information, see ASR rule to GUID matrix.

  • The AttackSurfaceReductionRules_Actions parameter identifies ASR rule action for the

  • corresponding ASR rule. Valid values are:

    • 0 or Disabled

    • 1 or Enabled

    • 2 or AuditMode

    • 5 or NotConfigured

    • 6 or Warn

To replace all existing values with the values you specify, use the following syntax:

Set-MpPreference -AttackSurfaceReductionRules_Ids Rule1,Rule2,...RuleN -AttackSurfaceReductionRules_Actions Action1,Action2,...ActionN

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -AttackSurfaceReductionRules_Ids Rule1,Rule2,...RuleN -AttackSurfaceReductionRules_Actions Action1,Action2,...ActionN

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -AttackSurfaceReductionRules_Ids Rule1,Rule2,...RuleN -AttackSurfaceReductionRules_Actions Action1,Action2,...ActionN

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CheckForSignaturesBeforeRunningScan

Specifies whether to check for new virus and spyware definitions before Windows Defender runs a scan. Valid values are:

  • $true: Windows Defender checks for new definitions before running a scan.
  • $false: The scan begins with the existing definitions. This is the default value.

This parameter applies to scheduled scans, but it has no effect on scans initiated manually from the user interface from the command line using mpcmdrun -Scan.

Type:Boolean
Aliases:csbr
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Runs the cmdlet in a remote session or on a remote computer that were created by the New-CimSession cmdlet and specified by the Get-CimSession cmdlet. For example:

Set-MpPreference -CimSession (Get-CimSession -ID 1),(Get-CimSession -ID 2),...(Get-CimSession -ID N)

or

Set-MpPreference -CimSession (Get-CimSession -ID Server1),(Get-CimSession -ID Server2),...(Get-CimSession -ID ServerN)

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CloudBlockLevel

Specifies the cloud block level that determines how aggressively Microsoft Defender Antivirus scans and blocks suspicious files. Valid values are:

  • 0 or Default
  • 1 or Moderate
  • 2 or High
  • 4 or HighPlus
  • 6 or ZeroTolerance
Type:CloudBlockLevelType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CloudExtendedTimeout

Specifies the amount of extended time in seconds to block a suspicious file and scan it in the cloud. A valid value is an integer from 0 to 4294967295. The default value is 10 seconds.

Type:UInt32
Aliases:cloudextimeout
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ControlledFolderAccessAllowedApplications

Specifies the path and filename of applications that are allowed to make changes in controlled folders. You can use absolute folder paths (for example C;\Windows\... or environment variables (for example, %appdata%...) for path names.

To replace all existing values with the values you specify, use the following syntax: "PathAndFileName1","PathAndFileName2",..."PathAndFileNameN".

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -ControlledFolderAccessAllowedApplications "PathAndFileName1","PathAndFileName2",..."PathAndFileNameN"

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -ControlledFolderAccessAllowedApplications "PathAndFileName1","PathAndFileName2",..."PathAndFileNameN"

The value parameter is meaningful only if the value of the EnableControlledFolderAccess parameter isn't Disabled.

To specify additional folders that are protected by controlled folder access, use the ControlledFolderAccessProtectedFolders parameter.

For more information about controlled folder access, see Protect important folders with controlled folder access.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ControlledFolderAccessProtectedFolders

Specifies additional folders to protect as controlled access folders. You can use absolute folder paths (for example C;\Windows\... or environment variables (for example, %appdata%...) for path names.

To replace all existing values with the values you specify, use the following syntax: "Path1","Path2"..."PathN".

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -ControlledFolderAccessAllowedApplications "Path1","Path2",..."PathN"

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -ControlledFolderAccessAllowedApplications "Path1","Path2",..."PathN"

The value parameter is meaningful only if the value of the EnableControlledFolderAccess parameter isn't Disabled.

To specify applications that are allowed to access controlled folders, use the ControlledFolderAccessAllowedApplications parameter.

For more information about controlled folder access, see Protect important folders with controlled folder access.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefinitionUpdatesChannel

Specifies when devices receive daily Microsoft Defender definition updates during the monthly gradual rollout. Valid values are:

  • NotConfigured: Devices stay up to date automatically during the gradual release cycle. This value is suitable for most devices.
  • Staged: Devices are offered updates after the monthly gradual release cycle. This value is suggested for a small, representative part of your production population, around 10 percent.
  • Broad: Devices are offered updates only after the gradual release cycle completes. This value is suggested for a broad set of devices in your production population, from 10 to 100 percent.

This parameter replaces the SignaturesUpdatesChannel parameter.

Type:DefinitionUpdatesChannelType
Aliases:duc
Accepted values:NotConfigured, Staged, Broad
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableArchiveScanning

Specifies whether to scan archive files (for example, .zip and .cab files) for malicious and unwanted software. Valid values are:

  • $true: Windows Defender doesn't scan archive file.
  • $false: Windows Defender scans archive files. This is the default value.
Type:Boolean
Aliases:darchsc
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableAutoExclusions

Specifies whether to disable the Automatic Exclusions feature for the server. Valid values are:

  • $true: Windows Defender disables the Automatic Exclusions feature for the server.
  • $false: Windows Defender enables the Automatic Exclusions feature for the server. This is the default value.
Type:Boolean
Aliases:dae
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableBehaviorMonitoring

Specifies whether to enable behavior monitoring. Valid values are:

  • $true: Windows Defender disables behavior monitoring.
  • $false: Windows Defender enables behavior monitoring. This is the default value.
Type:Boolean
Aliases:dbm
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableBlockAtFirstSeen

Specifies whether to enable block at first seen. Valid values are:

  • $true: Windows Defender disables block at first seen.
  • $false: Windows Defender enables block at first seen. This is the default value.
Type:Boolean
Aliases:dbaf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableCacheMaintenance

Defines whether the cache maintenance idle task performs cache maintenance. Valid values are:

  • $true: Cache maintenance is disabled.
  • $false: Cache maintenance is enabled. This is the default value.
Type:Boolean
Aliases:dcm
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableCatchupFullScan

Specifies whether Windows Defender runs catch-up scans for missed scheduled full scans. Valid values are:

  • $true: Windows Defender doesn't run catch-up scans for missed scheduled full scans.
  • $false: After two missed scheduled full scans, Windows Defender runs a catch-up scan. the next time someone signs in to the computer.
Type:Boolean
Aliases:dcfsc
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableCatchupQuickScan

Specifies whether Windows Defender runs catch-up scans for missed scheduled quick scans. Valid values are:

$true: Windows Defender doesn't run catch-up scans for missed scheduled quick scans. $false: After two missed scheduled quick scans, Windows Defender runs a catch-up scan the next time someone signs in to the computer.

Type:Boolean
Aliases:dcqsc
Position:Named
Default value:True
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableCpuThrottleOnIdleScans

Specifies whether the CPU is throttled for scheduled scans while the device is idle. Valid values are:

  • $true: The CPU is throttled for scheduled scans.
  • $false: The CPU isn't throttled for scheduled scans, regardless of the value of the ScanAvgCPULoadFactor parameter.

This parameter doesn't affect other types scheduled scans. Normal CPU throttling occurs on other types of scheduled scans.

Type:Boolean
Aliases:None
Position:Named
Default value:True
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableDatagramProcessing

Specifies whether to disable inspection of UDP connections. Valid values are:

  • $true: Inspection of UDP connections is disabled.
  • $false: Inspection of UDP connections is enabled.
Type:Boolean
Aliases:ddtgp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableDnsOverTcpParsing

Specifies whether to disable inspection of DNS traffic that occurs over a TCP. Valid values are:

  • $true: Inspection of DNS traffic over TCP is disabled.
  • $false: Inspection of DNS traffic over TCP is enabled.

Network protection needs to inspect DNS traffic over TCP in the following scenarios:

  • To provide metadata for anti-malware behavior monitoring.
  • To allow for a DNS sinkhole if the EnableDnsSinkhole parameter is set to the value $true.

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:ddnstcpp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableDnsParsing

Specifies whether to disable inspection of DNS traffic that occurs over a UDP. Valid values are:

  • $true: Inspection of DNS traffic over UDP is disabled.
  • $false: Inspection of DNS traffic over UDP channels is enabled.
Type:Boolean
Aliases:ddnsp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableEmailScanning

Specifies whether Windows Defender parses mailbox and email message files to analyze message bodies and email attachments. Valid values are:

  • $true: Windows Defender doesn't scan mailbox and email message files.
  • $false: Windows Defender scans mailbox and email message files. This is the default value.

Windows Defender supports several mailbox and email message file formats. For example:

  • .binhex
  • .dbx
  • .mbx
  • .mime
  • .pst
Type:Boolean
Aliases:demsc
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableFtpParsing

Specifies whether to disable FTP parsing for network protection. Valid values are:

  • $true: FTP parsing for network protection is disabled.
  • $false: FTP parsing for network protection is enabled.

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:dfp
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableGradualRelease

Specifies whether to disable gradual rollout of monthly and daily Windows Defender updates. Valid values are:

  • $true: Devices are offered all updates after the gradual release cycle finishes. Consider this option for datacenter computers that receive only limited updates.
  • $false: This is the default value. Devices remain in the Current Channel unless otherwise specified in specific channels. The device stays up to date automatically during the gradual release cycle, which is suitable for most devices.

This setting applies to both monthly and daily updates. This setting overrides configured channel selections for platform and engine updates.

This policy is available starting with platform version 4.18.2106.5 and later.

Type:Boolean
Aliases:dgr
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableHttpParsing

Specifies whether to disable inspection of HTTP traffic. Valid values are:

  • $true: Inspection of HTTP traffic is disabled.
  • $false: Inspection of HTTP traffic is enabled.

If the value of the EnableNetworkProtection parameter is Enabled, HTTP connections to malicious websites can be blocked.

Type:Boolean
Aliases:dhttpp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableInboundConnectionFiltering

Specifies whether Network Protection inspects only outbound connections. Valid values are:

  • $true: Network Protection inspects only outbound connections.
  • $false: Network Protection inspects inbound and outbound connections. This is the default value.

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:dicf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableIOAVProtection

Specifies whether Windows Defender scans all downloaded files and attachments. Valid values are:

  • $true: Windows Defender doesn't scan all downloaded files and attachments.
  • $false: Windows Defender scans all downloaded files and attachments. This is the default value.
Type:Boolean
Aliases:dioavp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableNetworkProtectionPerfTelemetry

This setting disables the gathering and sending of performance telemetry from network protection. Valid values are:

  • $true: Network protection telemetry is disabled.
  • $false: Network protection telemetry is enabled. This is the default value.

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:dnpp
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisablePrivacyMode

Note: This parameter is a legacy setting that doesn't affect current platforms.

The intent of this parameter was to disable privacy mode, which prevented users (not admins) from displaying the threat history.

Type:Boolean
Aliases:dpm
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableRdpParsing

This setting controls whether to parse RDP traffic to look for malicious attacks using the RDP protocol. Valid values are:

  • $true: Windows Defender doesn't scan RDP traffic.
  • $false: Windows Defender scans RDP traffic.
Type:Boolean
Aliases:drdpp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableRealtimeMonitoring

Specifies whether to use real-time protection. Valid values are:

  • $true: Windows Defender doesn't use real-time protection.
  • $false: Windows Defender uses real-time protection. This is the default and recommended value.
Type:Boolean
Aliases:drtm
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableRemovableDriveScanning

Specifies whether to scan for malicious and unwanted software in removable drives, such as flash drives, during a full scan. Valid values are:

  • $true: Windows Defender doesn't scan removable drives during a full scan, but can still scan removable drives during quick scans or custom scans.
  • $false: Windows Defender scans removable drives during any type of scan. This is the default value.
Type:Boolean
Aliases:drdsc
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableRestorePoint

Specifies whether to disable scanning of restore points. Valid values are:

  • $true: Windows Defender restore point scanning is disabled.
  • $false: Windows Defender restore point scanning is enabled. This is the default value.
Type:Boolean
Aliases:drp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableScanningMappedNetworkDrivesForFullScan

Specifies whether to scan mapped network drives. Valid values are:

  • $true: Windows Defender doesn't scan mapped network drives.
  • $false: Windows Defender scans mapped network drives. This is the default value.
Type:Boolean
Aliases:dsmndfsc
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableScanningNetworkFiles

Specifies whether to scan network files. Valid values are:

  • $true: Windows Defender doesn't scan network files.
  • $false: Windows Defender scans network files. This is the default value.
Type:Boolean
Aliases:dsnf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableScriptScanning

Specifies whether to disable the scanning of scripts during malware scans. Valid values are:

  • $true: Windows Defender doesn't scan scripts.
  • $false: Windows Defender scans scripts. This is the default value.
Type:Boolean
Aliases:dscrptsc
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableSmtpParsing

This setting disables SMTP parsing by network protection. Valid values are:

  • $true: SMTP parsing is disabled.
  • $false: SMTP parsing is enabled. This is the default value

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:dsp
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableSshParsing

Specifies whether to disable the inspection of SSH traffic. Valid values are:

  • $true: Network protection doesn't inspect SSH traffic.
  • $false: Network protection inspects SSH traffic. This is the default value.

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:dsshp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableTlsParsing

Specifies whether to disable the inspection of TLS traffic. Valid values are:

  • $true: Network Protection doesn't inspect TLS traffic.
  • $false: Network Protection inspects TLS traffic. This is the default value.

Network protection inspects TLS traffic (also known as HTTPS traffic) to see if a connection is being made to a malicious website, and to provide metadata to behavior monitoring.

TLS connections to malicious websites can also be blocked if the value of the EnableNetworkProtection parameter is Enabled.

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:dtlsp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableControlledFolderAccess

Specifies the state for the controlled folder access feature. Valid values are:

  • Disabled
  • Enabled
  • AuditMode
  • BlockDiskModificationOnly
  • AuditDiskModificationOnly

To specify additional folders that are protected by controlled folder access, use the ControlledFolderAccessProtectedFolders parameter.

To specify applications that are allowed to access controlled folders, use the ControlledFolderAccessAllowedApplications parameter.

For more information about controlled folder access, see Protect important folders with controlled folder access.

Type:ControlledFolderAccessType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableConvertWarnToBlock

This setting controls whether network protection blocks network traffic instead of displaying a warning. Valid values are:

  • $true: Network Protection blocks network traffic instead of displaying a warning.
  • $false: Network Protection displaying a warning.

For more information about network protection, see Protect your network.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableDnsSinkhole

Note: This parameter has been deprecated.

Specifies whether to examine DNS traffic to detect and sinkhole DNS exfiltration attempts and other DNS based malicious attacks. Valid values are:

  • $true: DNS sinkhole is enabled. Network protection can inspect the DNS traffic of a machine and, in conjunction with behavior monitoring, detect and sinkhole DNS exfiltration attempts, and other DNS based malicious attacks.
  • $false: DNS sinkhole is disabled.

For more information about network protection, see Protect your network.

Type:Boolean
Aliases:ednss
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableFileHashComputation

Specifies whether to enable file hash computation. Valid values are:

  • $true: Windows Defender computes hashes for scanned files.
  • $false: Windows Defender doesn't compute hashes for scanned files.
Type:Boolean
Aliases:efhc
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableFullScanOnBatteryPower

Specifies whether Windows Defender does full scans while on battery power. Valid values are:

  • $true: Windows Defender does full scans while on battery power.
  • $false: Windows Defender doesn't do full scans while on battery power.
Type:Boolean
Aliases:efsobp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableLowCpuPriority

Specifies whether Windows Defender uses low CPU priority for scheduled scans. Valid values are:

  • $true: Windows Defender uses low CPU priority for scheduled scans.
  • $false: Windows Defender doesn't use low CPU priority for scheduled scans.
Type:Boolean
Aliases:elcp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableNetworkProtection

Specifies how the network protection service handles web-based malicious threats, including phishing and malware. Valid values are:

  • 0 or Disabled
  • 1 or Enabled
  • 2 or AuditMode

Tip: Network protection on Windows Server also requires that the AllowNetworkProtectionOnWinServer and (for Windows Server 2016 or Windows Server 2012 R2) AllowNetworkProtectionDownLevel parameters are set to the value $true.

For more information about network protection, see Protect your network.

Type:ASRRuleActionType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableUdpReceiveOffload

Specifies whether UDP receive offload support in Network Protection is enabled, resulting in potentially higher inbound UDP bandwidth. Valid values are:

  • $true: UDP receive offload support in Network Protection is enabled.
  • $false: UDP receive offload support in Network Protection is disabled.

Starting with platform version 4.18.24030, we're gradually moving the default value from $false (disabled) to $true (enabled).

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableUdpSegmentationOffload

Specifies whether UDP segmentation offload support in Network Protection is enabled, resulting in potentially higher outbound UDP bandwidth in the outbound direction. Valid values are:

  • $true: UDP segmentation offload support in Network Protection is enabled.
  • $false: UDP segmentation offload support in Network Protection is disabled.

Starting with platform version 4.18.24030, Microsoft will gradually move the default value from disabled to enabled.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EngineUpdatesChannel

Specifies when devices receive Microsoft Defender engine updates during the monthly gradual rollout. Valid values are:

  • 0 or NotConfigured: Devices stay up to date automatically during the gradual release cycle. This value is suitable for most devices.
  • 2 or Beta: Devices are the first to receive new updates. Select Beta Channel to participate in identifying and reporting issues to Microsoft. Devices in the Windows Insider Program are subscribed to this channel by default. This value is for use in manual test environments only and a limited number of devices.
  • 3 or Preview: Devices are offered updates earliest during the monthly gradual release cycle. This value is suggested for pre-production or validation environments.
  • 4 or Staged: Devices are offered updates after the monthly gradual release cycle. This value is suggested for a small, representative part of your production population, around 10 percent.
  • 5 or Broad: Devices are offered updates only after the gradual release cycle completes. This value is suggested for a broad set of devices in your production population, from 10 to 100 percent.
  • 6 or Delayed
Type:UpdatesChannelType
Aliases:euc
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExclusionExtension

Specifies the file name extensions, such as obj and lib, to exclude from scheduled, custom, and real-time scanning.

To replace all existing values with the values you specify, use the following syntax: "Extension1","Extension2",..."ExtensionN".

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -ExclusionExtension "Extension1","Extension2"..."ExtensionN"

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -ExclusionExtension "Extension1","Extension2"..."ExtensionN"

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExclusionIpAddress

Specifies the IP addresses to exclude from scheduled and real-time scanning.

To replace all existing values with the values you specify, use the following syntax: "IPAddress1","IPAddress2",..."IPAddresseN".

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -ExclusionIpAddress "IPAddress1","IPAddress",..."IPAddressN"

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -ExclusionIpAddress "IPAddress1","IPAddress2",..."IPAddressN"

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExclusionPath

Specifies the path and filename (for specific files) or path only (for all files in the folder) to exclude from scheduled and real-time scanning.

To replace all existing values with the values you specify, use the following syntax: "Value1","Value2"..."ValueN".

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -ExclusionPath "Value1","Value2",..."ValuehN"

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -ExclusionPath "Value1","Value2",..."ValueN"

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExclusionProcess

Specifies the paths to process images to exclude from scheduled and real-time scanning.

To replace all existing values with the values you specify, use the following syntax: "Path1","Path2"..."PathN".

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -ExclusionProcess "Path1","Path2",..."PathhN"

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -ExclusionProcess "Path1","Path2",..."PathN"

This parameter excludes files opened by executable programs only, not the processes themselves. To exclude processes, use the ExclusionPath parameter.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation. You don't need to specify a value with this switch.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceUseProxyOnly

Specifies whether to force the device to use only the proxy. Valid values are:

  • $true: Use the proxy only.
  • $false: Don't force the device to use the proxy.
Type:Boolean
Aliases:fupo
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HighThreatDefaultAction

Specifies the automatic remediation action to take for high level threats. Valid values are:

  • Clean
  • Quarantine
  • Remove
  • Allow
  • UserDefined
  • NoAction
  • Block
Type:ThreatAction
Aliases:htdefac
Accepted values:Clean, Quarantine, Remove, Allow, UserDefined, NoAction, Block
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IntelTDTEnabled

This policy setting configures the Intel TDT integration level for Intel TDT-capable devices. Valid values are:

  • $true: Intel TDT integration is turned on.
  • $false: Intel TDT integration is turned off.
Type:Boolean
Aliases:itdte
Accepted values:0, 1 and 2
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LowThreatDefaultAction

Specifies the automatic remediation action to take for low level threats. Valid values are:

  • Clean
  • Quarantine
  • Remove
  • Allow
  • UserDefined
  • NoAction
  • Block
Type:ThreatAction
Aliases:ltdefac
Accepted values:Clean, Quarantine, Remove, Allow, UserDefined, NoAction, Block
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MAPSReporting

Specifies the type of membership in Microsoft Active Protection Service. This services is an online community that helps you choose how to respond to potential threats. The community also helps prevent the spread of new malicious software. Valid values are:

  • 0 or Disabled: Send no information to Microsoft. This is the default value.
  • 1 or Basic: Send basic information to Microsoft about detected software, including where the software came from, the actions you applied (manually or automatically), and whether the actions succeeded.
  • 2 or Advanced: In addition to basic information, send more information to Microsoft about malicious software, spyware, and potentially unwanted software, including the location of the software, filenames, how the software operates, and how it affects your computer.

If you join this community, you can choose to automatically send basic or additional information about detected software. Additional information helps Microsoft create new definitions. In some instances, personal information might unintentionally be sent to Microsoft. However, Microsoft doesn't use this information to identify you or contact you.

Type:MAPSReportingType
Accepted values:Disabled, Basic, Advanced
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MeteredConnectionUpdates

Specifies whether to update managed devices to update through metered connections. Valid values are:

  • $true: Updates are made over metered connections. Data charges may apply.
  • $false: Updates aren't made over metered connections.
Type:Boolean
Aliases:mcupd
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModerateThreatDefaultAction

Specifies the automatic remediation action to take for moderate level threats. Valid values are:

  • Clean
  • Quarantine
  • Remove
  • Allow
  • UserDefined
  • NoAction
  • Block
Type:ThreatAction
Aliases:mtdefac
Accepted values:Clean, Quarantine, Remove, Allow, UserDefined, NoAction, Block
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OobeEnableRtpAndSigUpdate

This setting allows you to configure whether real-time protection and Security Intelligence Updates are enabled during Out of Box experience (OOBE). Valid values are:

  • $true: Real-time protection and Security Intelligence Updates are enabled during OOBE.
  • $false: Real-time protection and Security Intelligence Updates during OOBE aren't enabled. This is the default value.
Type:Boolean
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PlatformUpdatesChannel

Specifies when devices receive Microsoft Defender platform updates during the monthly gradual rollout. Valid values are:

  • NotConfigured: Devices stay up to date automatically during the gradual release cycle. This value is suitable for most devices.
  • Beta: Devices are the first to receive new updates. Select Beta Channel to participate in identifying and reporting issues to Microsoft. Devices in the Windows Insider Program are subscribed to this channel by default. This value is for use in manual test environments only and for a limited number of devices.
  • Preview: Devices are offered updates earliest during the monthly gradual release cycle. This value is suggested for pre-production or validation environments.
  • Staged: Devices are offered updates after the monthly gradual release cycle. This value is suggested for a small, representative part of your production population, around 10 percent.
  • Broad: Devices are offered updates only after the gradual release cycle completes. This value is suggested for a broad set of devices in your production population, from 10 to 100 percent.
  • Delayed
Type:UpdatesChannelType
Aliases:prelr
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProxyBypass

Specifies proxy bypasses.

To replace all existing values with the values you specify, use the following syntax: "Value1","Value2",..."ValueN".

To add values without affecting existing values, use the following syntax:

$a = Get-MpPreference | Select-Object -Expand ProxyBypass

$ += "Value1","Value2"..."ValueN"

Set-MpPreference -ProxyBypass $a

To remove values without affecting existing values, do the following steps:

  • Run the following commands to see the existing list of values in order:

    $x = Get-MpPreference

    $r = [System.Collections.ArrayList]($x.ProxyBypass)

    $r

    The first value in the list has the index number 0, the second has the index number 1, and so on.

  • Use the index number to specify the value to remove. For example, to remove the seventh value in the list, run the following commands:

    $r.RemoveAt(6)

    Set-MpPreference -ProxyBypass $r

Type:String[]
Aliases:proxbps
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProxyPacUrl

Specifies the Privilege Attribute Certificate (PAC) proxy.

Type:String
Aliases:ppurl
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProxyServer

Specifies the proxy server.

Type:String
Aliases:proxsrv
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PUAProtection

Specifies the level of detection for potentially unwanted applications. Valid values are:

  • 0 or Disabled
  • 1 or Enabled: You're warned when potentially unwanted software is downloaded or attempts to install itself on your computer.
  • 2 or Audit
Type:PUAProtectionType
Accepted values:Disabled, Enabled, AuditMode
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-QuarantinePurgeItemsAfterDelay

Specifies the number of days to keep items in the Quarantine folder. A valid value is an integer from 0 to 4294967295. The value 0 means items stay in the Quarantine folder indefinitely.

Type:UInt32
Aliases:qpiad
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RandomizeScheduleTaskTimes

Specifies whether to select a random time for the scheduled start and scheduled update for definitions. Valid values are:

  • $true: Scheduled tasks begin within 30 minutes before or after the scheduled time. This is the default value.
  • $false: Scheduled tasks begin on the scheduled time

Randomized start times can distribute the impact of scanning. For example, if several virtual machines share the same host, randomized start times prevent all virtual machines from starting the scheduled tasks at the same time.

Type:Boolean
Aliases:rstt
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RealTimeScanDirection

Specifies scanning configuration for incoming and outgoing files on NTFS volumes. Valid values are:

  • 0 or Both: Scan incoming and outgoing files. This is the default value.
  • 1 or Incoming: Scan incoming files only.
  • 2 or Outcoming [SP]: Scan outgoing files only.

Use this parameter to restrict scanning to incoming or outgoing files on servers that have a large number of file transfers in only one direction.

Evaluate this configuration based on the server role. For non-NTFS volumes, Windows Defender does full monitoring of file and program activity.

Type:ScanDirection
Aliases:rtsd
Accepted values:Both, Incoming, Outcoming
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemediationScheduleDay

Specifies the day of the week to run scheduled full scans to complete remediation. Valid values are:

  • 0 or Everyday
  • 1 or Sunday
  • 2 or Monday
  • 3 or Tuesday
  • 4 or Wednesday
  • 5 or Thursday
  • 6 or Friday
  • 7 or Saturday
  • 8 or Never (default)

For the value 8 or Never, Windows Defender uses a default frequency to run scheduled full scans to complete remediation.

Type:Day
Aliases:rsd
Accepted values:Everyday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Never
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemediationScheduleTime

Specifies the time on the local computer to run scheduled scans for remediation.

To specify a value, enter it as a time span: hh:mm:ss where hh = hours, mm = minutes and ss = seconds. For example, 13:30:00 indicates 1:30 PM.

The default value is 02:00:00 (2:00 AM).

Type:DateTime
Aliases:rst
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReportingAdditionalActionTimeOut

Specifies the number of minutes before a detection in the additional action state changes to the cleared state. A valid value is an integer from 0 to 4294967295.

Type:UInt32
Aliases:raat
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReportingCriticalFailureTimeOut

Specifies the number of minutes before a detection in the critically failed state changes to the additional action state or the cleared state. A valid value is an integer from 0 to 4294967295.

Type:UInt32
Aliases:rcto
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReportingNonCriticalTimeOut

Specifies the number of minutes before a detection in the non-critically failed state changes to the cleared state. A valid value is an integer from 0 to 4294967295.

Type:UInt32
Aliases:rncto
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScanAvgCPULoadFactor

Specifies the maximum percentage CPU usage for a scan.

A valid value is an integer from 5 to 100. The default value is 50. The value 0 disables CPU throttling.

Note: This value isn't a hard limit, but rather guidance for the scanning engine to not exceed the specified value on average.

The value of this parameter is ignored if both of the following conditions are true:

  • The value of the ScanOnlyIfIdleEnabled parameter is $true (scan only when the computer isn't in use).
  • The value of the DisableCpuThrottleOnIdleScans parameter is $false (disable CPU throttling on idle scans).
Type:Byte
Aliases:saclf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScanOnlyIfIdleEnabled

Specifies whether to start scheduled scans only when the computer is not in use. Valid values are:

  • $true: Windows Defender runs schedules scans when the computer is on, but not in use. This is the default value.
  • $false: Windows Defender runs schedules scans when the computer is in use.
Type:Boolean
Aliases:soiie
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScanParameters

Specifies the scan type to use during a scheduled scan. Valid values are:

  • 1 or QuickScan (default)
  • 2 or FullScan
Type:ScanType
Accepted values:QuickScan, FullScan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScanPurgeItemsAfterDelay

Specifies the number of days to keep items in the scan history folder. After this time, Windows Defender removes the items.

A valid value is an integer from 0 to 4294967295. The default value is 15 days. The value 0 means Windows Defender doesn't remove items from the scan history folder.

Type:UInt32
Aliases:spiad
Position:Named
Default value:15
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScanScheduleDay

Specifies the day of the week to run scheduled scans. Valid values are:

  • 0 or Everyday
  • 1 or Sunday
  • 2 or Monday
  • 3 or Tuesday
  • 4 or Wednesday
  • 5 or Thursday
  • 6 or Friday
  • 7 or Saturday
  • 8 or Never (default)

For the value 8 or Never, Windows Defender doesn't do scheduled scans.

Type:Day
Aliases:scsd
Accepted values:Everyday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Never
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScanScheduleOffset

Specifies the number of minutes after midnight on the local computer to run scheduled scans. The default value is 120, which means scheduled scans start on the local computer at 2:00 AM.

If you don't specify a value for this parameter, scheduled scans start at the time specified by the ScanScheduleTime and ScanScheduleQuickScanTime parameters.

Type:UInt32
Aliases:scso
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScanScheduleQuickScanTime

Specifies the time on the local computer to run scheduled quick scans.

To specify a value, enter it as a time span: hh:mm:ss where hh = hours, mm = minutes and ss = seconds. For example, 13:30:00 indicates 1:30 PM.

The default value is 02:00:00 (2:00 AM).

If you don't specify a value for this parameter, scheduled quick scans run at the time specified by the ScanScheduleOffset parameter.

Type:DateTime
Aliases:scsqst
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScanScheduleTime

Specifies the time on the local computer to run scheduled scans.

To specify a value, enter it as a time span: hh:mm:ss where hh = hours, mm = minutes and ss = seconds. For example, 13:30:00 indicates 1:30 PM.

The default value is 02:00:00 (2:00 AM).

If you don't specify a value for this parameter, scheduled scans run at the time specified by the ScanScheduleOffset parameter.

Type:DateTime
Aliases:scst
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SchedulerRandomizationTime

Specifies the randomization time for the scheduler. A valid value is an integer from 0 to 4294967295.

Type:UInt32
Aliases:srt
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServiceHealthReportInterval

Specifies the time interval in minutes for the service health reports to be sent from endpoints. These reports are for Microsoft Defender Antivirus events 1150 and 1151.

A valid value is an integer from 0 to 4294967295. The default value is 60 minutes. The value 0 means no service health reports are sent.

For more information, see Microsoft Defender Antivirus event IDs.

Type:UInt32
Aliases:shri
Accepted values:0-14400
Position:Named
Default value:60
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SevereThreatDefaultAction

Specifies which automatic remediation action to take for severe level threats. Valid values are:

  • Clean
  • Quarantine
  • Remove
  • Allow
  • UserDefined
  • NoAction
  • Block
Type:ThreatAction
Aliases:stdefac
Accepted values:Clean, Quarantine, Remove, Allow, UserDefined, NoAction, Block
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SharedSignaturesPath

Specifies the shared signatures path. For example, "P:\Signature Data". If the value contains spaces, enclose the value in quotation marks (").

To empty this setting, use the value " ".

Type:String
Aliases:ssp, SecurityIntelligenceLocation, ssl
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureAuGracePeriod

Specified the grace period in minutes that's applied to all signature updates after the initial, first-time application.

A valid value is an integer from 0 to 4294967295.

If Windows Defender successfully updates within this period, any service initiated updates are abandoned.

THe SignatureFirstAuGracePeriod parameter specifies the grace period when a new signature is first detected.

Type:UInt32
Aliases:sigagp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureBlobFileSharesSources

Specifies the file shares sources for signatures. For example, "\\ServerName\\ShareName\Folder name\". If the value contains spaces, enclose the value in quotation marks (").

To empty this setting, use the value " ".

Type:String
Aliases:sigbfs
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureBlobUpdateInterval

Specifies the signature update interval. A valid value is an integer from 0 to 4294967295.

Type:UInt32
Aliases:sigbui
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureDefinitionUpdateFileSharesSources

Specifies file-share sources for definition updates.

A valid value uses the following syntax: {\\Server1\Share1 | \\Server2\Share2 | ... \\ServerN\ShareN}.

Windows Defender tries to connect to the shared folders in the specified order. After the update is successful, Windows Defender stops trying to connect to the remaining shared folders in the list.

To empty this setting, use the value " ".

Type:String
Aliases:sigdufss
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureDisableUpdateOnStartupWithoutEngine

Specifies whether to initiate definition updates even if no antimalware engine is present. Valid values are:

  • $true: Windows Defender does not initiate definition updates on startup. This is the default value
  • $false: If no antimalware engine is present, Windows Defender initiates definition updates on startup.
Type:Boolean
Aliases:sigduoswo
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureFallbackOrder

Specifies the order in which to contact different definition update sources. The available sources are:

  • InternalDefinitionUpdateServer
  • MicrosoftUpdateServer
  • MMPC (Microsoft Malware Protection Center)
  • FileShares (specified by the SignatureDefinitionUpdateFileSharesSources parameter)

A valid value uses the following syntax: {Source1 | Source2 | Source3 |Source4}. The default value is {MicrosoftUpdateServer | MMPC}.

Windows Defender tries to connect to the sources in the specified order. After the update is successful, Windows Defender stops trying to connect to the remaining sources in the list.

Type:String
Aliases:sfo
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureFirstAuGracePeriod

Specifies the grace period in minutes that's given to a new signature when it's first applied. This grace period allows more time for compatibility checks with new detection logic. For example, to prevent false positives from triggering alerts.

A valid value is an integer from 20 to 4320.

If Windows Defender successfully updates within this period, any service initiated updates are abandoned.

This parameter overrides the value of the CheckForSignaturesBeforeRunningScan parameter.

The SignatureAuGracePeriod parameter specifies the standard grace period for all subsequent signature updates.

Type:UInt32
Aliases:sigfagp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureScheduleDay

Specifies the day of the week on which to check for definition updates. Valid values are:

  • 0 or Everyday
  • 1 or Sunday
  • 2 or Monday
  • 3 or Tuesday
  • 4 or Wednesday
  • 5 or Thursday
  • 6 or Friday
  • 7 or Saturday
  • 8 or Never (default)

For the value 8 or Never, Windows Defender uses a default frequency to check for definition updates.

Type:Day
Aliases:sigsd
Accepted values:Everyday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Never
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureScheduleTime

Specifies the time on the local computer to check for definition updates.

To specify a value, enter it as a time span: hh:mm:ss where hh = hours, mm = minutes and ss = seconds. For example, 13:30:00 indicates 1:30 PM.

If you don't specify a value for this parameter, Windows Defender checks for definition updates 15 minutes before the scheduled scan time by default.

Type:DateTime
Aliases:sigst
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureUpdateCatchupInterval

Specifies the number of days after which Windows Defender requires a catch-up definition update.

A valid value is an integer from 0 to 4294967295. The default value is one day.

Type:UInt32
Aliases:siguci
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SignatureUpdateInterval

Specifies the interval in hours to check for definition updates.

A valid value is an integer from 0 to 4294967295.

You can use this parameter instead of the SignatureScheduleDayand SignatureScheduleTime parameters.

Type:UInt32
Aliases:sigui
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubmitSamplesConsent

Specifies how Windows Defender checks for user consent for certain samples. Valid values are:

  • 0 or AlwaysPrompt
  • 1 or SendSafeSamples
  • 2 or NeverSend
  • 3 or SendAllSamples

If consent was previously granted, Windows Defender submits the samples. Otherwise, Windows Defender prompts the user for consent if the value of the MAPSReporting parameter isn't Disabled.

Type:SubmitSamplesConsentType
Accepted values:AlwaysPrompt, SendSafeSamples, NeverSend, SendAllSamples
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThreatIDDefaultAction_Actions

Use the ThreatIDDefaultAction_Ids and ThreatIDDefaultAction_Actions parameters together in the same command to specify the actions to take on the corresponding threats.

  • The ThreatIDDefaultAction_Ids parameter identifies the threat from the output of the Get-MpThreatCatalog cmdlet. For example, the ThreatID value of the threat named Trojan:Win32/BlueFire is 3229.

  • The ThreatIDDefaultAction_Actions parameter identifies the action to take on the corresponding threat ID. Valid values are:

    • 1 or Clean

    • 2 or Quarantine

    • 3 or Remove

    • 6 or Allow

    • 8 or UserDefined

    • 9 or NoAction

    • 10 or Block

To replace all existing values with the values you specify, use the following syntax:

Set-MpPreference -ThreatIDDefaultAction_Ids ThreatID1,ThreatID2,...ThreatIDN -ThreatIDDefaultAction_Actions Action1,Action2,...ActionN

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -ThreatIDDefaultAction_Ids ThreatID1,ThreatID2,...ThreatIDN -ThreatIDDefaultAction_Actions Action1,Action2,...ActionN

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -ThreatIDDefaultAction_Ids ThreatID1,ThreatID2,...ThreatIDN -ThreatIDDefaultAction_Actions Action1,Action2,...ActionN

Note: When a threat and corresponding action aren't specified in the ThreatIDDefaultAction_Ids and ThreatIDDefaultAction_Actions parameters, the action that's applied to the threat is based on the Security Intelligence Update (SIU). By default, no threats or corresponding actions are specified in the parameters.

Type:ThreatAction[]
Aliases:tiddefaca
Accepted values:Clean, Quarantine, Remove, Allow, UserDefined, NoAction, Block
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThreatIDDefaultAction_Ids

Use the ThreatIDDefaultAction_Ids and ThreatIDDefaultAction_Actions parameters together in the same command to specify the actions to take on the corresponding threats.

  • The ThreatIDDefaultAction_Ids parameter identifies the threat from the output of the Get-MpThreatCatalog cmdlet. For example, the ThreatID value of the threat named Trojan:Win32/BlueFire is 3229.

  • The ThreatIDDefaultAction_Actions parameter identifies the action to take on the corresponding threat ID. Valid values are:

    • 1 or Clean

    • 2 or Quarantine

    • 3 or Remove

    • 6 or Allow

    • 8 or UserDefined

    • 9 or NoAction

    • 10 or Block

To replace all existing values with the values you specify, use the following syntax:

Set-MpPreference -ThreatIDDefaultAction_Ids ThreatID1,ThreatID2,...ThreatIDN -ThreatIDDefaultAction_Actions Action1,Action2,...ActionN

To add values without affecting existing values, use the Add-MPPreference cmdlet:

Add-MpPreference -ThreatIDDefaultAction_Ids ThreatID1,ThreatID2,...ThreatIDN -ThreatIDDefaultAction_Actions Action1,Action2,...ActionN

To remove values without affecting other existing values, use the Remove-MPPreference cmdlet:

Remove-MpPreference -ThreatIDDefaultAction_Ids ThreatID1,ThreatID2,...ThreatIDN -ThreatIDDefaultAction_Actions Action1,Action2,...ActionN

Note: When a threat and corresponding action aren't specified in the ThreatIDDefaultAction_Ids and ThreatIDDefaultAction_Actions parameters, the action that's applied to the threat is based on the Security Intelligence Update (SIU). By default, no threats or corresponding actions are specified in the parameters.

Type:Int64[]
Aliases:tiddefaci
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleForScheduledScanOnly

Specifies whether a CPU usage limit applies scheduled scans only. Valid values are:

  • $true: CPU throttling applies only to scheduled scans. This is the default value.
  • $false: CPU throttling applies to scheduled and custom scans.
Type:Boolean
Position:Named
Default value:1
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run this cmdlet.

A valid value is an integer from 0 to 2147483647. The default value is 0, which means PowerShell calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer.

The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UILockdown

Specifies whether to disable UI lockdown mode. Valid values are:

  • $true: UI lockdown mode is disabled.
  • $false: UI lockdown mode is enabled
Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UnknownThreatDefaultAction

Specifies the automatic remediation action to take for unknown level threats. Valid values are:

  • 1 or Clean
  • 2 or Quarantine
  • 3 or Remove
  • 6 or Allow
  • 8 or UserDefined
  • 9 or NoAction
  • 10 or Block
Type:ThreatAction
Aliases:unktdefac
Accepted values:Clean, Quarantine, Remove, Allow, UserDefined, NoAction, Block
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False