我想知道有多少人正在使用我计算机上共享的文件并获得完整的报告。
答案1
为此,请访问文件服务器管理器就像图片一一样。在此部分中,转到运行并输入
文件系统管理控制台
然后按 Enter。如图所示,所有共享文件夹和客户端数量分享部分是可见的。您还可以看到连接到您计算机的用户的姓名会议部分和相关信息打开文件部分。
你也可以使用
净份额
Windows cmd中的命令如图二。
答案2
有两个 Powershell WMI 类也可用于获取此信息。该类Win32_Shares
将显示有关您在计算机或远程计算机上共享的文件夹的信息。它的使用方式如下:
Get-WmiObject -class Win32_Shares
或者远程:
Get-WmiObject -class Win32_Shares -computerName {SERVERNAME}
您还可以查看对象的非常具体的连接信息Win32_SessionConnection
。它将显示有关共享的每个活动连接的信息。用户、计算机名称和 IP 地址。它的使用方式如下:
Get-WmiObject -class Win32_SessionConnection -computerName {SERVERNAME} | Select Dependent
该命令的输出通过 selectdependent 管道传输,因为它报告的信息比您回答这个问题所需的信息要多。因此,您可以将其通过管道传输Select-Object
(简称为 select),以从 WMI 查询返回的每个对象中获取特定属性。
在我们的生产文件服务器上,运行查询返回了 636 个活动连接。您可以通过管道传输最后一个命令的输出来获取计数Measure-Object
。
Get-WmiObject -class Win32_SessionConnection -computerName {SERVERNAME} | Select Dependent | Measure-Object
希望您发现这些信息有用。
我对此进行了进一步的阐述...您可以将其粘贴到 PowerShell 中以获得更易于阅读的输出。您必须以提升的权限运行 PowerShell 才能访问该对象。请务必更改代码片段顶部的变量Win32_SessionConnection
值。$server
$server = 'CHANGEME' ## <--CHANGE THIS STRING VALUE
function __construct($proparray) {
$rtnObj = new-object PSCustomObject;
$rtnObj | add-member -type noteproperty -name 'ip' -value $proparray[0];
$rtnObj | add-member -type noteproperty -name 'share' -value $proparray[1];
$rtnObj | add-member -type noteproperty -name 'user'-value $proparray[2];
return $rtnObj
}
$cnxArray = @();
gwmi win32_sessionconnection -computer $server|select dependent|% { $cnxArray += __construct([string]$_ -replace '\@\{|\}|\"|[A-Za-z\.]+=|Win32_','').split(",") }
$cnxArray;
## You may have to press enter if this last line does not process with the paste.