管理员查看所有映射的驱动器


11

在我对安全性的理解中,管理员应该能够查看与计算机之间的所有连接-就像他们可以查看所有进程/所有者,网络连接/所有者进程一样。但是,Windows 8似乎已禁用此功能。

作为管理员,当您在Win Vista +中运行提升的权限时,您将net use获得所有映射的驱动器,列为不可用。在Windows 8中,从提升的提示符运行的同一命令将返回“列表中没有条目”。对于powershell来说,行为是相同的Get-WmiObject Win32_LogonSessionMappedDisk

一种持久映射的解决方法是运行Get-ChildItem Registry::HKU*\Network*。这不包括临时映射(在我的特定示例中,它是通过资源管理器在管理员帐户上创建的,而我未选择“登录时重新连接”)

管理员是否有直接/简单的方式查看任何用户的连接(缺少在每个用户上下文下运行的脚本)?我已经阅读了启用UAC时某些程序无法访问网络位置的信息,但我认为它并不特别适用。

我已经看到了这个答案,但是它仍然不能解决非永久性驱动器问题。我如何知道用户已映射的网络驱动器?


Powershell Cmdlet有Get-SmbMapping帮助吗?
瑞安·里斯

不,结果相同。昨晚我还在Win7(错误版本的Powershell)上对其进行了测试,当您通过标准用户得到提升的提示时,它也会提供相同的结果。
kskid19

输出更为详细的命令是wmic netuse。您可能需要将此文件写入文件,然后以制表符分隔的值将其打开。
杰森

从安全角度来看,映射列表是无用的。毕竟,无需映射即可直接通过UNC路径访问这些共享。
RomanSt 2014年

Answers:


4

在Windows 7上,如果启用了UAC,并且使用“以管理员身份运行”打开命令提示符,则也不会看到映射的驱动器。在Windows 8上,您会注意到,即使禁用了UAC,仍然必须“以管理员身份运行”。

您链接的Technet文章中说明了管理员看不到映射的驱动器的原因。简而言之,您使用管理员令牌运行,并且将映射的驱动器分配给标准用户令牌。禁用了UAC的Windows 7使用两个令牌运行命令提示符。

该文章中的解决方案也适用于Windows8。导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System,创建EnableLinkedConnections的DWORD值,将其设置为1,然后重新启动。

管理员命令提示符


如果您同时是系统管理员和用户,则可以查看驱动器。如何查看系统/网络上任何用户的非持久连接?(这就是为什么我在这里而不是超级用户问的原因)
kskid19
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.