这个问题`我用了一下午解决``把详细的解决方法写成了日志, 感兴趣可以访问我的空间 我查阅过相关资料,组策略中单条设置是无法直接更改的,它都由模版组成,在cmd下输入以下命令 explorer "%systemroot%\security\templates\"
打开的文件夹中的就是组策略模版文件了,打开任意一个你会发现很晕,关于这些自动配置文件的语法,我还是没能找到有关资料详细解释的,因此,修改模版这条路走不通```至少在我这走不通
但是要知道,所有的信息在注册表中都是有记录的,而“防止从我的电脑访问驱动器”这个组策略项就在注册表的 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 下的NoViewOnDrive键值就是,一般该策略未配置时不存在该键,只需新建这个键就可以了. 现在假如你要阻止访问c盘,则在cmd下输入:
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoViewOnDrive /t REG_DWORD /d 0x4 这样就添加了阻止访问c盘的键,但是退出注册表后发现,还是可以打开c盘,这是为什么呢?因为你的资源管理器需要重启达到刷新的目的。因此就要关闭explorer再重启explorer。不用担心,别一听到重启就慌了,这里的重启只是重启的资源管理器,并不是重启计算机!除了打开的文件夹会关闭,其他任意程序都不会有任何影响,所以你不用担心正在玩的游戏会结束,或者正在编辑的word会丢失。
可以把它写成一个批处理来调用,将以下代码保存为"阻止访问C盘.bat",双击运行即可 @echo off reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoViewOnDrive /t REG_DWORD /d 0x4 /f>nul taskkill /f /im explorer.exe>nul start explorer 这只是个阻止c盘的批处理,要是想阻止其他盘符怎么办呢?这里有个技巧,首先你要知道你要隐藏的盘符是什么,上面批处理中的REG_DWORD中的数值是和每个盘符相对应的,设盘符字母在字母表中是第x个字母,则DWORD的值为2^(x-1),例如,c是第三个盘符,因此DWORD的值就是2^(3-1)=4,注意这里是16进制,因此就是0x4,同理对于D盘就是0x8,以此类推就好了。可还有一个问题,要是我想同时阻止两个盘,或者更多的盘怎么办呢?其实Windows操作系统中很多方面都用一种"相加"的方式,假设我要同时阻止访问c盘和d盘。因为c的DWORD值应该是0x4,D是0x8,则两者相加就是0xc(再次注意,是16进制,千万不能写成0x12)。 也就是把以上批处理中的0x4替换为0xc就可以阻止访问c盘和d盘了,同理对于更多盘。要是你要设置的盘符过多,16进制会不好计算,建议使用系统自带的计算器,有16进制计算,很方便。要是你不知道计算器在哪,请按下win + R cmd,在打开的窗口中输入calc 回车 就会打开计算器了。 至于怎么解除这个限制,很简单,为了方便起见还是使用批处理的方法吧,保存以下代码为"解除阻止.bat" @echo off reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoViewOnDrive /f>nul taskkill /f /im explorer.exe>nul start explorer