【问题标题】:Is there a way to tell if a mapped drive was mapped as an Administrator or Standard User With C#?有没有办法判断映射的驱动器是使用 C# 映射为管理员用户还是标准用户?
【发布时间】:2012-11-29 08:25:03
【问题描述】:

据我了解,标准用户无法使用由管理员创建的映射驱动器,反之亦然。有没有办法以编程方式告诉驱动器是如何映射的?由管理员还是由​​标准用户?我知道注册表项 EnableLinkedConnection,它允许所有人都可以使用映射的驱动器,但我不希望这样做是必要的。

编辑:这是我遇到的一个场景。驱动器被映射为管理员。但是以标准权限运行的程序看不到该驱动器。

谢谢

【问题讨论】:

  • 在 HKCU>>Network 注册表项下是为用户定义的映射驱动器。这些条目中有一个用户名值。此值包含放入 Connect as 框中的信息。这就是您所说的以管理员​​身份映射的意思吗?
  • 这听起来像是一个鸡与蛋的问题。如果映射存在,那么它必然是由运行程序的用户帐户创建的。
  • @Sorceri 不幸的是没有。见我的补充。
  • @Hans 我同意。但我发现情况并非总是如此。看来我毕竟必须使用 EnableLinkedConnections 键。
  • 程序是否必须在标准权限下运行?如果没有,那么您可以通过清单进行调整。 msdn.microsoft.com/en-us/library/bb756929.aspx

标签: c# windows permissions mapped-drive


【解决方案1】:

我假设您的代码在 Windows7 或更新的机器上运行。

正如 Sorceri 在他的评论中暗示的那样,您的应用程序可能在标准权限下运行,并且您使用提升的权限来映射驱动器。

如果是这种情况,您有 2 个解决方案:

  1. 要么设置程序以更高的权限运行

  2. 检查您正在映射的共享上的共享和文件安全性。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 2017-10-02
    • 2021-09-26
    • 2016-09-19
    相关资源
    最近更新 更多