Auf einem Server wie z.B. einem Dateiserver ist es interessant zu wissen, welche verschiedenen Computer bzw. Server gerade darauf zugreifen. Die Windows PowerShell bietet hierfür ein kleines Cmdlet, welches für diesen Zweck sehr hilfreich ist.
Die Rede ist dabei vom Get-WmiObject. In Kombination mit der Klasse Win32_ServerConnection lässt sich damit aufzeigen, wer gerade auf welche Files am Server zugreift. Prinzipiell funktioniert das natürlich auch nur da, wo es Zugriffe gibt.
Also auf einem Windows 10 System, welches keine Dienste dieser Art anbietet, wird wohl auch nichts ausgeben. Was natürlich sicherheitstechnisch positiv ist.
Wenn jedoch ein Computer als Dateiserver konfiguriert wurde, sieht dies Ausgabe anders aus. Übrigens muss die PowerShell Konsole natürlich mit administrativen Rechten gestartet werden. Sonst würde der Zugriff generell verweigert.
Get-WmiObject -Class Win32_ServerConnection

Natürlich kann man mit diesem Befehl die Abfragen auch von einem Remotecomputer durchführen. Vorausgesetzt, man besitzt dort administrative Rechte. Für die PowerShell Befehlskette bedeutet dies nur, dass noch der Parameter Computername gefolgt von einem Namen mit angegeben werden muss.
Get-WmiObject -Class Win32_ServerConnection -ComputerName s3
Sehr nützlich ist jetzt u.a. z.B. auch das Select-Object Cmdlet. Damit ist es nämlich möglich, sich nur bestimmte Eigenschaften ausgeben zu lassen. Wie z.B. den Computernamen, Anzahl der Dateien, Freigabename etc.
Get-WmiObject -Class Win32_ServerConnection -ComputerName s3 | Select-Object -Property ComputerName,Username,ShareName,NumberofFiles

Denkbar sind hier natürlich viele verschiedene Optionen. Gerade auch mit Where-Object, mit welchem man sich z. B. alle Computer auflisten lassen könnte, welche mehr als 20 Dateien geöffnet haben.
Steigere dein Wissen
Kostenlose Befehlsreferenzen und E-Books herunterladen