0

我使用下面的 Powershell 脚本来检查远程 PC 上的映射驱动器。有些 PC 给出了预期的结果,但有些没有。

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

我使用的帐户在所有 PC 上都具有相同的管理员权限,因此我认为问题不是由于用户权限引起的。

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

抱歉,我是脚本新手。有人可以帮忙吗? Powershell 结果

4

1 回答 1

1

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

请参阅MSDN的备注 (您是下面描述的用户 A)

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

提供者在该机器上查找用户 A 的登录会话:如果有一个(并且只有一个)这样的登录会话,则提供者返回该会话的映射驱动器。如果机器上的用户 A 有多个会话,则不会返回映射的驱动器实例(因为提供者没有合理的方式来决定使用哪个会话)。

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

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

于 2017-05-11T03:59:09.260 回答