我有一个 Web 表单,其中输入了我网络中允许的所有 USB 闪存驱动器的序列号。我的 Ubuntu 主机通过脚本动态地查询此列表并阻止或允许安装 USB 闪存驱动器。在 Linux 平台上,我使用 UDEV 服务来触发此脚本。
我知道在微软平台上有这些策略,在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\AllowInstanceIDs 中可以输入类似 USB\COMPOSITE\7891011121314151617181920 的内容。
因此,请考虑以下步骤:
1 - 我已经有序列号,但在网页中采用 1234567890 格式;
2 - 我知道可以使用以下命令更新列表>iwr http://my_form_serial_numbers.html -OutFile C:\Users%USER%\AppData\Local\serial.txt;
问题是:
如何仅允许安装上面列出的序列号?
如何动态更新 Active Directory 中的序列列表?
答案1
最简单的解决方案是使用任务计划程序来安排在确定的时间(例如在启动时或登录时)执行以下任一任务:
- 下载并执行
.reg
文件, - 下载并执行包含以下内容的脚本 REG 命令。
要允许安装与任何这些设备 ID 匹配的设备,请使用以下注册表项:
键:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions
值名称:AllowDeviceIDs
类型:REG_DWORD
值数据:0
- 禁用,1
- 启用
键:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\AllowDeviceIDs
值名称:(1
按升序排列,后跟2
等3
)
类型:REG_SZ
值数据:“设备的硬件 ID”
请注意,AllowDeviceIDs
Microsoft 对该策略的描述如下:
此策略设置允许您指定允许 Windows 安装的设备的即插即用硬件 ID 和兼容 ID 列表。仅当启用“阻止安装其他策略设置未描述的设备”策略设置时才使用此策略设置。
阻止设备安装的其他策略设置优先于此设置。
如果启用此策略设置,则允许 Windows 安装或更新您创建的列表中出现的任何即插即用硬件 ID 或兼容 ID 的设备,除非另一个策略设置明确阻止该安装(例如,“阻止安装与这些设备 ID 匹配的设备”策略设置、“阻止安装这些设备类别的设备”策略设置或“阻止安装可移动设备”策略设置)。
如果在远程桌面服务器上启用此策略设置,则该策略设置会影响指定设备从远程桌面客户端到远程桌面服务器的重定向。
如果禁用或未配置此策略设置,并且没有其他策略设置描述该设备,则“防止安装其他策略设置未描述的设备”策略设置将决定是否可以安装该设备。