SharePoint 2010 Help content cannot be displayed

When you are using multiple languages for your SharePoint 2010 it is possible that the help functionality on a site based on the Non-default language, the help content will not display.

For us this happened after migrating a SharePoint 2007 environment to SharePoint 2010.

Looking around in forums I didn’t get the answer I wanted. People told me to create an English site and open the help function, after that the Dutch help would work again. I tried it and it worked, but after 1 day, the help function again wasn’t available.

To resolve the above issue I did the following. All steps will be explained below:

  • Find the Admin Content database;
  • Check and add permissions for the Web Application application pool account;
  • Check the help function on the Dutch site.

Find the Admin Content database

When this issue occurs, an entry is logged to the Application log in the Event Viewer.

image

From this entry, you can retrieve the Admin Content database.

Check permissions for the Web Application application pool account

Open the Microsoft SQL Server Management Studio. Navigate to the Database roles for the SharePoint AdminContent database: (local)\SharePointinstance –> Databases –> SharePoint_AdminContent_8a628b24 –> Security –> Roles –> Database Roles

Double click WSS_Content_Application_Pools. This will open the Database Role properties. On the left hand side, select Securables. Look for the following entries:

  • proc_EnumResourcesAtScope
  • proc_EnumResourceValuesForAllLangs

If these do not exist, perform the following steps to add them:

Click Search… –> Specific objects… –> OK –> Object Types –> select Stored procedures –> OK –> enter the above 2 entries: proc_EnumResourcesAtScope and proc_EnumResourceValuesForAllLangs  –> Click Check Names and accept –> OK.

image

Now the stored procedures are added to the WSS_Content_Application_Pools Database role. Now we need to add the Execute permission for this database role.

To do this, select the 2 entries, and check Execute. After you are done, click OK.

image

Check the help function on the non-default language site

Open the site you wish to check the help settings for, and click the question mark.
This time, the help content should be displayed perfectly..

image

Recover a single e-mail using Search-Mailbox in Exchange 2010

*Note* This article applies to Exchange Server 2010 SP1.

Recently I was asked to recover a single e-mail, because he deleted it by accident. In Exchange 2007 I would use the Export-Mailbox cmdlet.
In Exchange 2010 SP1 a new cmdlet has been introduced: Search-Mailbox. For general information regarding this cmdlet, check the following
TechNet article.

I went through the following steps to perform the recovery of the single e-mail:

  • Assign permissions to perform the search;
  • Use the Search-Mailbox cmdlet to export the specific e-mail;
  • Use the Search-Mailbox cmdlet to recover the e-mail.
    Scenario

regularuser@mydomain.com removes an e-mail by accident and sends the following e-mail to admin@mydomain.com:

Hi Admin,

I deleted an e-mail by accident. This is what I know:
Received from: otheruser@mydomain.com
Subject: Important e-mail #3

Could you please restore this e-mail to my mailbox?

Assigning permissions to my “admin account”

By default, no user can use the Search-Mailbox cmdlet in the EMS. To be able to do this, you will need the “Discovery Management” management role group.

If you would try to execute a Search-Mailbox command without the needed permissions, the EMS will not recognize the cmdlet.
To add your account to this group, you can use the following line:

Add-RoleGroupMember "Discovery Management" –Member myadmin

Using Search-Mailbox to export the e-mail(s)

Now you are ready to export the e-mails you need to recover. Using the Search-Mailbox cmdlet with a specific Searchquery, you can filter the e-mails for the mailbox you provided.

Search-Mailbox -identity "regularuser@mydomain.com" -TargetMailbox "DiscoveryMailbox" -TargetFolder "regularuser" -SearchQuery ‘Subject: "Important e-mail #3" AND from:"otheruser@mydomain.com"’

This command will export all e-mails with subject: “Important e-mail #3” received from e-mail address: “otheruser@mydomain.com”. Of course, you could refine the search query even more. Check the following Technet article for possible SearchQuery syntax.

Using Search-Mailbox to recover the e-mail

The “DiscoveryMailbox” now contains a folder “regularuser” with all e-mails filtered by the Search-Mailbox command.We are going to perform a similar action for the DiscoveryMailbox to recover the e-mail to the right user.

Search-Mailbox -identity "DiscoveryMailbox" -TargetMailbox regularuser@mydomain.com -TargetFolder "Recovered emails" -SearchQuery ‘Subject: "Important e-mail #3" AND from:"otheruser@mydomain.com"’

When running this command, the e-mails will be sent back to regularuser@mydomain.com. This user can then move the e-mail to the appropriate mail folder.

image