如何列出 Windows 服务器上具有共享名称和客户端访问权限的开放共享连接?

如何列出 Windows 服务器上具有共享名称和客户端访问权限的开放共享连接?

net session显示开放的共享会话。
net share显示可用的共享。

但是我如何才能获取每个特定共享的打开会话列表?我知道 GUI 可以列出共享、会话和打开的文件,但 GUI 不适合流程自动化。

答案1

你需要使用Win32_ServerConnection 类为了这。

在 Powershell 中,你可以使用以下命令获取按共享排序的会话列表:

Get-WmiObject win32_serverconnection -computername $computername  | Select username, computername, sharename | sort sharename

为您准备的功能:

Function Get-ServerConnection {
Param (
$ComputerName = 'localhost',
$account = '') # if empty, it means all accounts

# Now get the connections from that account
if ($account = '' )
   {
   Get-WmiObject win32_serverconnection -computername $computername  | Select username, computername, sharename | ft -a
   }
else
   {Get-WmiObject win32_serverconnection -computername $computername | where username -match $account | select username,computername,sharename | sort username
   }
}

Get-ServerConnection

相关内容