符号链接,无法从网络计算机访问。获取错误“无法遵循符号链接,因为其类型已禁用”

时间:2010-08-23 06:21:24

标签: c#

我已在我的机器上为共享文件夹创建了符号链接,并且此符号链接存在于同一台计算机上的另一个共享文件夹中。我可以使用同一台机器上的符号链接访问此文件夹内容。但是当我尝试从另一台机器访问符号链接时。我在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

2 个答案:

答案 0 :(得分:3)

需要在要“跟踪”符号链接的PC上正确设置SymlinkEvaluation行为。符号链接源/目标(本地/远程)都是相对于打开符号链接的机器。

答案 1 :(得分:0)

这可能是由客户端计算机而不是服务器计算机上的符号链接解决引起的。您可能正在寻找可在服务器上解析的联结点。这是另一个similar question