File.Copy() 到具有网络凭据的文件服务器 [重复]

Posted

技术标签:

【中文标题】File.Copy() 到具有网络凭据的文件服务器 [重复]【英文标题】:File.Copy() to file server with network Credential [duplicate] 【发布时间】:2011-06-24 20:36:10 【问题描述】:

我正在编写控制台应用程序,它将文件从我的本地磁盘复制到文件服务器。此文件夹受用户名和密码保护。 File.Copy() 方法不起作用。它给出了权限错误。 I have looked to this code

我试过了,但它不起作用。首先它是用 VB 编写的,但我已将代码更改为 C#,但有一些错误。我不知道这个错误是什么意思。也许您可以建议我以其他方式将文件处理到受保护的文件服务器

使用简单的 File.Copy(bla bla) 它给了我“你没有权限”

当我将 VB 代码转换为 C# 时,出现以下错误:尝试读取或写入受保护的内存

我找到了解决办法

You can Follow It

【问题讨论】:

我可以建议您发布错误。 代替“另一种方式”,让我们尝试采用您尝试过的工作方式。当您转换该代码时,您看到了什么样的错误? 当我将代码转换为 C# 时,它给了我以下错误:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。我确定我已经正确更改了它,但在一行中我不确定。这一行是 Dim admin_token As IntPtr 我已将其更改为 IntPtr admin_token = new IntPtr(); 相关 - ***.com/questions/17786037/… 【参考方案1】:

你可以使用我几年前写的little impersonation class:

using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )

   // code that executes under the new context.
   File.Copy( x, y );

【讨论】:

如果我的代码无法正常工作,我会在稍后查看您的代码 :-) 我认为您的代码是正确的。感谢回复 我需要你的帮助。我可以为 Domain 参数设置 null 吗? 您可以使用单个点“。”表示正在使用本地帐户数据库。 Environment.MachineName 我猜也可以。 @omriman12 有史以来最糟糕的错误描述。

以上是关于File.Copy() 到具有网络凭据的文件服务器 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

File.Copy() 从网络共享到同一台机器上的另一个共享是不是通过网络复制文件?

File.Copy 与手动 FileStream.Write 用于复制文件

File.Copy() 同步还是异步?

复制具有原始权限的文件

从 xml 文件复制数据并粘贴到同一文件中并使用 FIle.Copy() 覆盖

win10共享文件,映射网络驱动器的凭据账号密码如何设置