Windows Server 2003terminal服务器查看所有用户的所有映射驱动器和驱动器状态的最简单方法

Net Use命令将只显示我login到服务器时只映射了哪些驱动器。 查看所有用户的所有映射驱动器和驱动器的状态的最简单方法是什么? 谢谢。

编辑

我正在为所有不再有效的用户寻找所有断开的驱动器,以便断开连接。 我相信旧的断开连接的映射驱动器导致有关Outlook的问题和插入附件到电子邮件。

再次编辑(为什么不?)

我原来的想法是有人在某个地方创造了一个显示这些信息的工具,而我却无法find它。

暂定答案 – 遍历HKEY_USERS下的用户并提取networking密钥的内容。 这不会告诉你所有login的用户,它会告诉你所有曾经login过的用户。如果你需要它,你可以从qwinsta的输出中parsing用户名,把它和HKEY_USERS下的SID关联起来,然后只拉他们的networking密钥。

我相信这在PowerShell中是最容易的(可能有更多的内置方法可以做到这一点),但是由于您使用的是Win2k3,所以我不打算假设已经安装了。

编辑 – 好吧,现在解释这个问题,为什么你不添加一行到你的TSlogin脚本的开始做一个net use * /delete ? 然后映射一切。 如果有人需要一个映射的驱动器,将其添加到他们的login脚本。

以下wmic命令行将返回所有映射驱动器不处于连接状态。

wmic / node:“ServerName”netuse where connectionstate!=“连接”获取本地名称,名称,用户名

无论连接状态如何,以下都将返回所有映射的驱动器:

wmic /节点:“Sedlmeyer-PC”netuse获取本地名称,名称,用户名

您也可以删除“获取本地名称,名称,用户名”并用列表replace以获取完整的详细信息。 如果你运行本地服务器的命令,你可以离开/节点。

您还可以添加/格式选项来更改信息的输出方式。 例如/格式:csv将以csv格式生成它,/格式:htable将输出为HTML表格,/ format:xml格式为XML。 如果添加/输出:“文件名”作为第一个参数,它会将输出保存到指定的文件。 如果你使用/ output:剪贴板,它会把输出放在剪贴板中。

关于wmic的更多信息可以在这里find。

向您的login脚本添加如下内容

 echo %date%,%time%,%computername%,%username% >> \\fileserver\hiddenshare$\drives.csv net use >> \\fileserver\hiddenshare$\drives.csv 

确保给你的所有用户写入访问共享,然后让它填充。

一两天后,您将拥有一个很棒的CSV文件,您可以在Excel中加载,对用户进行sorting,并翻转数据,但最适合您。

请看下面的链接,它提供了pipe理TS的能力。 它可能允许获得这样的信息。