无法将文件从共享上的一个位置复制到同一共享上的另一个位置,无需凭据

Posted

技术标签:

【中文标题】无法将文件从共享上的一个位置复制到同一共享上的另一个位置,无需凭据【英文标题】:Not able to copy a file from one location on a share to another on the same share, no credentials needed 【发布时间】:2018-04-10 01:26:08 【问题描述】:

这个问题与其他所有问题的最大区别在于,我想要在其上复制文件的网络共享不需要凭据。我可以在不输入用户名和密码的情况下将驱动器映射到该共享并且它工作得很好。这是我的代码:

try

    System.Diagnostics.Process.Start(@"\\UTMSFP23\GROUP\1217\");
    File.Copy(@"\\UTMSFP23\GROUP\1217\IS_TEMPLATE.xlsx", @"\\UTMSFP23\GROUP\1217\IS_" + todayFormatted2 + ".xlsx");

catch(Exception e)

    Console.WriteLine(e.ToString());

我可以打开一个文件资源管理器窗口到我正在复制的目录,但是一旦调试器点击文件复制行,它就会进入 catch 块并给出以下错误:

System.IO.IOException:登录失败:未知用户名或密码错误。

我不明白如何在不输入凭据的情况下将驱动器映射到该共享,在没有用户名或密码的情况下打开文件资源管理器到该目录,但我无法将该目录中的文件复制到同一目录一个不同的名字。我检查了模板文件的安全权限以查看是否是它,但它已授予所有人完全控制权。有人可以帮帮我吗?

【问题讨论】:

此代码在您的网站中,不是控制台应用程序吗? 它是一个什么样的应用程序? Web 应用程序、Windows 窗体或控制台应用程序? 我正在运行一个 c# 控制台应用程序。 【参考方案1】:

什么是 Console.WriteLine(e.ToString());说什么时候进入渔获?这可能会给您一些关于您遇到的权限问题的线索?

【讨论】:

我在原帖中提到过:System.IO.IOException: Logon failure: unknown user name or bad password。但这没有任何意义,因为我不需要任何凭据即可登录此共享,因此是我的问题。【参考方案2】:

这是一个网络驱动器吗?因为如果它有一个集群与之相伴。这不仅仅是一些文件路径,就是这样。此外,通常在映射时会为其分配一个驱动器号。我在您的文件路径中没有看到任何驱动器号,或者这是我没有看到的代码部分。如果您在网络上并且分配了多台计算机并不意味着它总是相同的驱动器号,或者因为它的映射方式。

【讨论】:

以上是关于无法将文件从共享上的一个位置复制到同一共享上的另一个位置,无需凭据的主要内容,如果未能解决你的问题,请参考以下文章

如何从同一网络上的另一台计算机访问 localhost? [复制]

怎样将mac上的文件共享,在另一台windows电脑上使用?

共享 NSUserDefaults plist 文件?

无法从同一网络上的另一台计算机连接到 Grapevine

如何将 chrome 书签从单个桌面上的不同用户配置文件复制到另一个网络位置

转换后将数据从一列复制到同一表中的另一列