
Ich brauche Hilfe beim Zusammensetzen der Teile hierfür:
- Führen Sie ein Skript oder Programm aus, das USB-Speichergeräte deaktiviert.
- Protokollieren Sie jede blockierte Gerätemontage im Systemereignisprotokoll.
- Führen Sie ein zweites Skript oder Programm aus (oder brechen Sie das laufende Programm aus Schritt 1 ab) und aktivieren Sie die USB-Speichergeräte erneut.
(Meine App wird auf PCs in öffentlichen Laboren ausgeführt, um eine „Sandbox“ mit eingeschränktem Zugriff zu erstellen, in der ein Benutzer einen Test durchführt. Ich muss USB-Speichergeräte blockieren, um Betrug zu verhindern.)
Meine Einschränkungen:
- Meine Lösung wird auf öffentlichen Computern ausgeführt, über die ich keine Kontrolle habe. Alles, was einen Neustart, eine Änderung des BIOS oder eine physische Veränderung des Computers erfordert, funktioniert nicht.
- Ich kann davon ausgehen, dass die Lösung als Administrator ausgeführt wird, aber es gibt Bonuspunkte, wenn sie für einen Nicht-Administrator funktioniert.
- Mache mir im Moment nur Sorgen um Windows XP. Bonuspunkte für Vista- oder Win7-Kompatibilität.
Teillösungen:
Blockieren der automatischen Gerätemontage überKB 823732. Schnell und einfach, aber:
- Ich werde nicht benachrichtigt, wenn ein Gerät blockiert ist. (Ich möchte wissen, ob jemand überhaupt versucht zu betrügen, auch wenn er blockiert ist)
- EntsprechendDieser Artikel, wenn der USB-Speichertreiber noch nicht installiert ist, wird das Plug-N-Play-System ihn bei der ersten Verwendung installieren, den Registrierungsschlüssel überschreiben und den Zugriff ermöglichen
Deaktivieren Sie USB-Speicher über die Gruppenrichtlinie (KB 555324).
- Kann ichSkriptdie Anwendung dieser Richtlinien auf dem lokalen Computer zur Laufzeit,ohne Neustart?
- Wie einfach kann ich die Richtlinie auf ihren vorherigen Zustand zurücksetzen, wenn ich fertig bin?
- Werden blockierte Geräte im Sicherheitsprotokoll angezeigt?
ACLs für USBSTOR.SYS ändern, wie in dieser SF-Frage gezeigt]4.
- Wenn ich der aktuellen Benutzerklasse die Rechte für die Datei verweigere, kann mein Revert-Skript die Rechte dann wieder erteilen?
- Wenn ich die Rechte für die Datei verweigere, wie stelle ich sicher, dass alle Versuche, das Gerät zu mounten, im Sicherheitsprotokoll aufgezeichnet werden?
Ich bin offen für Lösungen in .NET oder mithilfe von Batchdateien oder Powershell-Skripten.
(Hinweis: Dies bezieht sich aufmeine ähnliche, mit einem Kopfgeld ausgezeichnete Stack Overflow-Frage. Wenn Ihnen der SO-Ruf wichtig ist, können Sie auch dort gerne antworten)
Antwort1
Um die Gruppenrichtlinie zu implementieren, ist kein Neustart erforderlich. Es reicht aus, gpupdate /force (zweimal) auf dem Client auszuführen (verwenden Sie hierfür beispielsweise psexec).
Wenn Sie die Richtlinie rückgängig machen möchten, trennen Sie sie einfach von der Organisationseinheit und führen Sie gpupdate /force auf dem Client erneut aus (erneut mit psexec).
Wenn die Computer nicht in AD sind und Sie keine Gruppenrichtlinien implementieren können, können Sie mit Registerimporten trotzdem dieselben Ergebnisse erzielen. Schauen Sie sich die ADM-Vorlage an, die Sie in AD verwenden würden, und importieren Sie die Registeränderungen mit reg.exe und psexec. Eine andere Möglichkeit wäre die Verwendung von wpkg (http://wpkg.org), wo Sie eine XML-Definition von Aktionen zum Installieren/Deinstallieren von Inhalten haben. Es funktioniert großartig und kostet nichts.