find连接到networking共享的用户

在我的Windows 2008服务器上,我有一个networking共享。 我login到具有完整pipe理员权限的服务器。 我想知道哪些用户有活动连接到该共享。

我如何find这些信息?

有两种方法可以解决这个问题。 一个是不可靠的,但可能对大多数情况下足够好。 一个是广泛的,但很难在任何超过less数用户连接的规模上实现。

有点分类的方法:select系统工具>>共享文件夹>>打开文件来查看文件服务器上打开的文件。 从那里,您可以将打开文件的用户帐户关联到他们连接的共享。

但是,这可能是不够的。 不要相信我? 进入计算机pipe理并select系统工具>>共享文件夹>>会话来查看谁连接。 然后看看# open files列。 有些会话应该有0个打开的文件。 你怎么知道他们在技术上连接的份额? 我很高兴你问…

广泛而难以扩展的方式:对每个有问题的net share [sharename]执行net share [sharename] ,以获取与其连接的用户列表。 在我的testing中,即使没有打开文件的用户也被列出。

您还可以使用Server 2008中的共享和存储pipe理器pipe理工具,而不是计算机pipe理。 在共享列表中find共享,然后在操作窗格中右键单击“pipe理会话”。 您将看到一个包括零打开文件的会话列表。

但是…但是…我想find一个特定的用户而不必查询每个共享! 如果你有一个特定的用户,你想追踪,似乎你唯一的手段,查找信息是查询每个共享和眼球,find你想要的用户。 而通过眼球我的意思是pipe道输出findstrselect-string 。 人们可以将工作stream推断为一个脚本,枚举所有可用的共享,查询连接的用户,并为有问题的用户search输出,但这似乎是读者的练习,而不是微软已经包含的本地特性。

这是一个非常古老的问题,但是接受的答案跳过了寻找信息的最好方法之一。 GUI可以显示“连接的客户端”,但不显示“打开文件”下的连接。 在这种情况下,它需要使用WMI来查找谁连接到共享。

下面是powershell命令,查看谁连接到特定的共享和示例输出:

 Get-WmiObject Win32_ServerConnection -ComputerName SERVER01 | Select-Object ShareName,UserName,ComputerName | Where-Object {$_.ShareName -eq "SHARENAME"} 

示例输出:

 ShareName UserName ComputerName --------- -------- ------------ SHARENAME user1 10.0.0.20 SHARENAME user2 10.0.0.30 SHARENAME user3 10.0.0.40 

计算机pipe理器的访问方式与以前版本不同。 当您右键单击“计算机”并select“pipe理”时,您会看到“服务器pipe理器”。 所以,而不是那个,只需在开始下的“search程序和文件”字段中inputcompmgmt.msc。

我不认为提供的答案实际上回答了这个问题。 如果使用Windows Server 2008(NOT R2),并右键单击“计算机”并select“pipe理”,然后确认UAC消息,则服务器pipe理器MMC将启动。 在服务器pipe理器下是以下项目:angular色,function,诊断,configuration和存储。 这五个项目中没有一个似乎具有可用的名称连接作为选项,这是原始问题所要求的。 编辑除了答案更有用,提到共享和存储pipe理器,但似乎并没有提供答案。 它提供了完整的共享名称和属性列表,但活动连接也不会在这里显示。 在Windows Server 2003中,曾经有一个显示服务器,共享和连接的OS实用程序,但在WS2008上我还没有发现它。 有一个我曾经使用过的Adkins Resource公司的第三方实用工具,我相信它仍然在市场上销售,在显示服务器状态几乎所有方面的所有信息方面做得非常出色。