字体:  

使用组策略对象隐藏和防止访问指定驱动器

男勃弯 发表于: 2007-9-13 15:58 来源: 远景无限博客

今天公司登记了我们每个人的电脑帐号密码,虽然我并不担心公司能偷窥到我电脑中的隐私和资料,但是公司这样做,我很恼火。
公司领导层都是电脑白痴,所以我准备了众多隐藏文件的方法来应对有可能来自公司的偷窥。
至于网上流传很广的各种修改注册表的方法我就不再一一赘述。
这里我着重介绍一下如何使用组策略对象隐藏和防止访问指定驱动器。

Windows 中有个组策略对象,就有下面这个让您隐藏指定的驱动器的选项:隐藏“我的电脑”中的这些指定的驱动器。
有七个默认的选项可用来限制对驱动器的访问。您可以通过修改默认域策略或任一个自定义组策略对象 (GPO) 的文件来添加其他限制。七个默认选项是:
仅限制驱动器 A、B、C 和 D
仅限制驱动器 A、B 和 C
仅限制驱动器 A 和 B
限制所有驱动器
仅限制驱动器 C
只限制 D 驱动器
不限制驱动器


大家肯定看到了,以上七个选项中和我们自己电脑中驱动器相符的最多也就C和D这两个驱动器,至于A、B这两个驱动器我们大家现在都没有再用了吧?如果想用这些默认的选项的话,我们只好把自己除C、D以外的驱动器盘符修改为A或B,但是用A、B这两个盘符好像不是很习惯(至于A、B连个盘符的原本意义我想大家也都知道),并且有时候轻易修改盘符会引起很多麻烦,所以我们要在这七个默认选项之外还要增加符合我们需求的选项,如何增加呢?

系统默认组策略都保存在几个特定的文件当中,不同版本的Windows操作系统保存的地方和文件名都不尽相同。

这里我当然重点介绍vista中的修改方法,至于XP中的请参考http://support.microsoft.com/kb/231289/zh-cn

vista中的组策略文件位于%windir%\PolicyDefinitions,其中有几百个文件,我们这里关心的是%windir%\PolicyDefinitions\WindowsExplorer.adml和%windir%\PolicyDefinitions\WindowsExplorer.admx。下面我们就开始研究具体怎么修改这两个文件(当然,我修改好的我会在文章下面提供下载)。

我们用记事本打开WindowsExplorer.adml文件,其中就有下面这么一段:
<stringTable>
      <string id="ABCDOnly">仅限制驱动器 A、B、C 和 D</string>
      <string id="ABConly">仅限制驱动器 A、B 和 C</string>
      <string id="ABOnly">仅限制驱动器 A 和 B</string>
      ............................................................................
</stringTable>

大家都知道这就是我们组策略中的选项,现在也应该已经知道我们要增加选项就增加在这里,下面就是我增加的选项:

<stringTable>
      <string id="ABCDOnly">仅限制驱动器 A、B、C 和 D</string>
      <string id="ABConly">仅限制驱动器 A、B 和 C</string>
      <string id="ABOnly">仅限制驱动器 A 和 B</string>
      <string id="EOnly">仅限制驱动器 E</string>
      <string id="FOnly">仅限制驱动器 F</string>
      <string id="EFOnly">仅限制驱动器 E 和 F</string>
      ............................................................................
</stringTable>

修改好后就把这个文件另存为WindowsExplorer.adml,等我们把其他文件一起修改好后我们一起覆盖系统默认文件。

下面轮到修改WindowsExplorer.admx文件了,同样用记事本打开,其中有这么两段:

<enum id="NoDrivesDropdown" valueName="NoDrives" required="true">
          <item displayName="$(string.ABOnly)">
            <value>
              <decimal value="3" />
            </value>
          </item>
          <item displayName="$(string.COnly)">
            <value>
              <decimal value="4" />
            </value>
          </item>
          <item displayName="$(string.DOnly)">
            <value>
              <decimal value="8" />
            </value>
          </item>
          <item displayName="$(string.ABConly)">
            <value>
              <decimal value="7" />
            </value>
          </item>
          <item displayName="$(string.ABCDOnly)">
            <value>
              <decimal value="15" />
            </value>
          </item>
          <item displayName="$(string.ALLDrives)">
            <value>
              <decimal value="67108863" />
            </value>
          </item>
          <item displayName="$(string.RestNoDrives)">
            <value>
              <decimal value="0" />
            </value>
          </item>
        </enum>
以及:
<enum id="NoDrivesDropdown" valueName="NoViewOnDrive" required="true">
          <item displayName="$(string.ABOnly)">
            <value>
              <decimal value="3" />
            </value>
          </item>
          <item displayName="$(string.COnly)">
            <value>
              <decimal value="4" />
            </value>
          </item>
          <item displayName="$(string.DOnly)">
            <value>
              <decimal value="8" />
            </value>
          </item>
          <item displayName="$(string.ABConly)">
            <value>
              <decimal value="7" />
            </value>
          </item>
          <item displayName="$(string.ABCDOnly)">
            <value>
              <decimal value="15" />
            </value>
          </item>
          <item displayName="$(string.ALLDrives)">
            <value>
              <decimal value="67108863" />
            </value>
          </item>
          <item displayName="$(string.RestNoDrives)">
            <value>
              <decimal value="0" />
            </value>
          </item>
        </enum>
大家仔细看得话就会发现这两段只有一点不同,valueName="NoDrives"和valueName="NoViewOnDrive"这两个属性不同,他们就是”防止访问驱动器“和”隐藏驱动器“的段落了。我向大家已经看出这两段的规律了,现在我们开始增加我们自己需要的项吧。

这项策略所影响的注册表项使用与 26 位二进制字符串(每一位代表一个驱动器号)相对应的十进制数字。

11111111111111111111111111
   
此配置对应于十进制数字 67108863,它会隐藏所有的驱动器。如果您要隐藏驱动器 C,将第三低位设置为 1,然后将二进制字符串转换为十进制数字。

如果您要配置这项策略以显示一个不同的驱动器组合,请创建相应的二进制字符串,将它转换成十进制数字,并向 ITEM部分添加一个新项。例如,要隐藏驱动器 L、M、N 和 O,请创建下面的字符串
00000000000111100000000000例如:隐藏E盘的话,二进制字符串就是:00000000000000000000010000转换成十进制就是16。下面是我增加的项:          <item displayName="$(string.EOnly)">
            <value>
              <decimal value="16" />
            </value>
          </item>
          <item displayName="$(string.FOnly)">
            <value>
              <decimal value="32" />
            </value>
          </item>
          <item displayName="$(string.EFOnly)">
            <value>
              <decimal value="48" />
            </value>
          </item>在”防止访问驱动器“和”隐藏驱动器“两段中把上面的项都增加进去就可以了,然后把它另存为同名文件。然后就剩下覆盖系统默认文件了。覆盖系统默认文件需要修改文件加的权限,至于如何修改文件夹权限请大家参考论坛中的同类文章。覆盖好后,我们打开组策略对象编辑器就会发现我们增加的选项,启动选项后打开我的电脑刷新一下就会看到它们已经起作用了。下面再介绍一下如何在vista中给不同的用户设置不同的组策略。1. 启动 Microsoft 管理控制台。在“控制台”菜单上,单击添加/删除管理单元。
2. 为默认域策略添加组策略管理单元。为此,在屏幕提示您选择组策略对象编辑器 (GPO) 时,请单击浏览。默认 GPO 是本地计算机。您也可以为其他的域分区和用户(具体来说就是组织单位)添加 GPO。
3. 打开下面的区域:用户配置、管理模板、Windows 组件和 Windows 资源管理器。
4. 单击“隐藏‘我的电脑’中的这些指定的驱动器”。
5. 单击以选中“隐藏‘我的电脑’中的这些指定的驱动器”复选框。
6. 在下拉框中,单击相应的选项。
好了,到此为止了,下面是我已经修改好了的替换文件。

gpo.rar
(2007-09-13 15:58:14, Size: 9.33 KB, Downloads: 30)

最新回复

jebchen at 2008-2-26 15:41:04
好技术啊..对付偷看隐私的好技术
lisuquan at 2008-2-28 13:38:07
不错,是个好东西
rrsleeper at 2008-3-20 13:32:05
很好,不借助第三方软件即可实现我想要的功能,谢谢分享!!
secowu at 2008-3-29 15:33:35
直接编写个程序,自动枚举当前的驱动器,然后自动添加
adamsum at 2008-3-30 10:36:26
好方法 支持支持~~
谢谢分享
stormgreg at 2008-3-31 10:02:48
菜鸟问下 如果进入电脑的人员也是管理员和你是一个组 那是不是也能看得到这个分区
只为一天 at 2008-4-03 21:44:34
好技术,支持
xjbf at 2008-4-29 17:00:40
改的好,支持一下
ybshfhllj at 2008-5-17 10:31:08
不错,XP的才是用的最多的主要的,楼主的这个V的也很及时了,楼主有心了
achenhongbin at 2008-5-19 23:22:03
好方法 支持支持~~
谢谢分享
SYZQX at 2008-6-12 15:35:49
技术不错,就是有点看不懂。
lhq7856 at 2008-6-13 21:18:52
认真学习啊~,好好看看~!
zhaojia606 at 2008-6-18 10:03:10
这个真的可以也  支持  我要试试
zhishao at 2008-6-30 16:52:15
顶了,谢谢分享
zhishao at 2008-6-30 22:24:52
谢谢分享,,,支持一下
zhishao at 2008-7-01 15:16:42
支持,,,谢了
mcgrady88 at 2008-7-17 00:27:36
额  看不大明白啊