48

I was trying to use mklink command in cmd (I have Windows 7 OS) I was logged on as administrator, but I got:

You do not have sufficient privilege to perform this operation.

I used the same command in Vista, it worked OK. Any ideas why it does not work in Windows 7?

9 Answers 9

37

Try explicitly running the CMD shell as administrator. If that doesn't help, then try the runas command.

runas /user:administrator "mklink args"

Quotes around the mklink command and its arguments are required.

7
  • 29
    Symlinks are too dangerous for a normal user. LOL. I wish I could understand the considerations behind this. :-(
    – Notinlist
    Apr 14, 2011 at 13:34
  • 2
    My user is an administrator (there is no user called "administrator" on this machine.) but I still get "You do not have sufficient privilege to perform this operation." Jan 8, 2012 at 18:35
  • 5
    This answer, although helpful advice in the general case, seems to be exactly the opposite of the behaviour I'm observing: mklink only works for me when my user is not an administrator. Puzzling. Jan 9, 2012 at 0:41
  • what to do if you don't have a login password? it is asking for one and if I leave blank it tells me blank password error...
    – ecoe
    Aug 17, 2014 at 18:21
  • 1
    so, after finding out winblows broke the years and years old 'cd' syntax for cd /D, you get to type in the mklink syntax in the horrible contraption called 'cmd.exe' to find out you don't have privileges nad had to run as administrator first. Winblows sysadmin, the horror aaargh.
    – Michahell
    Jan 18, 2016 at 18:23
16

Type CMD, you will see CMD.exe in the list at start menu.

Right click on it, select "Run as Administrator"

14

In response to this not working for administrator accounts, I believe that Configuring symlink support in Windows 7 is relevant.

After giving “Everyone” the privilege “Create symbolic link”, please reboot (or log off) and log in as a standard user, a user who is NOT a member of group “Administrators”. You should be able to create a symbolic link using mklink command in a directory where user has write permissions.

The reason a member of “Administrators” cannot create symbolic link is because “Create symbolic link” privilege is removed from the filtered token since user is a member of “Administrators” group. Section “Access Token Changes” of article at link http://msdn.microsoft.com/en-us/library/bb530410.aspx describes in more details on how filtered token is created.

3
  • 12
    Why does Microsoft always screw up?
    – CodeManX
    Apr 15, 2016 at 9:35
  • @CoDEmanX, its complicated :)
    – alpha_989
    May 19, 2018 at 20:49
  • 1
    Wait, so... where does one set those write permissions? The linked articles are not exactly the clearest to read through. Oct 22, 2019 at 14:29
11

First, make sure you've granted the "Create symlinks" permission to the relevant users, as detailed here.

Bizarrely, the mklink command will not work for me if my user is an administrator. It gives:

You do not have sufficient privilege to perform this operation.

To make it work, I then need to either remove my user from the administrators group, or run mklink from a cmd which has been run as a non-Administrator user such as guest:

runas /user:guest cmd

(Enable the guest account if it isn't already)

Using this latter method, you'll also have to temporarily grant permissions for 'guest' account to modify the location you're creating the Symbolic link in, which in my case was my home directory, causing a flurry of error dialogs, but they seemed harmless.

1
  • 1
    It doesn't seem to work (I blame Microsoft). The runas command asks for the password of the specified user, even if the account doesn't have one. If you leave it blank (hit enter), it errors out. If the account does have a password and you type it in, then I end up with the system cannot find the file specified. Starting a cmd as admin, navigating to the target dir and creating the symlink with your own account suddenly appears so easy...
    – CodeManX
    Apr 15, 2016 at 10:02
11

If, for some reason, you cannot elevate your account to an administrator (eg. you're on a work computer), and you're trying to link a directory, try creating a junction instead of a hard/soft symbolic link. The source folder can be absolute or relative.

mklink /J linkedfolder sourcefolder
1
  • 2
    Thank you. This worked for me as I do not have admin on my work pc and needed to link cygwin directories and windows directories.
    – dukevin
    Aug 6, 2019 at 20:41
1

In a WIN+R (Run.....) box, type cmd and hit CTRL+SHIFT+ENTER to run Command Prompt as Administrator.

0

Check to see the "Secondary logon" service isn't disabled.

1
0

Run "CMD" Command Prompt with "Administrator Privileges":

  • Start > Search for CMD
  • Right Click and chose "Run as Administrator"
  • Click Yes on "Do you want to allow this app to make changes to your device?"

And run you command again.

-3

If not installed, please consider installing Microsoft.NET framework 2.0 or the service packs that go with it.

It worked for me!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .