作为普通用户,如何在 Windows 7 家庭高级版中创建链接?

ste*_*nmm 76 windows-7 symbolic-link mklink

我是一个 Linux 人,因此当我尝试在 Windows 上做任何事情时,我非常迷茫。我正在尝试创建以下链接:

mklink /d C:\backup\data \\myth\backup\data
Run Code Online (Sandbox Code Playgroud)

但是我没有足够的权限来执行此操作。如何在 Windows 7 中获得足够的权限?

更新:

右键单击 C:\backup\data 并将经过身份验证的用户的权限更改为完全访问权限,重新启动机器并再次尝试该命令,但没有成功。有人有任何进一步的建议吗?

Hug*_*len 124

如前所述这里

创建符号链接需要 SeCreateSymbolicLinkPrivilege(“创建符号链接”),默认情况下仅授予管理员权限(但您可以使用安全策略更改该权限)。

要更改策略:

  1. 右键单击Start? Run并启动secpol.msc

  2. 打开Security Settings ? Local Policies ? User Rights Assignment并选择Create symbolic links(代表SeCreateSymbolicLinkPrivilege)。

在此处输入图片说明

  1. 双击该项目并将您自己(或整个Users组)添加到列表中。

当您注销并再次登录时,更改将应用​​。

  • 这对我不起作用,无论我是添加我的用户、“用户”还是“所有人”。我注销并重新启动,但在我的主目录中,命令“mklink /D docs Dropbox”仍然给我“您没有足够的权限来执行此操作。” 如果我尝试使用文件而不是目录,结果相同。 (9认同)
  • @Ben 我同意这看起来很糟糕。不过,经过反思,我认为我通过右键单击并选择“以管理员身份运行”运行“cmd”窗口解决了我的问题。有人向我解释说,在启动进程时,Windows 会从中剥离管理员权限,除非您选择“以管理员身份运行”。此时,如果您不是管理员,则必须输入管理员密码。如果您已经是管理员,则无需输入任何内容。也许这让我可以从 cmd 窗口中运行“mklink”。 (4认同)
  • Brandon Donnelson 的回答解决了我的问题:除上述之外,运行“mklink”的用户不能是管理员。 (3认同)
  • 请注意,在 Win7 上,“用户”组对我不可见,直到我从“选择用户或组”对话框中单击“对象类型”按钮并添加了“组”。 (2认同)

Jon*_*ley 22

我刚刚发现即使无法创建符号链接,我也可以创建“连接点”:

mklink [/D] /J junctionname filename
Run Code Online (Sandbox Code Playgroud)

其中 /J 表示“创建一个结点”,而 /D 是,我相信,如果命名文件是一个目录。(我的用户目前是管理员)

但是,与“bat”文件的连接似乎不可执行,因此这实际上没有任何用处。

有没有人明白为什么会这样,或者如何修复它以提供解决 OP 问题的替代方法?

  • 您可以在没有管理员权限的情况下创建硬链接 (`mklink /H`),并且该链接是可执行的。硬链接用于文件,连接用于目录,符号链接用于两者(并且`/D` 用于表示符号链接用于目录)。 (12认同)
  • 但是,对于 OP 中的示例,连接和硬链接都没有用,因为它们都不能指向网络驱动器(硬链接仅限于同一分区,连接仅限于本地驱动器);只有符号链接或 Windows 快捷方式可以做到这一点。 (6认同)

Bra*_*son 13

我发现只有非管理员才能做到。添加非管理员以创建符号链接并以非管理员身份运行。您必须添加一个具有非管理员权限的人员。然后您为非管理员授予目标权限,以便他可以执行 runas mklink。

  • 还值得注意的是,*有*可能使用具有管理员权限的帐户成功运行 mklink。但这需要关闭 UAC。 (4认同)
  • 这完全解决了我的问题:我的用户是管理员,但在启用“来宾”帐户、调用“runas /user:guest cmd”然后从新的 cmd 会话运行 mklink 之前,“mklink”将无法工作。它还需要临时授予权限,以便来宾帐户可以进入并修改我的主目录,我想要符号链接,这会导致一系列错误对话框,但它们似乎有害。 (2认同)