Follow

Outlook Indexing For Non-Persistent Desktops using Profile VHD/VMDK

Product: ProfileUnity

Product Version: 6.5+

Expires on: 365 days from publish date

Updated: February 16, 2017

 

Problem: 

Need to enable Outlook indexing for non-persistent desktops.

 

Symptoms: 

Outlook indexing runs every time a user logs into Outlook, slowing performance.

 

Solution:

Indexing within Windows is an I/O intensive operation. In most cases, the best practice is to disable Search/Indexing in VDI desktop pools. Underlying Network and Storage should be taken into account when determining if Indexing needs to be enabled on a VDI pool.

Storage and Networking Requirements/Recommendations for optimal performance:

  • ProfileDisk on VHD: No more than 2 Hops from Desktops to FileServer housing VHD, no router or firewall boundaries between File Server and Desktop. Storage Volume housing VHDs on server should not have higher than 10ms latency. Network latency must be less than 1ms.
  • ProfileDisk on VMDK: Datastore housing VMDKs must have no more than 10-15ms latency with no spikes over 15ms.

 

ProfileUnity Configuration Method (Recommended):

1.Configure ProfileUnity 6.5 console for ProfileDisk VMDK or VHD and update nodes.xml

Note: Bottom of this KB are related links about  how to create and configure "ProfileDisk"

2. Set the search service (Windows Search) to DISABLED in the base image.

3. Shutdown the base image and take a new snapshot.

4. Recompose View Pool using newly created snapshot with Windows Search disabled

5. Create 7 User Defined Script rules in your active configuration OR import configuration with these settings. (attached to this KB) 

Rule 1. Description: Rename Search

        Execute: After ProfileUnity at Logon (Post-Logon)

        Type: Executable

        File: c:\windows\system32\cmd.exe /c move "%systemdrive%\ProgramData\Microsoft\Search" "%systemdrive%\ProgramData\Microsoft\Search.old"

Rule 2. Description: Make Search Directory

        Execute: After ProfileUnity at Logon (Post-Logon)

        Type: Executable

        File: c:\windows\system32\cmd.exe /c mkdir "%userprofile%\MS_Search\Index\Search"

Rule 3. Description: Symlink Search Directory

        Execute: After ProfileUnity at Logon (Post-Logon)

        Type: Executable

        File: c:\windows\system32\cmd.exe /c mklink /d "%systemdrive%\ProgramData\Microsoft\Search" "%userprofile%\MS_Search\Index\Search"

Rule 4. Description: Configure Search Service

        Execute: After ProfileUnity at Logon (Post-Logon)

        Type: Executable

        File: c:\windows\system32\cmd.exe /c sc config WSearch start= demand

Rule 5. Description: Start Search Service

        Execute: After ProfileUnity at Logon (Post-Logon)

        Type: Executable

        File: c:\windows\system32\cmd.exe /c sc start WSearch

Rule 6.  Description: Disable Search Service (At Logoff)

        Execute: Before ProfileUnity at Logoff (Pre-Logoff)

        Type: Executable

        File: c:\windows\system32\cmd.exe /c sc config WSearch start= disabled

Rule 7. Description: Stop Search Service (At Logoff)

        Execute: Before ProfileUnity at Logoff (Pre-Logoff)

        Type: Executable

        File: c:\windows\system32\cmd.exe /c sc stop WSearch

 

6. Click Save to save the configuration, then download the .ini file to your ProfileUnity directory. If you imported attached configuration than this configuration file will run alongside your default configuration.

 

 

How To Check If Outlook Indexing Is Active Outlook 2013:

1. Open Outlook and click on any folder.

2. Click in the Search bar at the top right. A 'Search Tools' option will appear in the Ribbon at the top. Select 'Search Tools', then 'Indexing status...'

indexing_status.png

3. If indexing is working properly, the indexing status will appear. The count may take time to get down to zero, but it should not start over from the beginning at the next login.

status.png

 

How To Check If Outlook Indexing Is Active Outlook 2016:

 

Example of "Search" folder in "%systemdrive%\ProgramData\Microsoft" if User Defined Scripts are configured correctly:

 

Note: Verify that there are NO WSearch GPO's enabled as they would break the sim-link creation (Step 1&2)

Example:

Related KB: ProfileUnity 6.5 - How to setup VHD ProfileDisk 

Related KB: ProfileUnity 6.5 - How to setup VMDK ProfileDisk (High Availability Mode)

Related KB: ProfileUnity 6.5 - How to migrate from Portability to ProfileDisk

Related KB: ProfileUnity 6.5 - How to migrate AppData folder redirection to ProfileDisk

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

0 Comments

Article is closed for comments.