【问题标题】:Accessing mapped drives when using impersonation使用模拟时访问映射的驱动器
【发布时间】:2010-07-22 09:06:11
【问题描述】:

我们通过使用来自advapi32.dllLogonUser 函数以及WindowsIdentity 类来使用模拟来执行模拟。

在应用程序中,我想显示用户通常可以在 Windows 资源管理器中看到的所有驱动器。因此我使用DriveInfo.GetDrives() 方法。但我只获取本地驱动器,而不是从网络映射的驱动器。

我怎样才能做到这一点?

谢谢, 弗洛里安

【问题讨论】:

    标签: c# impersonation


    【解决方案1】:

    如果您正确地模拟了用户,那么您就可以访问他们的网络资源。例如,使用 UNC 路径应该可以按预期工作。

    我相信没有受支持的解决方案,但您可以通过注册表查找网络驱动器映射 (HKCU\Network) 并手动查找它们的 UNC 路径。

    【讨论】:

      【解决方案2】:

      我刚刚遇到了这个问题 - 模拟的帐户似乎无法使用映射的驱动器。我们最终使用当前登录的帐户将映射的驱动器路径转换为 ​​UNC 路径,然后将这些文件传递给模拟器以执行实际工作。

      此答案有助于将文件路径从映射驱动器转换为 UNC:https://stackoverflow.com/a/19120925/892536

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-09
        • 1970-01-01
        • 1970-01-01
        • 2011-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-08
        相关资源
        最近更新 更多