When creating Managed Properties in SharePoint Search it is difficult to find the exact name of the crawled property. This proves to be impossible in a very large environment as there can be hundreds of similarly named crawled properties.


I have created a PowerShell script which will display all the crawled properties and values for a specific document.
The script accesses the SPListItem.Xml Property, this property contains all of the Items properties and their values.
This script is very valuable in troubleshooting as it shows you the exact value for each field as show in this blog: Error from SharePoint site: *** Index was outside the bounds of the array


The Script can be downloaded from the Microsoft Script Center Here Get-Crawled-Property-Names


# Name:               Get-CrawledProperties.ps1

# Description:         This script will show you the crawled property names for a document library

# Usage:            Run the function with a Document  URL as the parameter.

# By:                 Ivan Josipovic,


Function Get-CrawledPropertyNames([string]$DocURL){

$DocURL = $DocURL.Replace(“%20″,” “)

$webfound = $false

$weburl = $DocURL


while ($webfound -eq $false) {

if ($weburl.Contains(“/”)){

$weburl = $weburl.Substring(0,$weburl.LastIndexOf(“/”))

$web = get-spweb -identity $weburl -ea 0

if ($web -ne $null){

$webfound = $true



Write-Host -ForegroundColor Red “The Web could not be found”

return -1




$web.GetFile($DocURL).item.xml.Replace(“‘ “, “‘ `n”).Replace(“`” “, “`” `n”)



#To use enter the url of a file within a doucment library

Get-CrawledPropertyNames “http://sites/doc/file.pdf

If you have any questions please leave a comment.



Written By:


More By This Author