【问题标题】:Get physical path corresponding to a network share on local computer获取与本地计算机上的网络共享对应的物理路径
【发布时间】:2011-09-28 11:21:50
【问题描述】:

我希望能够获得与 本地 计算机 (\\mycomputer\somepath...) 上网络共享的 UNC 路径相对应的物理路径 (C:\somepath...)。

我已尝试使用ManagementObjectSearcher as described here 执行此操作。这在以管理员身份运行时可以正常工作,但在从非特权帐户运行时会失败。

不抛出异常,SelectQuery 只返回一个 path 属性为 null 的 ManagementObject。

我希望能够从非特权帐户获取此信息,而无需将该帐户添加到管理员或超级用户等特权组。

谁能指出如何执行此操作 - 成功执行此查询所需的最低权限是多少?

我已经尝试使用计算机管理/WMI 控制/安全性授予帐户as described here 的权限,但这没有任何区别——即使我通过应用到“此命名空间和子命名空间”将所有权限授予根节点。

【问题讨论】:

    标签: .net wmi system.management


    【解决方案1】:

    您需要让用户能够执行远程 WMI 查询,http://msdn.microsoft.com/en-us/library/aa393266.aspx 提供了所需 DCOM 配置的概述。

    为了从 Windows GUI 更改 WMI 安全性:

    • 为目标计算机打开“管理计算机”
    • 打开“服务和应用程序”部分
    • 右键单击“WMI 控件”并选择“属性”
    • 选择安全选项卡,单击安全按钮,然后进行更改 - 为您的目标组或用户添加“远程启用”权限。

    【讨论】:

    • Stuart,我只想在本地机器上执行此操作 - 所以不需要远程权限。我尝试通过 WMI Control / Properties 向帐户授予权限,但这没有任何效果 - 即使我使用 Apply to This namespace and subnamespaces 将所有权限授予根节点。
    • 对不起。您可以解析 net share 命令的输出,这可能更容易!
    • “解析 net share 命令的输出”——但大概这也需要帐户具有枚举共享的权限。
    • 普通用户对 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Shares 有读取权限
    • +1 用于注册表建议,它有效。看起来很奇怪,这个注册表项对于普通用户是可读的,但是不允许枚举共享。不过,我不愿意使用可能会在未来版本的 Windows 中发生变化的未记录技术。
    猜你喜欢
    • 2011-11-20
    • 2019-03-15
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 2016-05-29
    • 2017-11-30
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多