0
我知道我可以使用WNetAddConnection2和类似的变体来使用自定义凭证连接到远程共享。我想为映射驱动器做同样的(例如:\\MyShare\MyFolder
映射到Y:
)和我的本地磁盘(如:C:
,D:
,E:
,等...)
如果我点WNetAddConnection的东西不\\
失败..如何使用不同凭据连接到映射/本地磁盘?
是否有针对此场景的特定功能?
我知道我可以使用WNetAddConnection2和类似的变体来使用自定义凭证连接到远程共享。我想为映射驱动器做同样的(例如:\\MyShare\MyFolder
映射到Y:
)和我的本地磁盘(如:C:
,D:
,E:
,等...)
如果我点WNetAddConnection的东西不\\
失败..如何使用不同凭据连接到映射/本地磁盘?
是否有针对此场景的特定功能?
在工作中,我们使用WindowsImpersonationContext
来处理这种情况。最初我们在VB.NET
ASP.NET
应用程序中使用它,但它很容易修改。
Microsoft Support有一个伟大的文章,如何做到这一点。 (我们最初用它的网络驱动器,但它可以扩展到本地磁盘为好。)
基本上可以模拟一个有效的用户帐户,这将给予您该帐户将不得不在这种情况权限。我不得不使用它来访问工作中的网络驱动器,在不属于域的计算机上。 (因此,我们必须为此用户帐户提供用户名,域名和密码,该用户帐户不在我们的域网络中,并且该主题很好地为我们提供了服务。)
适用于本地驱动器,但映射驱动器失败... – Leonardo
@Leonardo你能具体说明它的失败吗?我很好奇,如果你的设置与它有任何关系。 –
其实它更通用,不涉及映射驱动器......它只在本地驱动器上失败......当我尝试从文件夹A复制到B模拟用户X,其中A和B不共享相同的权限(例如:X可以从A读取但不能写入B)...所以File.Copy崩溃... – Leonardo