.NET中的网络文件副本

时间:2011-10-18 17:05:05

标签: c# networking copy share sharing

我有一个运行Samba共享的Ubuntu盒子向所有人开放。我可以通过\ ip地址访问它,所以我知道我可以完全访问它。

从我的应用程序中我尝试以下但它不能通过IP地址只有DNS名称。

// val = ip address
File.Copy("\\\\" + val + "\\share\\vSphere\\vSphere.exe", Temp + "vSphere.exe", true);

我需要使用IP地址,因为在VPN中的人将无法让程序只访问dns名称的IP地址。

1 个答案:

答案 0 :(得分:2)

首先,尝试提供以下IP地址

File.Copy(@"\\192.100.1.23\share\vSphere\vSphere.exe", Path.combine(Temp ,"vSphere.exe"), true);

如果存在错误,请尝试使用impersonate,提供用户名和密码

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);

WindowsIdentity idnt = new WindowsIdentity(username, password);

WindowsImpersonationContext context = idnt.Impersonate();

File.Copy(@"\\192.100.1.23\share\vSphere\vSphere.exe", Path.combine(Temp ,"vSphere.exe"), true);

context.Undo();