在没有管理员命令提示符的情况下,如何在Windows 8.1中创建符号链接?


8

我希望有人可以纠正我在Windows 8.1中尝试创建符号链接时出了错的地方,而不必以管理员身份运行cmd.exe。

每当我尝试从常规命令提示符创建符号链接时,都会得到通常的权限响应...

C:\Users\MyUser>mklink symlink.txt mytextfile.txt
You do not have sufficient privilege to perform this operation.

...并且确实可以通过admin命令提示符(如预期的那样)...

C:\Users\MyUser>mklink symlink.txt mytextfile.txt
symbolic link created for symlink.txt <<===>> mytextfile.txt

但是,似乎没有任何通常的修复程序可以在Windows 8.1中运行(至少,我可以找到的修复程序)。

我已尝试按照“ 如何以普通用户的身份在Windows 7家庭高级版中创建链接”的答案进行回答,但似乎没有作用。

我还将UAC设置为最低级别。

还有什么我想念的吗?


2
是UAC的错。:请参阅答案由“保贝茨”这里stackoverflow.com/questions/15320550/...
StackzOfZtuff

@StackzOfZtuff-好吧,这很烦人。感谢您的链接,看来我将不得不在UAC和没有Metro应用之间进行选择。我想我永远也不会理解微软试图与UAC做些什么。
Karl Nicoll 2014年

Answers:


9

“已过滤”令牌中缺少特权

禁用UAC。或启用UAC:启用后,请SECreateSymbolicLinkPrivilege尝试使用非管理员帐户。

解释
抓住了17.从我如何阅读MS文档开始。

如果您的用户帐户中有一个列入黑名单的知名管理员组,则会创建第二个非提升的令牌。

SeCreateSymbolicLinkPrivilege当从提升令牌生成非提升令牌时,相关内容被过滤掉。

从MSDN:用户界面特权隔离(UIPI)

如果满足以下两个条件之一,则Windows将为用户创建两个访问令牌:用户帐户包含以下任何RID。
DOMAIN_GROUP_RID_ADMINS
[...]
筛选后的令牌具有哪些特权,取决于原始令牌是否包含上面列出的任何受限制的RIDS。如果令牌中包含任何受限制的RID,则将除去以下所有特权:
SeChangeNotifyPrivilege
SeShutdownPrivilege
SeUndockPrivilege
SeReserveProcessorPrivilege
SeTimeZonePrivilege

因此,解决方案是完全禁用第二代令牌。通过从您的帐户中删除所有提及的组,或者完全禁用UAC。

(免责声明:Paul Betts完成了工作。我刚刚添加了一些细节。请在此处查看他的答案:https : //stackoverflow.com/questions/15320550/secreatesymboliclinkprivilege-ignored-on-windows-8

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.