如何远程拷贝文件?报登录失败: 未知的用户名或错误密码。

caoyuan58 2008-01-28 05:03:24
我要远程拷贝一个文件,双方是可信任的,目标机器的文件夹是共享的,权限是可读写的
string RestoreFile="D:\\文件1";
string strDataDir="\\"+"\\"+"172.19.32.76"+"\\"+"d$"+"\\"+"WorkSpace"+"\\"+"文件1";
File.Copy(RestoreFile, @"\\" + strDataDir,true);

WorkSpace文件夹是在172.19.32.76共享的文件夹

错误:
登录失败: 未知的用户名或错误密码。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.IO.IOException: 登录失败: 未知的用户名或错误密码。
各路英雄帮忙看看有办法解决没?非常感谢
...全文
2459 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanyuetaxue 2012-07-25
  • 打赏
  • 举报
回复
局域网共享的问题,最让人头疼了。试一下,下面的方法。原来搞了一上午才弄好。

1.开启guest账户,并设置空密码。

2.在开始-运行中输入 gpedit.msc,打开 windows设置--本地策略--安全设置--安全选项 中的 网络访问:本地账户共享和

安全模式 设置为 仅来宾,本地用户以来宾身份验证。然后再打开 windows设置--本地策略--安全设置--用户权利指派 中

的 拒绝从网络访问此计算机 中的 guest 去掉。

3.打开 windows设置--本地策略--安全设置--安全选项 中的 账户:使用空白密码的本地账户只允许进行控制台登陆 设置

为 已停用
yirantaoqi 2010-07-25
  • 打赏
  • 举报
回复
orum/ui/scripts/csdn/Plugin/003/onion/27.gif][/img]
lijin84100 2008-11-17
  • 打赏
  • 举报
回复
谢谢了.
wei123456 2008-01-29
  • 打赏
  • 举报
回复
使用net use 命令
----------------
这个方法不错,我怎么就没想起来呢
caoyuan58 2008-01-28
  • 打赏
  • 举报
回复
用一下代码可以实现:

使用net use 命令实现远程机器的文件复制。
比如,从机器A操作实现把机器B的文件拷贝到机器A上,需要把机器B文件夹加上机器A的用户权限。

public static bool Ping(string remoteHost)
{
bool Flag = false;
Process proc = new Process();
try
{
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
string dosLine = @"ping -n 1 " + remoteHost;
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (proc.HasExited == false)
{
proc.WaitForExit(500);
}
string pingResult = proc.StandardOutput.ReadToEnd();
if (pingResult.IndexOf("(0% loss)") != -1)
{
Flag = true;
}
proc.StandardOutput.Close() ;
}
catch (Exception ex)
{
}
finally
{
try
{
proc.Close();
proc.Dispose();
}
catch
{
}
}
return Flag;
}

public static bool Connect(string remoteHost, string userName, string passWord)
{
if(!Ping(remoteHost))
{
return false;
}
bool Flag = true;
Process proc = new Process();
try
{
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
string dosLine = @"net use \\" + remoteHost + " " + passWord + " " + " /user:" + userName + ">NUL";
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (proc.HasExited == false)
{
proc.WaitForExit(1000);
}
string errormsg = proc.StandardError.ReadToEnd();
if (errormsg != "")
{
Flag = false;
}
proc.StandardError.Close() ;
}
catch (Exception ex)
{
Flag = false;
}
finally
{
try
{
proc.Close();
proc.Dispose();
}
catch
{
}
}
return Flag;
}
这两个方法是对机器B建立连接,连接成功后,用File.Copy就可以了
if (Ping("机器B"))
{
if (Connect("机器B","机器A用户","机器A用户访问密码"))
{
File.Copy("\\机器B\文件路径\文件名称","机器A存放文件完整路径",true);
}
}


caoyuan58 2008-01-28
  • 打赏
  • 举报
回复
恩 是的
wei123456 2008-01-28
  • 打赏
  • 举报
回复
没权限,共享目录的共享权限是everyone的吗

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧