Pin Internet search sites to the "Search again" links and the Start menu
Verified with Windows 11 25H2 — updated on July 30, 2026
Supported on: At least Windows Server 2008 R2 or Windows 7
Path in the GPO console
User Configuration\Administrative Templates\Windows Components\File Explorer Description
This policy setting allows you to add Internet or intranet sites to the "Search again" links located at the bottom of search results in File Explorer and the Start menu links. The "Search again" links at the bottom of the Search Results view allow the user to reconduct a search but in a different location. The Internet search site will be searched with the text in the search box. To add an Internet search site, specify the URL of the search site in OpenSearch format with {searchTerms} for the query string (for example, http://www.example.com/results.aspx?q={searchTerms}). You can add up to five additional links to the "Search again" links at the bottom of results returned in File Explorer after a search is executed. These links will be shared between Internet search sites and Search Connectors/Libraries. Search Connector/Library links take precedence over Internet search links. The first several links will also be pinned to the Start menu. A total of four links can be pinned on the Start menu. The "See more results" link will be pinned first by default, unless it is disabled via Group Policy. The "Search the Internet" link is pinned second, if it is pinned via Group Policy (though this link is disabled by default). If a custom Internet search link is pinned using the "Custom Internet search provider" Group Policy, this link will be pinned third on the Start menu. The remaining link(s) will be shared between pinned Internet/intranet links and pinned Search Connectors/Libraries. Search Connector/Library links take precedence over Internet/intranet search links. If you enable this policy setting, the specified Internet sites will appear in the "Search again" links and the Start menu links. If you disable or do not configure this policy setting, no custom Internet search sites will be added to the "Search again" links or the Start menu links.
Registry
Software\Policies\Microsoft\Windows\Explorer Value name: TryHarderPinnedOpenSearch
Enabled: TryHarderPinnedOpenSearch = 1
Disabled: TryHarderPinnedOpenSearch = 0
MDM / Intune (CSP)
./User/Vendor/MSFT/Policy/Config/ADMX_WindowsExplorer/TryHarderPinnedOpenSearch 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: Pin Internet search sites to the "Search again" links and the Start menu
; State: Enabled
; Supported on: At least Windows Server 2008 R2 or Windows 7
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer]
"TryHarderPinnedOpenSearch"=dword:00000001
"OpenSearch0"=""
"OpenSearchLabel0"=""
"OpenSearch1"=""
"OpenSearchLabel1"=""
"OpenSearch2"=""
"OpenSearchLabel2"=""
"OpenSearch3"=""
"OpenSearchLabel3"=""
"OpenSearch4"=""
"OpenSearchLabel4"="" More formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Pin Internet search sites to the "Search again" links and the Start menu
# State: Enabled
# Supported on: At least Windows Server 2008 R2 or Windows 7
# 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\Windows\Explorer'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'TryHarderPinnedOpenSearch' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'OpenSearch0' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel0' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch1' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel1' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch2' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel2' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch3' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel3' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch4' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel4' -Value '' -Type String Intune XML
OMA-URI: ./User/Vendor/MSFT/Policy/Config/ADMX_WindowsExplorer/TryHarderPinnedOpenSearch
Data type: String
Value:
<enabled/>
<data id="OpenSearch0" value=""/>
<data id="OpenSearchLabel0" value=""/>
<data id="OpenSearch1" value=""/>
<data id="OpenSearchLabel1" value=""/>
<data id="OpenSearch2" value=""/>
<data id="OpenSearchLabel2" value=""/>
<data id="OpenSearch3" value=""/>
<data id="OpenSearchLabel3" value=""/>
<data id="OpenSearch4" value=""/>
<data id="OpenSearchLabel4" value=""/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Pin Internet search sites to the "Search again" links and the Start menu
# State: Enabled
# Supported on: At least Windows Server 2008 R2 or Windows 7
# 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\Windows\Explorer' -Name 'TryHarderPinnedOpenSearch' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch0' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel0' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch1' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel1' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch2' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel2' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch3' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel3' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch4' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel4' -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: Pin Internet search sites to the "Search again" links and the Start menu
# State: Enabled
# Supported on: At least Windows Server 2008 R2 or Windows 7
# 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\Windows\Explorer'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'TryHarderPinnedOpenSearch' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'OpenSearch0' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel0' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch1' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel1' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch2' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel2' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch3' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel3' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch4' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel4' -Value '' -Type String SCCM scripts
# Exported from gporais.com
# Policy: Pin Internet search sites to the "Search again" links and the Start menu
# State: Enabled
# Supported on: At least Windows Server 2008 R2 or Windows 7
# 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: Pin Internet search sites to the "Search again" links and the Start menu
# State: Enabled
# Supported on: At least Windows Server 2008 R2 or Windows 7
# 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\Windows\Explorer' -Name 'TryHarderPinnedOpenSearch' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch0' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel0' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch1' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel1' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch2' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel2' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch3' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel3' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearch4' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Microsoft\Windows\Explorer' -Name 'OpenSearchLabel4' -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: Pin Internet search sites to the "Search again" links and the Start menu
# State: Enabled
# Supported on: At least Windows Server 2008 R2 or Windows 7
# 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\Windows\Explorer'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'TryHarderPinnedOpenSearch' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'OpenSearch0' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel0' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch1' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel1' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch2' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel2' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch3' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel3' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearch4' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'OpenSearchLabel4' -Value '' -Type String Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.