我已经在计算机上为共享文件夹创建了符号链接,并且该符号链接存在于同一计算机上的另一个共享文件夹中。 我可以使用同一台计算机上的符号链接访问此文件夹的内容。 但是,当我尝试从另一台计算机访问符号链接时。 我在Windows XP上遇到拒绝访问错误。 Windows 2008显示"拒绝访问符号错误,因为符号链接已禁用,因此无法遵循"
我还使用了fsutil行为集SymlinkEvaluation R2R:1 L2R:1 R2L:1在我的计算机上创建符号链接(Windows 7)。 我已经使用kernel32 API CreateSymbolicLink创建了符号链接。
我很喜欢以下代码来创建符号链接,
[DllImport("kernel32.dll")]
static extern bool CreateSymbolicLink(string lpSymlinkFileName, string lpTargetFileName, int dwFlags);
static int SYMLINK_FLAG_DIRECTORY = 1;
string finalTargetD = @"\\abhande-win2k8\CopiedFiles";
string sharedDirectory = @"\\abhande-xp\SharedFiles";
public static void CreateSymLink()
{
using (WindowsImpersonationContext ctx = WindowsIdentity.GetCurrent().Impersonate())
{
if(CreateSymbolicLink(sharedDirectory, finalTargetD, SYMLINK_FLAG_DIRECTORY))
{
//symbolic link created successfully
}
}
}
是否有人知道为什么无法从另一台网络计算机访问符号链接。
感谢Arvind
需要在要"跟随"符号链接的PC上正确设置SymlinkEvaluation行为。 符号链接的源/目标(本地/远程)均与打开符号链接的机器有关。
关于SymlinkEvaluation的MS文章:blogs.msdn.com/b/junfeng/archive/2012/05/07/
这可能是由符号链接在客户端计算机而不是服务器计算机上解析引起的。 您可能正在寻找将在服务器上解析的连接点。 这是另一个类似的问题。