Enable throttling for online mail indexing
Verified with Windows 11 25H2 — updated on July 29, 2026
Supported on: Any version of Microsoft Windows with Windows Search 4.0 or later
Path in the GPO console
Computer Configuration\Administrative Templates\Windows Components\Search Description
When using Microsoft Office Outlook in online mode, you can enable this policy to control how fast online mail is indexed on a Microsoft Exchange server. The lower you set this policy, the lower the burden will be on the corresponding Microsoft Exchange server. The default value for this policy is 120 items per minute. To lower the burden on Microsoft Exchange servers, lower the rate of items indexed per minute. If you disable this policy, then online mail items will be indexed at the speed that the Microsoft Exchange server can support. If you set this policy to not configured, then online mail items will be indexed at the speed of 120 items per minute. This policy has no effect on mail items when using Microsoft Office Outlook in cached mode.
Registry
SOFTWARE\Policies\Microsoft\Windows\Windows Search Value name: EnableThrottlingOnlineMailboxes
Enabled: EnableThrottlingOnlineMailboxes = 1
Disabled: EnableThrottlingOnlineMailboxes = 0
Export Builder
BETAConfigure the state, scope and options, then generate .reg, PowerShell, Intune and SCCM outputs — or add the setting to a multi-setting collection.
These exports write the registry — this is not a managed GPO. ⓘ
.reg file
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Enable throttling for online mail indexing
; State: Enabled
; Supported on: Any version of Microsoft Windows with Windows Search 4.0 or later
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search]
"EnableThrottlingOnlineMailboxes"=dword:00000001
"EnableThrottlingOnlineMailboxesValue"=dword:00000078 More formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Enable throttling for online mail indexing
# State: Enabled
# Supported on: Any version of Microsoft Windows with Windows Search 4.0 or later
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'EnableThrottlingOnlineMailboxes' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'EnableThrottlingOnlineMailboxesValue' -Value 120 -Type DWord Intune XML
No direct Policy CSP / OMA-URI mapping for this policy. Use the Intune Remediation tab, or ingest the ADMX in Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Enable throttling for online mail indexing
# State: Enabled
# Supported on: Any version of Microsoft Windows with Windows Search 4.0 or later
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Name 'EnableThrottlingOnlineMailboxes' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Name 'EnableThrottlingOnlineMailboxesValue' -Expected 120 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Enable throttling for online mail indexing
# State: Enabled
# Supported on: Any version of Microsoft Windows with Windows Search 4.0 or later
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'EnableThrottlingOnlineMailboxes' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'EnableThrottlingOnlineMailboxesValue' -Value 120 -Type DWord SCCM scripts
# Exported from gporais.com
# Policy: Enable throttling for online mail indexing
# State: Enabled
# Supported on: Any version of Microsoft Windows with Windows Search 4.0 or later
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Enable throttling for online mail indexing
# State: Enabled
# Supported on: Any version of Microsoft Windows with Windows Search 4.0 or later
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Name 'EnableThrottlingOnlineMailboxes' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Name 'EnableThrottlingOnlineMailboxesValue' -Expected 120 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Enable throttling for online mail indexing
# State: Enabled
# Supported on: Any version of Microsoft Windows with Windows Search 4.0 or later
$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'EnableThrottlingOnlineMailboxes' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'EnableThrottlingOnlineMailboxesValue' -Value 120 -Type DWord Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.