Disable changing home page settings
Verified with Windows 11 25H2 — updated on July 30, 2026
Supported on: At least Internet Explorer 5.0
Path in the GPO console
User Configuration\Administrative Templates\Windows Components\Internet Explorer Description
The Home page specified on the General tab of the Internet Options dialog box is the default Web page that Internet Explorer loads whenever it is run. If you enable this policy setting, a user cannot set a custom default home page. You must specify which default home page should load on the user machine. For machines with at least Internet Explorer 7, the home page can be set within this policy to override other home page policies. If you disable or do not configure this policy setting, the Home page box is enabled and users can choose their own home page.
Registry
Software\Policies\Microsoft\Internet Explorer\Control Panel Value name: HomePage
MDM / Intune (CSP)
./User/Vendor/MSFT/Policy/Config/InternetExplorer/DisableHomePageChange Microsoft Learn documentation Mapping data: Microsoft Learn (CC BY 4.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: Disable changing home page settings
; State: Enabled
; Supported on: At least Internet Explorer 5.0
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"HomePage"=dword:00000001
"Start Page"="" More formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Disable changing home page settings
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Internet Explorer\Control Panel'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'HomePage' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'Start Page' -Value '' -Type String Intune XML
OMA-URI: ./User/Vendor/MSFT/Policy/Config/InternetExplorer/DisableHomePageChange
Data type: String
Value:
<enabled/>
<data id="EnterHomePagePrompt" value=""/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Disable changing home page settings
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
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 'HKCU:\Software\Policies\Microsoft\Internet Explorer\Control Panel' -Name 'HomePage' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Internet Explorer\Control Panel' -Name 'Start Page' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Disable changing home page settings
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Internet Explorer\Control Panel'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'HomePage' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'Start Page' -Value '' -Type String SCCM scripts
# Exported from gporais.com
# Policy: Disable changing home page settings
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# 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: Disable changing home page settings
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
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 'HKCU:\Software\Policies\Microsoft\Internet Explorer\Control Panel' -Name 'HomePage' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Internet Explorer\Control Panel' -Name 'Start Page' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Disable changing home page settings
# State: Enabled
# Supported on: At least Internet Explorer 5.0
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\Software\Policies\Microsoft\Internet Explorer\Control Panel'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'HomePage' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'Start Page' -Value '' -Type String Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.