How to redirect MS OneNote cache in roaming profiles

Since MS OneNote is still around in companies, also used in Citrix environments, it’s important to make sure the OneNote cache folder is being redirected to a location outside the roaming profile. Because it can take up a lot of space, redirection of the cache folder is mandatory. Whether you use MS roaming profiles, Citrix UPM profiles or VMware UEM profiles, you don’t want to have the OneNote cache roaming in your profile.

Natively, Microsoft doesn’t provide a solution to centrally redirect the OneNote cache folder. No Group Policy exists in which you can configure a redirect. Of course you can instruct your users to manually configure this, but that doesn’t make sense in larger environments.

The solution lays in the use of junctions. A simple batch script can create a junction which would redirect the OneNote cache folder to your homedrive. This script can be deployed by any means you have at hand.

if exist %localappdata%\microsoft\OneNote rename %localappdata%\microsoft\OneNote OneNote.old
mklink /d %localappdata%\microsoft\OneNote \%server%\UserFolders\%username%\OneNote
if not exist \%server%\UserFolders\%username%\OneNote MD \%server%\UserFolders\%username%\OneNote

Important for this to work are specific permissions for users who will be subject to OneNote Cache redirection script. Either a local GPO or Domain GPO needs to be configured on the device to give these users permission to ‘Create symbolic links’.

Under Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment – Create Symbolic Links add the users you’d like to able to create symbolic links.

Edit 2020: Since Microsoft took over FSLogix, using the FSLogix profile container solution has become my preferred method. I doesn’t mean the above method has become invalid, but my from my personal perspective, the FSLogix profile container solution is superior to the solution written down in this blog.


  1. Christoph says:

    Thank you for you’re suggestion. It is working with the 2016 Version in our environment with a simple logon-script. After each Windows-Login the onenote-client ask for the login credentials. Any ideas where the credentials are stored and how to synchronize them to?

    By the way: I could not get it working with the OneNote Desktop App (the already installed version in Windows 10). I changed the directory’s but it is not starting…

  2. Alban Hoop says:

    Thank you very much. This saves us a lot of bandwith every morning when people start their onenote 😉

  3. Yang Heng says:

    Thank you very much!!!!!!!!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.