net session
mostra sessões de compartilhamento abertas.
net share
mostra os compartilhamentos disponíveis.
Mas como posso obter a lista de sessões abertas para cada compartilhamento específico? Eu sei que a GUI pode listar compartilhamentos, sessões e arquivos abertos, mas uma GUI não é adequada para automação de processos.
Responder1
Você precisa usarClasse Win32_ServerConnectionpor esta.
No Powershell você pode obter a lista de sessões classificadas por compartilhamentos com:
Get-WmiObject win32_serverconnection -computername $computername | Select username, computername, sharename | sort sharename
Função pronta para você:
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