Add Custom Scope to SharePoint Search Dropdown using PowerShell

Requirement: We've created a custom search scope "Search All Documents" in SharePoint Central Admin and would like to include it in search scope drop downs of few site collections.

SharePoint 2010 add search scope to drop down:
Well, its a few-clicks job to include custom search scopes to search drop down in SharePoint. Here is how:
  1. Go to Site Actions >> Site Settings
  2. Click on "Search Scopes" link under Site collection administration Add Custom Scope to SharePoint Search Dropdown using PowerShell
  3. Click on "Display Groups" link and choose "Search Dropdown"
    Edit Search Dropdown Scopes
  4. From here, we can include/exclude any scopes to search dropdown by simply selecting/deselecting check-boxes.Edit Search Scopes Dropdown
Add custom scope to SharePoint Search Scope Drop downs using PowerShell
While its not tedious to customize search scope dropdowns by following above steps for few site, We had to do it for all site collections under a particular managed path.(around 50!). Here is the PowerShell script to add custom search scopes to SharePoint search dropdown:

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Set these three variables accordingly
$SiteURL  = ""
$CustomSearchScopeName = "Search All Documents"
$DisplayGroupName = "Search Dropdown"

#Get the Site Object
$Site= Get-SPSite $siteURL

$SearchContext= [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($site)
$Scopes= New-Object Microsoft.Office.Server.Search.Administration.Scopes($searchContext)

#Get the Display Group 
$SearchDropdownDisplayGroup =  $scopes.GetDisplayGroupsForSite($SiteURL) | Select-Object -First 1
#Get the custom scope
$CustomSearchScope = $Scopes.GetSharedScope($CustomSearchScopeName)

#Add custom scope to Display group
See the result in action:Include Custom Scope to SharePoint Search Dropdown PowerShell

No comments:

Please Login and comment to get your questions answered!

Powered by Blogger.