Troubleshoot-ModernSearch
Download the latest release: Troubleshoot-ModernSearch.ps1
This script is still in development. However, this should be able to quickly determine if an item is indexed or not and why it isn't indexed. Just provide the full message subject and the mailbox identity and it will dump out the information needed to determine if the message is indexed or not.
Parameters
Parameter | Description |
---|---|
MailboxIdentity | Provide the identity of the mailbox that you wish to be looking at. If you are able to find it via Get-Mailbox it is able to be used here. |
ItemSubject | Provide the message's subject name. Must be exact if -MatchSubjectSubstring isn't used. This includes if there is a trailing space at the end of the message subject. |
MatchSubjectSubstring | Enable to perform a like search in the mailbox with the value that is passed with -ItemSubject . |
FolderName | If you want to scope the search to a folder for better and faster results, include the name of the folder that the message is in. |
DocumentId | If you already know the document ID number for the mailbox, provide this. This can not be use with -ItemSubject parameter. |
Category | Provides a breakdown of the messages in the mailbox for that index category state. Possible options are: All , Indexed , PartiallyIndexed , NotIndexed , Corrupted , Stale , and ShouldNotBeIndexed . NOTE: Depending the item count, this can take a long while to complete. |
GroupMessages | To group the messages by Indexing Error Message and Permanent failure state or not. By Disabling this, you get more properties displayed of the message as well. |
Server | Provide a list of possible servers that you wish to get mailbox statistics for all the active databases on that server. |
SortByProperty | Provide the property that you wish to have the information sorted by in the output to screen. Default is to sort by FullyIndexPercentage |
ExcludeFullyIndexedMailboxes | When look at the multiple mailbox statistics, we don't want to view the mailboxes that are fully indexed without any indexing problems. |
QueryString | Include a string that you are using to try to find this item, we will run an instant query against it to see if we can find it. |
IsArchive | Enable if you want to look at the archive mailbox. |
IsPublicFolder | Enable if you want to look at a public folder mailbox. |
Examples
This is an example of how to run a basic query again a single item.
.\Troubleshoot-ModernSearch.ps1 -MailboxIdentity han@solo.com -ItemSubject "Test Message"
This is an example of how to run the script when you want to query multiple items with a similar subject name.
.\Troubleshoot-ModernSearch.ps1 -MailboxIdentity "Zelda01" -ItemSubject "Initial Indexing" -MatchSubjectSubstring
This is an example of how to run the script against an Archive Mailbox.
.\Troubleshoot-ModernSearch.ps1 -MailboxIdentity han@solo.com -ItemSubject "Test Message" -IsArchive
This is an example of how to run the script against a Public Folder Mailbox
.\Troubleshoot-ModernSearch.ps1 -MailboxIdentity PFMailbox2 -ItemSubject "My Item Test" -IsPublicFolder
This is an example of how to run the script to get all the index state categories
.\Troubleshoot-ModernSearch.ps1 -MailboxIdentity "Zelda02" -Category "All"
This is an example of how to run the script to get all the non indexed items
.\Troubleshoot-ModernSearch.ps1 -MailboxIdentity "Zelda02" -Category "NotIndexed"
This is an example of how to run the script to get all the active mailboxes on a server
.\Troubleshoot-ModernSearch.ps1 -Server "Solo-E19A"