从previous question开始,我正在使用UNC路径从Vista计算机上创建Server 2008上的符号链接。我可以创建链接就好了。我可以转到Server 2008框并双击资源管理器中的链接以打开目标文件。但我不能做的是使用FileCreateW来获取UNC路径链接的句柄(来自Vista框)。当我尝试它时,它失败并且GetLastError()返回错误代码1463(0x5B7),这是:
无法遵循符号链接,因为其类型已禁用。
如何在Server 2008中启用其“类型”(假设错误意味着它的内容)?
答案 0 :(得分:58)
嗯,我找到了答案,虽然将其描述为严重记录是轻描淡写的!
首先,this TechEd article强调用户可以“启用或禁用符号链接中可用的四种评估中的任何一种”。这四个“评估”包括远程本地和本地到远程。它没有提供任何关于如何做到这一点的线索。
然而,进一步的搜索显示this fsutil help page,它确实记录了如何“启用或禁用符号链接中可用的四种评估中的任何一种”。所以为了解决我遇到的问题,我需要在Vista框上发出以下命令 :
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
以允许完全访问符号链接指向本地和远程计算机的位置。
答案 1 :(得分:40)
根据W7添加到@David Arno's helpful answer:
fsutil.exe
可以通过简单地运行来显示它所需的参数:
fsutil behavior set /?
要报告当前配置,请运行fsutil behavior query SymlinkEvaluation
- 请参阅@Jake1164's answer,特别是有关组策略的方式可能正在控制行为。
符号链接解析行为是在访问给定链接的计算机上设置的,而不是托管它的计算机。
fsutil behavior set SymlinkEvaluation
的行为代码 - 即L2L
,L2R
,R2L
和R2R
- 表示以下内容:
L
代表“本地”,R
代表“远程”(谁会砰的?)L
或R
- 之前 2
- 指的是链接本身的位置(与其目标相对)相对于机器访问链接。L
之后的第二个R
或2
- - 指的是链接的目标相对于LINK机器的位置本身位于。因此,例如,执行fsutil behavior set SymlinkEvaluation R2L
意味着您可以访问链接:
R
)L
)与David在Vista上遇到的不同,我在W7上能够通过单独启用R2R(而不是还必须启用R2L)来解析指向另一台远程计算机上的资源的远程链接。
答案 2 :(得分:10)
当我的一个遗留程序停止工作时,我最近在我的所有公司Windows 7盒子上找到了这个。经过一些搜索并找到这些设置后,我尝试通过命令行设置并通过注册表进行设置,没有任何解脱。
我发现您可以从提升的提示中使用该命令:
fsutil behavior query SymlinkEvaluation
这将返回这些链接的状态,在我的情况下,它们是由组策略控制的!谢谢IT部门(你f @ $#%$ rs)!
答案 3 :(得分:7)
也可以通过 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem 中的注册表直接操作这些设置: 见SymlinkLocalToLocalEvaluation,SymlinkLocalToRemoteEvaluation,SymlinkRemoteToLocalEvaluation,SymlinkRemoteToRemoteEvaluation。
如果使用" fsutil行为查询SymlinkEvaluation"你的短信.." 目前通过组策略&#34控制,...,检查 HKEY_LOCAL_MACHINE \ SOFTWARE \政策\微软\的Windows \文件系统\ NTFS 强> 或者只是通过注册表搜索" Symlink"
答案 4 :(得分:5)
感谢大卫的提示,我迫切希望解决这个使符号链接无效的问题。
应该注意Vista的默认配置是启用L2L和L2R,但R2R和R2L已禁用。
我首先尝试仅启用R2R,但这还不够。 R2L也必须启用。
我的列表中的下一个问题:如何摆脱目录链接的mklink命令的愚蠢/ D开关。应从目标路径名类型自动推断出默认链接类型!
答案 5 :(得分:2)
这些设置也可以通过注册表直接操作(需要本地管理员写入):
注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
注册表值(名称/数据对):
Name Type Data (1: Enabled; 0: Disabled)
-------------------------------------------------
SymlinkLocalToLocalEvaluation REG_DWORD 1
SymlinkLocalToRemoteEvaluation REG_DWORD 1
SymlinkRemoteToLocalEvaluation REG_DWORD 1
SymlinkRemoteToRemoteEvaluation REG_DWORD 1
很难找到官方文档,但这似乎是Microsoft官方网页:Selectively allow the evaluation of a symbolic link
答案 6 :(得分:2)
仅供参考,如果您有控制SymlinkEvaluation设置的组策略,您仍然可以从命令行自行设置它们。它们将在下次重启/登录时被GP覆盖,但您的设置将在用户会话期间生效。
因此,如果您需要将其设置为GP指示以外的其他内容,您甚至可以在登录时运行脚本以在应用GP后设置它们。
答案 7 :(得分:1)
默认情况下,远程联结点可用。对于文件,您仍然需要符号链接。