Frage

Gibt es eine Möglichkeit, um herauszufinden, wenn in einem LAN jemand in einem USB-Stick an den USB-Anschluss eingesteckt? Programatically (in C # bevorzugt) oder durch irgendein Werkzeug. Grundsätzlich würde ich mir vorstellen, eine Client-Anwendung auf jedem Terminal sitzt und überwacht die USB-Ports und sendet die Informationen an den Server.

a.) Kann ich die Details der Datei erhalten (n) kopiert? b.) Gibt es eine Möglichkeit, dies ohne eine Client-Anwendung zu tun?

EDIT

Ich mag nicht ganz den USB-Port deaktivieren. seine auf einer Notwendigkeit, Grundlage zu haben. Grundsätzlich möchte nur die Benutzer im LAN Daten verantwortungsvoll zu teilen und wissen, dass alle Daten, tranfered wird überwacht und protokolliert und können später in Frage gestellt werden.

War es hilfreich?

Lösung

[Unter der Annahme von Windows, da die C # Bemerkung. Bitte markieren Sie entsprechend]

Ja, das ist möglich. Und es ist möglich, die Details der Datei zu erhalten. Es wird die Programmierung erfordern, though. Achten Sie auf WM_DEVICECHANGE und neu auflisten Laufwerke danach. Es wird Sie USB pendrives, aber auch SD-Karten. Ich gehe davon aus, dass ein Bonus für Sie.

Für weitere Details zu erhalten, wenn Sie ein Laufwerk wissen angekommen ist, verwenden Sie System.IO.FileSystemWatcher

Aktualisieren Ich fand eine bessere Lösung - wenn Sie für die Lautstärke-Schnittstelle Benachrichtigungen anmelden, werden Sie die Lautstärke Weg für das neue Laufwerk bekommen. Erstellen Sie zunächst ein DEV_BROADCAST_DEVICEINTERFACE mit dbcc_classguid=GUID_DEVINTERFACE_VOLUME. passieren diese dann zu RegisterDeviceNotification(). Sie werden wieder eine WM_DEVICECHANGE erhalten, aber Sie können nun die lParam aus der Nachricht zu gieße DEV_BROADCAST_DEVICEINTERFACE*.

Sie können die dbcc_name passieren Sie erhalten GetVolumeNameForVolumeMountPoint(). Sie können auch alle Laufwerksbuchstaben von GetLogicalDriveStrings() zu GetVolumeNameForVolumeMountPoint() passieren. Sie werden einen passenden Volume-Namen haben; das ist das neue Laufwerk.

Andere Tipps

Auch die Registrierung überprüfen, wo alle Informationen über die USB-Geräte gespeichert sind. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ USB

Sie können in der Registrierung und danach handeln, dass in Änderungen dieses Schlüsselhaken.

Dieses kostenlose Dienstprogramm sind eine große Hilfe, wenn pooking um: http: //www.nirsoft. net / utils / usb_devices_view.html

Sie können ein USB-Laufwerk wählen, wählen Sie für das Laufwerk den Registrierungsschlüssel zu öffnen und aktivieren / deaktivieren Sie das Gerät und vieles mehr.

In der Registrierung können Sie sehen, ob das Gerät angeschlossen ist, wenn es von Massenspeichertyp und anderen interresting Informationen. Es ist einfach, die RegKeys zu filtern, dass nur USB-Massenspeicherlaufwerke zu erhalten und dann in und für Änderungen (Verbinden / Trennen).

warten Haken

Mit Windows Management Instrumentation können Sie sich registrieren Registrierungs-Events zu erhalten: http://msdn.microsoft.com/en-us /library/aa393035(VS.85).aspx

Überprüfen Sie heraus System.Management in .Net

Wenn ihr eine kleine Umgebung und Sie alle USB-Geräte verhindern, verwendet wird, dann können Sie die USB-Anschlüsse in Gerätemanager deaktivieren, stellen Sie sicher, dass keine Benutzer als Administratoren auf den Maschinen einzurichten und das sollte alle usb-Nutzung verhindern .

Und wenn Sie wirklich paranoid sind darüber, nur die Maschinen öffnen und die Ports Stecker.

Haben Sie einen Blick auf diesen Artikel. Erklärt die Meldungen und wie mit ihnen zu arbeiten. Erkennung von USB-Laufwerk Entfernen

Ich habe es nie benutzt, aber die Leute bei ic # -Code (SharpDevelop) einen usblib. Vielleicht kann es Ihnen helfen.

http://www.icsharpcode.net/OpenSource/SharpUSBLib/default.aspx

Versuchen Sie, die Verwendung von USB-Sticks zu verhindern? Wenn ja gibt es eine Gruppenrichtlinie, die Sie den Zugriff einschränken können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top