Auf meinem Windows 2008 Server habe ich eine Netzwerkfreigabe. Ich bin mit vollen Administratorrechten am Server angemeldet. Ich möchte wissen, welche Benutzer aktive Verbindungen zu dieser Freigabe haben.
Wie finde ich diese Informationen?
Auf meinem Windows 2008 Server habe ich eine Netzwerkfreigabe. Ich bin mit vollen Administratorrechten am Server angemeldet. Ich möchte wissen, welche Benutzer aktive Verbindungen zu dieser Freigabe haben.
Wie finde ich diese Informationen?
Antworten:
Ich weiß, ob es zwei Möglichkeiten gibt, dies zu tun. Man ist unzuverlässig, aber wahrscheinlich gut genug für die meisten Szenarien. Eine davon ist umfangreich, aber in einem Umfang, der eine Handvoll Benutzerverbindungen übersteigt, schwer zu implementieren.
Auf eine Art und Weise sortieren: Wählen Sie Systemprogramme >> Freigegebene Ordner >> Dateien öffnen, um zu sehen, welche Dateien auf dem Dateiserver geöffnet sind. Von dort aus können Sie die Benutzerkonten mit geöffneten Dateien mit den Freigaben korrelieren, mit denen sie verbunden sind.
Dies kann jedoch unzureichend sein. Glaubst du mir nicht? Gehen Sie in die Computerverwaltung und wählen Sie Systemprogramme >> Freigegebene Ordner >> Sitzungen, um zu sehen, wer verbunden ist. Dann schauen Sie sich die # open files
Säule an. In einigen Sitzungen sollten 0 Dateien geöffnet sein. Woher weißt du, mit welchem Anteil sie technisch verbunden sind? Ich bin froh, dass du gefragt hast ...
Umfangreich, aber schwer zu skalieren: Führen Sie net share [sharename]
für jede fragliche Freigabe eine Ausführung durch, um eine Liste der Benutzer zu erhalten, die mit ihr verbunden sind. In meinen Tests werden auch Benutzer aufgelistet, die keine geöffnete Datei haben.
Sie können auch das Share and Storage Manager-Verwaltungstool in Server 2008 und höher anstelle der Computerverwaltung verwenden. Suchen Sie die Freigabe in der Liste der Freigaben und klicken Sie dann im Aktionsbereich mit der rechten Maustaste auf "Sitzungen verwalten". Sie sehen eine Liste der Sitzungen, einschließlich derer, bei denen keine Dateien geöffnet sind.
Aber ... aber ... ich möchte einen bestimmten Benutzer finden, ohne jede Freigabe abzufragen! Wenn Sie einen bestimmten Benutzer haben, den Sie aufspüren möchten, besteht Ihre einzige Möglichkeit, diese Informationen zu finden, darin, die einzelnen Freigaben abzufragen und den gewünschten Benutzer zu suchen. Und mit Augapfel meine ich das Leiten der Ausgabe zu findstr
oder select-string
. Man könnte den Workflow auf ein Skript extrapolieren, das alle verfügbaren Freigaben auflistet, nach verbundenen Benutzern fragt und die Ausgabe nach dem betreffenden Benutzer durchsucht. Dies scheint jedoch eine Übung für den Leser zu sein und nichts, was Microsoft als systemeigenes Feature aufgenommen hat .
net share sharename
, fand aber schließlich die Freigabe, mit der die Sitzung verbunden war. Ich weiß nicht, ob man die Abfrage rückgängig machen und mit dem Benutzer beginnen kann, an dem Sie interessiert sind, und sie dann zu der Freigabe verfolgen kann, zu der sie eine Verbindung haben. Benötigt möglicherweise benutzerdefiniertes PowerShelling.
Dies ist eine sehr alte Frage, aber die akzeptierte Antwort hat einen der besten Wege übersprungen, um die Informationen zu finden. Die Benutzeroberfläche kann anzeigen, dass "verbundene Clients" vorhanden sind, diese Verbindungen werden jedoch nicht unter "offene Dateien" angezeigt. In diesem Fall muss mithilfe von WMI ermittelt werden, wer mit einer Freigabe verbunden ist.
Hier ist der Powershell-Befehl, um zu sehen, wer mit einer bestimmten Freigabe und Beispielausgabe verbunden ist:
Get-WmiObject Win32_ServerConnection -ComputerName SERVER01 | Select-Object ShareName,UserName,ComputerName | Where-Object {$_.ShareName -eq "SHARENAME"}
Beispielausgabe:
ShareName UserName ComputerName
--------- -------- ------------
SHARENAME user1 10.0.0.20
SHARENAME user2 10.0.0.30
SHARENAME user3 10.0.0.40
Auf den Computer-Manager kann nicht auf dieselbe Weise wie in früheren Versionen zugegriffen werden. Sie erhalten den "Server-Manager", wenn Sie mit der rechten Maustaste auf Computer klicken und "Verwalten" auswählen. Geben Sie stattdessen einfach compmgmt.msc in das Feld "Programme und Dateien suchen" unter Start ein.
Ich glaube nicht, dass die Antwort (en) tatsächlich die Frage beantworten. Wenn Sie Windows Server 2008 (NICHT R2) verwenden und mit der rechten Maustaste auf Computer klicken und Verwalten auswählen und die UAC-Meldung bestätigen, wird die Server Manager-MMC gestartet. Unter Server-Manager befinden sich die folgenden Elemente: Rollen, Funktionen, Diagnose, Konfiguration und Speicher. Keines dieser fünf Elemente scheint freigegebenen Namensverbindungen als Option zur Verfügung zu haben, was die ursprüngliche Frage war. Der Zusatz EDIT zur Antwort war nützlicher und erwähnte den Freigabe- und Speichermanager, scheint aber immer noch keine Antwort zu liefern. Es enthält eine umfassende Liste der Freigabenamen und -eigenschaften, aber auch hier werden keine aktiven Verbindungen angezeigt. In Windows Server 2003 gab es früher ein Dienstprogramm für Betriebssysteme, das Server, Freigaben und Verbindungen anzeigte. aber ich habe es auf WS2008 noch nicht gefunden. Es gab ein Drittanbieter-Dienstprogramm namens Hyena von Adkins Resource, von dem ich glaube, dass es noch in der Vermarktung ist, mit dem sich alle Arten von Informationen zu praktisch allen Aspekten des Serverzustands hervorragend anzeigen ließen.
(compmgmt.msc)
und alles, was Wesley beschreibt, stimmt genau mit 2003 überein, einschließlich geöffneter Dateien und aktiver Sitzungen. Sehen Sie sich diesen Screenshot an, wenn Sie mir nicht glauben.