防止在 Windows Embedded Standard 7 中使用 USB

防止在 Windows Embedded Standard 7 中使用 USB

这里的目标是能够禁用/启用机器上的 USB 记忆棒的使用。

为此,我制作了两个仅设置注册表值的可执行文件:

HKLM\SYSTEM\CurrentControlSet\Services\UsbStor\Start

3以启用 USB 记忆棒的使用,
4或禁用它。

我遇到的问题是,当我重新启动机器时,我可以插入 USB 记忆棒一次,即使值设置为禁用,它也可以像往常一样读取/写入。如果我拔下记忆棒并将其重新插入,我就再也看不到它了。

我进行了一些挖掘并了解到以下内容:

起始值实际上是设置司机启动值。因此,如果我将其设置为3,则意味着 USBSTOR.inf(USB 大容量存储驱动程序)设置为随 Windows 正常启动。如果我将值设置为4,则意味着驱动程序已“禁用”,因此不应在 Windows 启动时启动。

我一直在使用命令driverquery (点击此处)以查看 USBSTOR 的驱动程序状态。

这是计算机刚启动时、在我尝试插入 USB 之前的屏幕截图:

USBSTOR 已禁用并正在运行

这很奇怪,因为驱动程序正在运行,但被禁用了!这怎么可能呢,我不明白。

现在,如果我插入 USB 密钥,计算机将看到它(因为驱动程序正在运行)并将其映射到驱动器。拔下 USB 后,我再次运行相同的命令,并得到以下结果:

USBSTOR 已禁用并停止

现在驱动程序已禁用并停止。它是如何停止的?为什么?

现在,如果我插入 USB 驱动器,正如预期的那样,我却无法在计算机上看到它。

我的问题是:

有人能帮助我阻止这个驱动程序在不应该启动的时候启动吗?

更新

我需要补充的第一点是目标操作系统是 Windows Embedded Standard 7。我尝试了一些适用于 Windows 7 Pro 但不适用于 WES7 的解决方案。

然后我看到一些关于 GPO 的帖子,在管理下有一个设置模板-->系统-->可移动设备可以将其设置为阻止使用 USB 设备。虽然这对于普通计算机来说很有效,但它在我的 WES7 映像中不存在。

我是否需要将某个包添加到我的图像中才能使其工作?

最后,我读到 GPO 中的另一个设置,位于管理模板-->系统-->设备安装。虽然这可以阻止任何可移动设备的安装,但它并不能阻止已安装设备的使用,因此它只是一个部分解决方案。

有没有办法在 Windows Embedded Standard 7 中启用/禁用 USB 设备(或任何可移动设备)的使用?

答案1

最后,我终于找到了解决问题的方法。

使用 GPO 阻止 USB

为了防止在 Windows 7 计算机上使用 USB(和存储)设备,最简单的方法是修改 GPO。

因此,打开开始菜单,输入“gpedit.msc”,然后查看“计算机配置-->管理模板-->系统”。应该有一个名为“可移动存储访问”的文件夹。在那里,您将找到可以允许/禁止使用 USB 设备的策略。

使用 Windows Embedded Standard 7

因为我使用的是 WES7,所以没有安装正确的软件包,所以策略文件夹“可移动存储访问”不可用。

我在图像配置编辑器中搜索了所有 .admx 文件(即 GPO 文件),发现“RemovableStorage.admx”位于“DirectX 和 Windows 设备体验”包(winemb-media-support)中。

将此包添加到我的图像中解决了我的问题。

仍存在一个问题

我在这里描述的第一个问题仍然存在。如果我尝试阻止 USBSTOR 驱动程序启动。启动时的状态为“已启动”,但“已禁用”。如果有人能找到解决方案,我将不胜感激。同时,我将只使用 GPO...

相关内容