Como posso listar conexões de compartilhamento aberto com nome de compartilhamento e acesso de cliente em um servidor Windows?

0

net session mostra sessões de compartilhamento aberto.
net share mostra 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ão e arquivos abertos, mas uma GUI não é adequada para automação de processos.

    
por user333869 21.08.2018 / 13:00

1 resposta

0

Você precisa usar classe Win32_ServerConnection para isso.

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
    
por 26.08.2018 / 18:00