如何寫入自訂 .adm 和 .admx 系統管理範本檔案,為 Internet Explorer 7.0 中的保護模式提供提高權限原則

文章翻譯 文章翻譯
文章編號: 918239 - 檢視此文章適用的產品。
Beta 版資訊
本文說明 Beta 版的 Microsoft 產品。本文資訊係依「現況」提供,若有變更,恕不另行通知。

Microsoft 將不會為此 Beta 版產品提供正式版的產品支援。如需有關如何取得 Beta 版支援的詳細資訊,請參閱 Beta 版產品檔案隨附的文件,或者造訪先前下載此版本的網站。
重要 本文包含如何修改登錄的相關資訊。修改登錄之前,請務必將它備份起來,並瞭解如何在發生問題時還原登錄。如需有關如何備份、還原和修改登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
256986 Microsoft Windows 登錄說明
全部展開 | 全部摺疊

在此頁中

結論

在 Windows Vista 中,安全物件會自動繼承建立該物件之程序的整合層級。因此,檔案或登錄機碼在保護模式下建立時,會繼承低整合性。這表示低整合性程序可獲得其建立之物件的寫入權限。不過,低整合性的程序無法在使用者設定檔內,取得中或高整合性之資料夾或檔案的寫入權限。

根據預設,當 Microsoft Internet Explorer 7.0 在保護模式執行時,其延伸模組將無法存取中整合性或高整合性的物件。這是對抗惡意軟體攻擊的最佳保護。延伸模組需要存取更高整合性的物件時,預設的 Internet Explorer 7.0 行為是會透過對話方塊提示使用者是否提高權限。如果使用者確定要提高權限,則會以更高整合性層級建立代理 (Broker) 程序。此代理程序會代表 Internet Explorer 7.0 存取更高整合性的物件。

您可以使用登錄來覆寫此預設行為,不再透過對話方塊提示使用者提高權限。本文將告訴您,管理員如何使用 .adm 或 .admx 檔來新增 [為保護模式啟用自訂提高權限原則 (Enable Customizing The Elevation Policy For Protected Mode) 原則,以便為不同應用程式強制想要的提高權限原則行為。

簡介

提高權限原則登錄組織


您可以用下列值來建立代理 GUID,以改變預設提高權限原則:
  • AppName:可執行檔名稱的 REG_SZ 值。
  • AppPath:使用者選取的可執行檔安裝位置的 REG_SZ 值。
  • CLSID:如果您的延伸模組會啟動 COM 伺服器,請加入包含延伸模組之 CLSID 的 REG_SZ 值。
  • Policy:用來指示保護模式該如何啟動代理的 DWORD 值。下表說明支援的值與其意義。
摺疊此表格展開此表格
結果
3保護模式將以無訊息的方式,使代理以中整合性程序啟動。
2保護模式會出現提示,詢問使用者是否同意啟動程序。如果使用者同意,程序就會以中整合性程序啟動。
1保護模式將以無訊息的方式,使代理以低整合性程序啟動。
0保護模式將阻止程序的啟動。

警告 如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。您可能需要重新安裝作業系統,才能解決這些問題。Microsoft 不保證可以解決這些問題。請自行承擔修改登錄的一切風險。

您必須新增 GUID,如下所示:
  • 在下列登錄子機碼中新增此 GUID:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Internet Explorer \Low Rights\ElevationPolicy
  • 在下列登錄子機碼的任一項目中,建立類似的登錄項目:
    HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\InternetExplorer\Low Rights\ElevationPolicy
    HKEY_CURRENT_USER\Software\Policies\Microsoft\InternetExplorer\Low Rights\ElevationPolicy
建立自訂 .adm 檔

如果要建立自訂 .adm 檔案以納入此原則,請依照下列步驟執行:
  1. 定義應用程式清單,其中包括您要設定提高權限原則的應用程式。決定每一個程式要使用的提高權限原則。使用 0–3 的值,如本文稍早的表格中所說明。
  2. 開啟文字編輯器 (例如 [記事本]),然後將下列範本複製到 [記事本] 檔案中。

    注意 在此程式碼以及本文其他程式碼範例中,以 <APPNAME1>、<APPPATH1>、<CLSID1> 及 <POLICY1> 代表的值,皆為應用程式名稱、其路徑、CLSID 及應套用之原則的預留位置。
    CLASS USER
    CATEGORY !!WindowsComponents
    	CATEGORY !!InternetExplorer
    		POLICY !!ConfigureElevationPolicy
    			#if version >= 4
    			SUPPORTED !!SUPPORTED_IE7
    			#endif
    			KEYNAME "Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy"
    			ACTIONLISTON
    				KEYNAME "Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>"
    				VALUENAME AppName       VALUE "<APPNAME1>"	                      
    				VALUENAME AppPath       VALUE "<APPPATH1>"                                                                                     
    				VALUENAME CLSID         VALUE "<CLSID1>"
    				VALUENAME Policy        VALUE NUMERIC "<POLICY1>"
    			END ACTIONLISTON
    		END POLICY
    	END CATEGORY
    END CATEGORY
    
    CLASS MACHINE
    CATEGORY !!WindowsComponents
    	CATEGORY !!InternetExplorer
    		<POLICY ... END POLICY will be exactly same as that under class user>
       	END CATEGORY
    END CATEGORY
    
    
    [strings]
    SUPPORTED_IE7="At least Internet Explorer 7.0"
    WindowsComponents="Windows Components"
    InternetExplorer="Internet Explorer"
    ConfigureElevationPolicy="Enable customizing the elevation policy for Protected Mode"

    建立 .admx 和 .adml 檔案

    如果要建立 .admx 和 .adml 檔,請使用下列範本,不要建立自訂的 .adm 範本檔。如果要在此範本中填入 . adm 檔的真實值,您也可以依照步驟 3 執行。針對其他應用程式請重複 <enabledList> 和 </enabledList> 之間的程式碼區塊。

    建立 ElevationPolicy.admx 檔案
    <?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="ElevationPolicy" namespace="Microsoft.Policies.ElevationPolicy" />
        <using prefix="inetres" namespace="Microsoft.Policies.InternetExplorer" />
      </policyNamespaces>
      <resources minRequiredRevision="0.9" />
      <policies>
          <policy name="ConfigureElevationPolicy_1" class="User" displayName="$(string.ConfigureElevationPolicy)" key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy">
          	  <parentCategory ref="inetres:InternetExplorer" />
              <enabledList>
                 <item key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>" valueName="AppName">
                   <value>
                     <string><APPNAME1></string>
                   </value>
                 </item>
                 <item key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>" valueName="AppPath">
                   <value>
                      <string><APPPATH1></string>
                   </value>	
                 </item>	
                 <item key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>" valueName="CLSID">
                   <value>
                     <string><CLSID1></string>
                   </value>
                 </item>
                 <item key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\<GUID1>" valueName="Policy">
                   <value>
                     <decimal value="<POLICY1>" />
                   </value>
                 </item>
               </enabledList>
          </policy>
          <policy name="ConfigureElevationPolicy_2" class="Machine" displayName="$(string.ConfigureElevationPolicy)" key="Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy">
              <parentCategory ref="inetres:InternetExplorer" />
              <enabledList> <same as user policy above> </enabledList> 
          </policy> 
      </policies>
    </policyDefinitions>

    建立 ElevationPolicy.adml 檔案

    <?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="ConfigureElevationPolicy">Enable customizing the elevation policy for Protected Mode</string>
        </stringTable>
      </resources>
    </policyDefinitionResources>

    注意 您應該將 .admx 檔案置於 <%windir%>\policydefinitions 中,而 .adml 檔案則應置於 <%windir%>\policydefinitions\<%lang-dir%> 中。執行 gpedit.msc 以確認結果。
  3. 以適當的值填入原則範本。如果要執行這項操作,請依照下列步驟執行。
    1. 產生新的 GUID,然後以新的 GUID 取代程式碼範例中的 <GUID1>
    2. 針對您選取的第一個應用程式,寫入可執行檔的名稱,而非 <APPNAME1>,並將可執行檔的路徑寫入 <APPPATH1>。如果您的延伸模組會啟動 COM 伺服器,請於 <CLSID> 新增延伸模組的 CLSID。於 <POLICY1> 寫入應用程式的提高權限原則號碼 0-3。
    3. 為您選取的所有其他應用程式複寫 <enabledList> 和 </enabledList> 之間的程式碼區塊,然後重複步驟 3a 和 3b 來填入這些區塊。
    4. 在程式碼的 CLASS MACHINE 項目之下,複製步驟 3 所建立的原則。
  4. 將檔案另存為 .adm 檔。例如,可以將檔案另存為 ElevationPolicy.adm
  5. 如果要確認結果,請依照下列步驟執行:
    1. 開啟 [群組原則物件編輯器]。
    2. 找出 [電腦設定],然後展開 [系統管理範本]
    3. 用滑鼠右鍵按一下 [系統管理範本],然後按一下 [新增/移除範本]。在對話方塊中,按一下 [新增] 以便加入您在步驟 4 所建立的 ElevationPolicy.adm 檔。
      注意 .admx 或 .adml 檔必須置於 <%windir%>\policydefinitons\ 目錄下。您將無法稍後用滑鼠右鍵按一下 [群組原則物件編輯器] 來新增這些檔案。
    4. 找出 [電腦設定]、展開 [系統管理範本]、展開 [Windows 元件],然後按一下 [Internet Explorer]
    5. 在右窗格中,搜尋新增的 [為保護模式啟用自訂提高權限原則 (Enable Customizing The Elevation Policy For Protected Mode) 原則,並啟用此原則。
    6. 檢查登錄以確認想要的登錄項目已經填入下列子機碼:
      HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy
      .
    7. 重複步驟 5c 以進行使用者設定。檢查登錄以確認想要的登錄項目已經填入下列子機碼:
      HKEY_CURRENT_USER\Software\policies\Microsoft\Internet Explorer\Low Rights\ElevationPolicy
注意 步驟 3d、4 及 5b 僅適用於 .adm 檔。

?考

如需詳細資訊,請造訪下列 Microsoft TechNet 網站:
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

屬性

文章編號: 918239 - 上次校閱: 2007年11月21日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Windows Internet Explorer 7
關鍵字:?
kbhowto kbinfo KB918239
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