net session
zeigt offene Freigabesitzungen.
net share
zeigt verfügbare Freigaben.
Aber wie kann ich die Liste der offenen Sitzungen für jede einzelne Freigabe abrufen? Ich weiß, dass die GUI Freigaben, Sitzungen und offene Dateien auflisten kann, aber eine GUI ist nicht für die Prozessautomatisierung geeignet.
Antwort1
Sie benötigenWin32_ServerConnection-Klassedafür.
In Powershell können Sie die Liste der Sitzungen nach Freigaben sortiert abrufen mit:
Get-WmiObject win32_serverconnection -computername $computername | Select username, computername, sharename | sort sharename
Fertige Funktion für Sie:
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