如何使用不同的凭据连接到映射/本地磁盘?

时间:2015-06-01 18:56:33

标签: c# windows io mapped-drive

我知道我可以使用WNetAddConnection2和类似的变体来使用自定义凭据连接到远程共享。我想对映射驱动器(例如\\MyShare\MyFolder映射到Y:)和我的本地磁盘(例如:C:D:E:执行相同操作等等......)
如果我将WNetAddConnection指向不是\\的东西,它就会失败......

是否有针对此场景的特定功能???

1 个答案:

答案 0 :(得分:0)

在工作中,我们使用WindowsImpersonationContext来处理这种情况。最初我们在VB.NET ASP.NET应用程序中使用它,但它很容易修改。

Microsoft Support有一篇关于如何做的很棒的文章。 (我们最初将它用于网络驱动器,但它也可以扩展到本地磁盘。)

您基本上可以模拟有效的用户帐户,该帐户会授予您该帐户的权限。我不得不使用它来访问工作中的网络驱动器,在不属于域的计算机上。 (因此,我们必须为此用户帐户提供不在我们域网络上的用户名,域名和密码,这个主题很适合我们。)