我正在开发一个应用程序,需要暂时将机器置于受限制的,类似于kiosk的状态.我需要阻止的一件事是访问连接的USB驱动器.除了搞乱Windows组策略之外,有没有办法通过C#做到这一点?(关于这个主题,我的其他SO问题涵盖了这种方法)
我意识到可能存在安全问题,我可能需要管理员权限,这没关系.在这一点上,我只需指出正确的方向继续我的研究.
更新:
我的目标是Windows XP.Vista支持很不错,但不是必需的.理想情况下,我只会阻止我的应用程序启动后插入的USB驱动器,但阻止所有USB驱动器访问是可以接受的.
该应用程序将在我无法控制的机器上运行.基本上我的应用程序已安装,创建一个受限制的沙箱.然后,用户登录到我的应用程序,执行一些定时操作,然后注销.我的应用程序被删除,将PC恢复到以前的状态.我正在寻找一种基于代码的解决方案,使我能够对预先存在的环境做出最少的假设,包括我可以访问BIOS的假设.
您可以通过修改注册表来完成此操作.
using Microsoft.Win32;
RegistryKey key;
key = Registry.LocalMachine.OpenSubKey
("SYSTEM\\CurrentControlSet\\Services\\UsbStor");
key.SetValue("Start", 4, RegistryValueKind.DWord); //disables usb drives
key.SetValue("Start", 3, RegistryValueKind.DWord); //enables usb again
Run Code Online (Sandbox Code Playgroud)
http://support.microsoft.com/kb/823732
已连接的任何设备将保留在那里,但不会自动安装插入的新USB驱动器.
| 归档时间: |
|
| 查看次数: |
3817 次 |
| 最近记录: |