远程映射驱动器上的查询不一致

时间:2017-05-11 01:41:29

标签: powershell wmi remote-access drives

我使用下面的Powershell脚本来检查远程PC上的映射驱动器。 有些PC提供了所需的结果,但有些没有。

Get-WmiObject Win32_MappedLogicalDisk -computer HW059 | select name, providername

我使用的帐户在所有PC上都拥有相同的管理员,所以我不认为问题是由于用户权限造成的。

我想知道是否需要启动任何服务/与脚本相关? 我检查了WMI服务是否在所有PC上运行。

抱歉我不熟悉脚本。 有人请帮忙吗? Powershell result

1 个答案:

答案 0 :(得分:1)

映射驱动器是用户会话的功能,默认情况下它们不存在于系统上。即使所有用户都有相同的磁盘映射(即S:映射到\\ server \ share),如果没有登录用户,S:也不存在。

请参阅MSDN 的评论(您在下面的说明中是用户A)

  

为此类返回的实例如下,假设用户A正在枚举实例:

     

提供程序在该计算机上查找用户A的登录会话:如果有一个(且只有一个)此类登录会话,则提供程序将返回该会话的映射驱动器。如果计算机上的用户A有多个会话,则不会返回任何映射的驱动器实例(因为提供程序没有合理的方法来决定使用哪个会话)。

     

如果没有用户A的会话正在运行,并且有本地登录的用户B:

     

如果用户B有单个会话,则提供者模拟A并返回用户B的映射驱动器。这种情况支持帮助台想要查看本地登录用户的实例的场景。但是,是否返回实例取决于“控制面板”“管理工具”中的“本地安全策略”设置。如果将以下策略设置为“Object Creator”,则不会返回映射的驱动器实例,即使A是Administrators组的成员:“系统对象:管理员组成员创建的对象的默认所有者”。同样,如果在计算机上运行多个用户B会话,则提供程序无法决定使用哪个会话。在这种情况下,不会返回映射的驱动器实例。