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

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

净使用量当我登录到服务器时,命令只会显示只有我映射的驱动器。查看所有用户的所有映射驱动器及其状态的最简单方法是什么?谢谢。

编辑

我专门查找所有已断开连接的不再有效的用户驱动器,以便可以断开它们。我认为旧的已断开连接的映射驱动器会导致 Outlook 和将附件插入电子邮件时出现问题。

再次编辑(为什么不呢?)

我原本的想法是,某个地方的某个人创建了一个显示此信息的工具,而我只是无法找到它。

答案1

暂定答案 - 遍历 HKEY_USERS 下的用户并提取网络密钥的内容。这不会告诉您所有登录的用户,但会告诉您所有曾经登录过的用户。如果您需要更花哨的方法,您可以从 qwinsta 的输出中解析用户名,将其与 HKEY_USERS 下的 SID 关联,然后仅提取他们的网络密钥。

我确信在 PowerShell 中执行此操作最容易(它可能有更多内置方法来执行此操作),但由于您使用的是 Win2k3,因此我不会假设它已安装。

编辑 - 好的,现在问题已经解释清楚了,为什么不在 TS 登录脚本的开头添加一行来执行net use * /delete?然后映射之后的所有内容。如果有人需要映射驱动器,请将其添加到他们的登录脚本中。

答案2

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

wmic /node:"ServerName" netuse where connectionstate!="Connected" 获取本地名称、名称、用户名

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

wmic /node:"Sedlmeyer-PC" netuse 获取本地名称、名称、用户名

您还可以删除“获取本地名称、名称、用户名”并替换为列表以获取完整详细信息。如果您在服务器本地运行命令,则可以省略 /node。

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

有关 wmic 的更多信息可以找到这里

答案3

在登录脚本中添加类似以下内容

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

确保授予所有用户对共享的写权限,然后让其填充。

一两天后,您将获得一个很棒的 CSV 文件,您可以将其加载到 Excel 中,按用户排序,然后以最适合您的方式翻转数据。

答案4

请查看下列的链接,提供管理 TS 的能力。它可能允许获取此类信息。

相关内容