如何创建自定义的 .adm 或 .admx 文件以便向 Internet Explorer 7 的工具栏搜索框中添加搜索提供程序

文章翻译 文章翻译
文章编号: 918238 - 查看本文应用于的产品
重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先对其进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
展开全部 | 关闭全部

本文内容

简介

Microsoft Internet Explorer 7 允许用户选择他们想要用于搜索 Internet 的搜索提供程序。Internet Explorer 的工具栏搜索框中列出了可用的搜索提供程序。用户可以添加或删除此列表中的搜索提供程序,并选择默认搜索提供程序。

与搜索提供程序相关的操作由“组策略”设置控制。管理员可以使用“组策略”设置来限制用户行为。许多这些设置都是指“填充搜索提供程序列表”策略设置。管理员可以通过使用此策略设置提供搜索提供程序列表。但是,默认情况下未提供此策略设置。要包括此策略设置,管理员必须手动创建以下管理模板:
  • 一个 .adm 文件(用于 Microsoft Windows XP)
  • .admx 和 .adml 文件(用于 Microsoft Windows Vista)
本文介绍如何创建自定义的 .adm 或 .admx 文件以便向 Internet Explorer 7 的工具栏搜索框中添加搜索提供程序。

更多信息

注册表中的 Searchscope 组织结构

在将此策略添加到 .adm 或 .admx 文件中之前,您必须了解注册表中是如何对搜索提供程序进行组织的。例如,假设已列出 MSN、AOL、Yahoo 和 Google 作为搜索提供程序。已选择 MSN 作为默认提供程序。在本例中,
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes
注册表子项下列出了以下注册表项:
  • {2FEDD0BC-4D55-413C-8B59-BFE70133A2CB}
  • {48317BDF-84E9-4424-9121-81982CDACF5F}
  • {C5E5478F-4C76-4267-B372-2205ADBE3FB0}
  • {D14069E7-AD20-461D-BC73-19D9F1DB2ADB}
上面每个注册表项都代表一个搜索提供程序。
SearchScopes
项下的 DefaultScope 条目具有与默认搜索提供程序项对应的值。例如,在此情况下,
SearchScopes
项具有与 MSN 搜索注册表项(即
{C5E5478F-4C76-4267-B372-2205ADBE3FB0}
)对应的值。

搜索提供程序项被设计为 GUID 以确保每个搜索提供程序都具有唯一的标识符。我们强烈建议使用 GUID 作为这些注册表项名称。

这些项中的每一个还具有 DisplayName 条目和 URL 条目,如下所示:
  • DisplayName
    这是显示在 Internet Explorer 工具栏搜索框中的字符串。通常,您需要保持此名称简短,以确保当名称显示在工具栏搜索框中时不会被截断。举例来说,此名称的长度不应超过 16 到 20 个字符。如果用户的计算机使用大字体,这一点特别重要。
  • URL
    搜索 URL 的格式如下:
    http://example.com/?q={searchTerms}
    注意 {searchTerms} 将被替换为用户的查询。example 是指定的搜索提供程序。例如,如果“MSN 搜索”是指定的搜索提供程序,则 URL 将如下所示:
    http://search.msn.com/results.aspx?q={searchTerms}&locale={language}&FORM=I7AW

“填充搜索提供程序列表”策略设置

利用“填充搜索提供程序列表”策略设置可以创建随后显示在 Internet Explorer 7 的工具栏搜索框中的搜索提供程序的列表。如果启用此策略设置,并且同时启用了“将搜索提供程序限制为特定的搜索提供程序列表”策略设置,则此特定列表是显示的唯一列表。如果启用了“将特定搜索提供程序列表添加到用户的搜索提供程序列表”策略设置,则会将此特定列表添加到搜索提供程序的列表。如果您禁用“填充搜索提供程序列表”策略设置或者未配置该设置,用户将能够创建自己的搜索提供程序列表。

“填充搜索提供程序列表”策略设置将在以下注册表子项下创建所需的项,并通过使用正确的条目和值填充它们。
HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\SearchScopes
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\SearchScopes

如何创建包括策略设置的 .adm 文件

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。
  1. 确定要提供给用户的搜索提供程序。
  2. 将这些搜索提供程序添加到注册表。可以通过从 Internet 添加搜索提供程序来完成此操作。为此,请按照下列步骤操作:
    1. 在 Internet Explorer 中,单击右上角的搜索箭头。
    2. 单击“查找更多提供程序”。
    3. 将打开一个页面,该页面包含支持的搜索提供程序的列表。单击选中一个搜索提供程序,然后单击“添加提供程序”。此步骤会将该搜索提供程序添加到搜索列表。再次单击搜索箭头,然后验证新添加的搜索提供程序是否出现在列表中。
    4. 为想要添加的每个搜索提供程序重复步骤 c。
    5. 依次单击“开始”和“运行”,键入 regedit,然后单击“确定”。
    6. 找到下面的注册表子项,然后右键单击它:
      HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes
    7. 验证代表搜索提供程序的 GUID 是否列在此子项下。
    注意:您也可以将自己的搜索提供程序直接添加到注册表中。如果是这样,请在步骤 2f 中列出的子项下为该提供程序创建一个注册表项。通过使用对应于该搜索提供程序的信息填充此项。GUID 数据由搜索提供商提供。
  3. 创建一个策略模板。为此,请打开一个文本编辑器(如记事本),然后将以下模板复制到记事本文件中。
    CLASS USER
    CATEGORY !!WindowsComponents
    CATEGORY !!InternetExplorer
    
    POLICY !!PopulateSearchProviderList
    			#if version >= 4
    			SUPPORTED !!SUPPORTED_IE7
    			#endif
    			EXPLAIN !!IE_Explain_PopulateSearchProviderList
    			KEYNAME "Software\Policies\Microsoft\Internet Explorer\SearchScopes"
    			VALUENAME Version
    			VALUEON NUMERIC <VERSION>
       ACTIONLISTON
    				KEYNAME "Software\Policies\Microsoft\Internet Explorer\SearchScopes\<SUBKEY1>"
    				VALUENAME DisplayName  VALUE "<NAME1>"	
    				VALUENAME URL               VALUE "<URL1>"
    			END ACTIONLISTON
    		END POLICY
    END CATEGORY
    END CATEGORY
    
    CLASS MACHINE
    CATEGORY !!WindowsComponents
    CATEGORY !!InternetExplorer
    <POLICY ... END POLICY Insert the same policy that is under class user>
       END CATEGORY
    END CATEGORY
    
    
    [strings]
    SUPPORTED_IE7="At least Internet Explorer 7.0"
    WindowsComponents="Windows Components"
    InternetExplorer="Internet Explorer"
    PopulateSearchProviderList="Populate List of search providers"
    IE_Explain_PopulateSearchProviderList="This policy setting will allow you to populate a list of search providers that will be displayed in the Internet Explorer search box.\n\n If you enable this policy setting and if the "Restrict search providers to a specific list of search providers" Group Policy setting is enabled, this list will be the only list that appears in the Internet Explorer drop-down list. If the "Add a specific list of search providers to the user's search provider list" Group Policy setting is enabled, this list will be added to the user's list of search providers.\n\n If you disable this policy setting or do not configure it, users will have complete freedom to create their own search provider list."
    
  4. 通过使用填充注册表项的相同值填充策略模板,该注册表项指定您的首选搜索提供程序。为此,请按照下列步骤操作:
    1. 依次单击“开始”和“运行”,键入 regedit,然后单击“确定”。
    2. 找到下面的注册表子项,然后右键单击它:
      HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes
    3. 通过使用 REG_DWORD 版本的数据替换模板文件中的 <VERSION>。
    4. 复制“SearchScopes”项下列出的第一个子项的名称,然后使用它来替换模板中的 <SUBKEY1>。
    5. 复制“DisplayName”和“URL”的数据字符串,然后使用这些数据字符串替换模板中的 <NAME1> 和 <URL1>。
    6. 对于“SearchScopes”下列出的每个搜索提供程序,通过重复步骤 b 至 e 创建并填充模板的以下部分。
      <VERSION>
         ACTIONLISTON
      				KEYNAME "Software\Policies\Microsoft\Internet Explorer\SearchScopes\<SUBKEY1>"
      				VALUENAME DisplayName  VALUE "<NAME1>"	
      				VALUENAME URL               VALUE "<URL1>"
      			END ACTIONLISTON
    7. 复制刚刚创建的整个策略部分,然后使用它替换以下文本:
      <POLICY ...END POLICY Insert the same policy that is under class user>
  5. 将文件另存为 *.adm 文件。例如,将其另存为 SearchProvider.adm。
  6. 验证结果。为此,请按照下列步骤操作。
    1. 打开组策略对象编辑器。
    2. 单击“计算机配置”,展开“管理模板”,右键单击“管理模板”,单击“添加/删除模板”,然后单击“添加”以添加您创建的 SearchProvider.adm 文件。
    3. 依次展开“计算机配置”、“管理模板”、“Windows 组件”,然后单击“Internet Explorer”。
    4. 搜索“填充搜索提供程序列表”策略设置,然后启用此策略设置。
    5. 在注册表中,找到下面的注册表子项,然后右键单击它以验证您是否已启用了该策略:
      HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\SearchScopes
    6. 依次展开“用户配置”、“管理模板”、“Windows 组件”,然后单击“Internet Explorer”。
    7. 搜索“填充搜索提供程序列表”策略设置,然后启用此策略设置。
    8. 要验证此设置,请找到下面的注册表子项,然后右键单击它:
      HKEY_CURRENT_USER\Software\policies\Microsoft\Internet Explorer\SearchScopes

如何创建包括策略设置的 .admx 文件

  1. 打开一个文本编辑器(如记事本),然后将以下模板复制到记事本文件中。
    <?xml version="1.0" encoding="utf-8"?>
    <policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="0.9" schemaVersion="0.9" xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions">
      <policyNamespaces>
        <target prefix="search" namespace="Microsoft.Policies.search" />
        <using prefix="inetres" namespace="Microsoft.Policies.InternetExplorer" />
      </policyNamespaces>
      <resources minRequiredRevision="0.9" />
      <policies>
          <policy name="PopulateSearchProviderList_1" class="User" displayName="$(string.PopulateSearchProviderList)" explainText="$(string.IE_Explain_PopulateSearchProviderList)"  key="Software\Policies\Microsoft\Internet Explorer\SearchScopes">
          <parentCategory ref="inetres:InternetExplorer" />
          <enabledList>
            <item key="Software\Policies\Microsoft\Internet Explorer\SearchScopes" valueName="Version">
                <value>
                    <decimal value=VERSION />
                </value>
            </item>
            <item key="Software\Policies\Microsoft\Internet Explorer\SearchScopes\SUBKEY1" valueName="DisplayName">
                <value>
                    <string>NAME1</string>
                </value>	
            </item>	
            <item key=" Software\Policies\Microsoft\Internet Explorer\SearchScopes\SUBKEY1" valueName="URL">
                <value>
                    <string>URL1</string>
                </value>
            </item>
          </enabledList>
          </policy>
          <policy name="PopulateSearchProviderList_2" class="Machine" displayName="$(string.PopulateSearchProviderList)" key explainText="$(string.IE_Explain_PopulateSearchProviderList)"  key="Software\Policies\Microsoft\Internet Explorer\SearchScopes">
                      <parentCategory ref="inetres:InternetExplorer" />
                      <enabledList>  Insert same as user policy above  </enabledList> 
          </policy> 
      </policies>
    </policyDefinitions>
    
  2. 通过使用您在“如何创建包括策略设置的自定义 .adm 文件”一节的步骤 4 中收集的信息替换“VERSION”、“NAME1”、“URL1”和“SUBKEY1”字符串。
  3. 复制您刚刚修改的整个策略部分,然后使用它替换以下文本:
    Insert same as user policy above
  4. 将文件另存为 .admx 文件。例如,将其另存为 SearchProvider.admx。
  5. 将该 .admx 文件复制到 %windir%\policydefinitions 文件夹,然后运行组策略对象编辑器以验证结果。

如何创建 SearchProvider.adml 文件

  1. 打开一个文本编辑器(如记事本),然后将以下模板复制到记事本文件中。
    <?xml version="1.0" encoding="utf-8"?>
    <policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="0.9" schemaVersion="0.9" xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions">
      <displayName>enter display name here</displayName>
      <description>enter description here</description>
      <resources>
        <stringTable>
          <string id="PopulateSearchProviderList">Populate List of search providers</string>
          <string id="IE_Explain_PopulateSearchProviderList">This policy setting will allow you to populate a list of search providers that will be displayed in Internet Explorer's search box.
    
    If you enable this policy setting and if the "Restrict search providers to a specific list of search providers" Group Policy setting is enabled, this list will be the only list that appears in the Internet Explorer drop-down list. If the "Add a specific list of search providers to the user's search provider list" Group Policy setting is enabled, this list will be added to the user's list of search providers.
    
    If you disable this policy setting or do not configure it, users will have complete freedom to create their own search provider list.</string>
        </stringTable>
      </resources>
    </policyDefinitionResources>
    
  2. 通过使用您在“如何创建包括策略设置的 .adm 文件”一节的步骤 4e 中使用的显示名称替换“enter display name here”。
  3. 键入一个说明以替换“enter description here”字符串。
  4. 将文件另存为 .adml 文件。例如,将其另存为 SearchProvider.adm1。
  5. 将该 .adml 文件复制到 %windir%\policydefinitions\<语言目录>文件夹,然后运行组策略对象编辑器以验证结果。
利用此策略设置可以将一组搜索提供程序添加到用户的默认搜索提供程序列表中。通常,用户可以在安装过程中或通过使用第三方工具栏添加搜索提供程序。不过,用户也可以通过使用搜索提供程序的网站来添加搜索提供程序。如果您启用此策略设置,用户将能够添加和删除搜索提供程序。但是,用户无法从您通过使用组策略提供的搜索提供程序列表中添加和删除搜索提供程序。如果禁用此策略设置或者不配置它,用户将能够配置搜索提供程序列表,除非另一个策略设置限制了此配置。

参考

有关更多信息,请访问下面的 Microsoft 网站:
http://www.microsoft.com/technet/windowsvista/library/02633470-396c-4e34-971a-0c5b090dc4fd.mspx
http://www.microsoft.com/technet/windowsvista/library/90c3c5f5-b756-49b1-bfd6-a5da93305bbc.mspx
http://www.microsoft.com/technet/windowsvista/library/1494d791-72e1-484b-a67a-22f66fbf9d17.mspx
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。对于这些产品的性能或可靠性,Microsoft 不作任何暗示保证或其他形式的保证。

属性

文章编号: 918238 - 最后修改: 2007年11月21日 - 修订: 2.2
这篇文章中的信息适用于:
  • Windows Internet Explorer 7
关键字:?
kbhowto kbinfo kbexpertiseadvanced KB918238
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com