自动机制禁用USB存储介质+logging尝试装载?

我需要一些帮助,把这些件做到这一点:

  1. 运行禁用USB存储设备的脚本或程序。
  2. logging任何阻止的设备挂载到系统事件日志
  3. 运行第二个脚本或程序(或从步骤1取消正在运行的程序)并重新启用USB存储设备。

(我的应用程序在公共实验室的个人电脑上运行,创build一个用户进行testing的受限访问“沙箱”,我需要阻止USB存储设备以防止作弊)

我的约束:

  1. 我的解决scheme将在我无法控制的公共计算机上执行。 任何需要重新启动,修改BIOS或物理更改计算机的操作都不起作用。
  2. 我可以假设,解决scheme将作为pipe理员执行,但奖励点,如果它适用于非pipe理员。
  3. 现在只担心Windows XP。 Vista或Win7兼容性的奖励积分。

部分解决scheme:

  1. 通过KB 823732阻止设备自动安装 。 快速简单,但:

    • 设备被阻止时,我不会收到通知。 ( 我想知道是否有人甚至试图欺骗,即使他们被阻止
    • 根据这篇文章 ,如果USB存储驱动程序尚未安装,则即插即用系统将在第一次使用时进行安装,覆盖registry项并启用访问
  2. 通过组策略禁用USB存储( KB 555324 )

    • 我可以在运行时将这些策略的应用程序编写到本地计算机上, 而无需重新启动
    • 完成后,我可以轻松地将策略恢复到以前的状态吗?
    • 被阻止的设备是否会显示在安全日志中?
  3. 修改USBSTOR.SYS的ACL ,如本SF问题所示] 4 。

    • 如果我拒绝当前类用户的文件权限,我的恢复脚本是否能够授予权限?
    • 如果我拒绝该文件的权限,如何确保安全日志中logging了任何设备安装尝试?

我打开.NET解决scheme或使用batch file或PowerShell脚本。

(注意:这与我的类似的,有关堆栈溢出的问题有关,如果你关心SO代表,也可以在这里回答)

实施组策略不需要重启。 在客户端运行gpupdate / force(两次)就足够了(例如,使用psexec)。

如果您想恢复策略,只需从ou上取消连接,然后在客户端重新运行gpupdate / force(再次使用psexec)。

如果计算机不在AD中,并且无法实施组策略,则可以通过注册导入获得相同的结果。 看看你将在AD中使用的adm模板,并用reg.exe和psexec导入寄存器更改。 另一种select是使用wpkg( http://wpkg.org ),在那里你有一个xml定义的动作来安装/卸载东西。 它工作很好,没有任何成本。