How Symbolic Links Make Server Migrations Much Easier

This is a guest post from Joseph Moody at More information on Joseph is included in his author box following this post. Thanks, Joseph!!!


Symbolic Links are the most powerful file server tool that you aren’t using. Occasionally called symlinks, these advanced shortcuts allow you to perform some serious smoke and mirrors when accessing data.

Consider the following common scenarios:

  • An application checks for data in a certain location. You would rather store that data elsewhere.
  • Old software needs to write to C:\. You want it to write to %ProgramFiles%.
  • You wish to move data to a new share but don’t want to break existing shortcuts
  • You need an easier way to migrate paths from standard shares to DFS Namespaces

In all of these cases, symbolic links provide a solution.


Creating Your First Symbolic Link

If you have ever installed Windows Vista or higher, you’ve created a symbolic link. That hidden Documents and Settings shortcut in the root of C: is technically a symbolic link. It refers to C:\Users for compatibility purposes.

Windows symbolic link Documents and Settings linked to Users

Making a symbolic link is easy. To create one, you will use the mklink command. Fire up an administrative command prompt and type mklink /? to see the syntax.

Command Prompt showing mklink syntax

As an example, let’s create a symbolic link that redirects a folder from the root of C: to %ProgramFiles%. First, create a folder in C:\ named data. Populate this folder with a file or two. This is your source folder – the folder that you will be moving.

Cut this folder from C:\ and move it to %ProgramFiles%. In your administrative command prompt, type: mklink /D C:\Data “%ProgramFiles%\Data”

example of making a symbolic link with mklink

You should now see a shortcut in C: named Data. Its type though should read file folder. When sorted by name, it should also appear as a folder (one advantage over shortcuts).

If you open the Data folder, you should see the exact content that you moved over to %ProgramFiles%. As a test, open a second Explorer window and navigate to %ProgramFiles%\Data. Create a new text document – it should appear in C:\Data. Like Magic!


How Will You Use Symbolic Links?

The mklink command supports way more than we just showed. At times, you may have to use a directory junction, create hard links, or specify relative target paths.

Working with symbolic links is the fastest way to master these advance parameters. If you want to learn more about symbolic links, check out these three links:

Group Policy Quick Tip: Exclude Files From Being Cached by Offline Files

In this edition of Group Policy Quick Tips, I’ll be covering a policy that has been around a while, but was renamed and might be hard to find if you haven’t configured it before.  In Windows 7/Server 2008 R2, this setting was called “Exclude files from being cached.”  With Windows 8.x/Server 2012, the name changed to “Enable file screens.”  Same thing; different name.

Continue reading

Group Policy Hotfixes

KB2862565 – AppLocker blocks administrators and other high privileged group’s users from executing files on a Windows 7 SP1-based or Windows Server 2008 R2 SP1-based computer

KB2849027 – Internet Explorer 10 security settings are silently applied to client computers when you use GPMC to view the Group Policy Preferences settings in Windows 8 or Windows Server 2012

KB2466373 – BACKSPACE or arrow keys do not work in MMC [especially in the Group Policy Management Console (GPMC)!!!!] on a computer that is running Windows 7 or Windows Server 2008 R2

KB2816253 – Known issues with Office if Desktop or My Documents is redirected

KB981177 – You can still unpin a program from the taskbar unexpectedly when you enable the “Do not allow pinning programs to the Taskbar” Group Policy on a computer that is running Windows 7 or Windows Server 2008 R2

KB981750 – Error message occurs when you use GPMC to view a software restriction Group Policy setting in Windows 7 and in Windows Server 2008 R2: “An error has occurred while collecting data for Software Restriction Policies”

Continue reading

Create a [Mostly] Automated Reference Image in MDT – Part 5: Pause/Suspend the Task Sequence

There may be times when you, for one reason or another, have to perform a manual step as part of creating a reference image.  This could be anything from installing a finicky or old piece of software that doesn’t have an unattended installer, making manual changes, or anything else that for whatever reason can’t be automated.  When this happens, you need to temporarily pause or suspend the Task Sequence so that you can perform whatever manual steps are needed.  So, how do you do that?

Continue reading

Create a [Mostly] Automated Reference Image in MDT – Part 2: MDT Setup

Now that you have MDT and the ADK installed, we need to set up a deployment share in MDT.  Regardless of whether this is a clean install of MDT on a dedicated box or your existing MDT server, we’re going to start off by creating a new Deployment Share that will be dedicated to reference image creation. Continue reading