2.10 使用 zman 指令行公用程式建立規則

ZENworks Configuration Management 可讓您建立類型各異的規則,如「瀏覽器書籤」規則、「動態本地使用者」規則、「本地檔案權限」規則以及「印表機」規則等。每項規則均有其自身的資料集及組態設定。由於將資料做為指令行中的引數進行傳遞比較複雜,因此 zman 公用程式在建立規則時採用輸入 XML 檔案的方法。您可以使用輸出的 XML 檔案做為建立規則的範本。若要使用 zman 指令行公用程式建立規則,必須先透過「ZENworks 控制中心」建立相同類型的規則,並將其輸出為 XML 檔案。如需使用「ZENworks 控制中心」建立規則的詳細資訊,請參閱節 2.0, 建立規則

例如,您可以將透過「ZENworks 控制中心」建立的「瀏覽器書籤規則」輸出為 XML 檔案,再用其透過 zman 建立其他「瀏覽器書籤規則」。

規則可以與檔案內容進行關聯。例如,即將安裝的印表機驅動程式便是與「印表機」規則關聯的檔案。

若要使用 zman 指令行公用程式建立規則,請檢閱以下各節:

2.10.1 建立無內容規則

  1. 在「ZENworks 控制中心」中建立規則。

    例如,使用「ZENworks 控制中心」建立一個名為 google 的「瀏覽器書籤規則」,其中包含連結至 http://www.google.co.in 的書籤。

  2. 使用以下指令將該規則輸出為 XML 檔案:

    zman policy-export-to-file 規則名稱 規則檔名.xml

    例如,使用 zman policy-export-to-file google google.xml 指令可將 google 規則輸出至 google.xml

    若要使用新的資料建立新規則,請繼續執行步驟 3。若要使用與 google 規則相同的資料建立新規則,請跳至步驟 4

  3. 視需要修改 XML 檔案。

    例如,在 google.xml 中,將 Enforcement 動作集內的 browserbookmarkspolicy 動作以及 <Actions><PolicyData> 元素內的 <PolicyData> 元素的 <URL> 值由 http://www.google.co.in 修改為 http://www.yahoo.com,如下所示。

    <ns2:ActionSets>
    
     <Id>879de60b7591b6f6aefae09fcd83db54</Id>
    
     <Type>Enforcement</Type>
    
     <Version>1</Version>
    
     <Modified>false</Modified>
    
      <Actions>
    
       <Id>0ab9a1785370bcd38bc862bd2817abac</Id>
    
        <Name>browserbookmarkspolicy</Name>
    
         <Type>browserbookmarkspolicy</Type>
    
          <Data>
    
           <PolicyData xmlns="http://novell.com/zenworks/datamodel/objects/policies">
    
            <BookmarksPolicyHandlerData xmlns="">
    
             <EnforcePolicy>
    
              <Bookmarks>
    
               <Bookmark Type="url_string">
    
                 <Name>Google</Name>
    
                 <Url>http://www.yahoo.com</Url>
    
                 <Folder>/</Folder>
    
               </Bookmark>
    
              </Bookmarks>
    
             </EnforcePolicy>
    
            </BookmarksPolicyHandlerData>
    
           </PolicyData>
    
          </Data>
    
      <ContinueOnFailure>true</ContinueOnFailure>
    
      <Enabled>true</Enabled>
    
    <Properties>StandaloneName=browserbookmarksenf;Impersonation=SYSTEM;</Properties>
    
    </Actions>
    
    </ns2:ActionSets>
    
    <ns2:ActionSets xmlns:ns2="http://novell.com/zenworks/datamodel/objects/actions" xmlns="http://novell.com/zenworks/datamodel/objects/actions">
    
      <Id>4efa37c827cf0e8a8ac20b23a3022227</Id>
    
      <Type>Distribution</Type>
    
      <Version>1</Version>
    
      <Modified>false</Modified>
    
       <Actions>
    
        <Id>27c4a42544210b3ac3b067ff6aff2d5c</Id>
    
        <Name>Distribute Action</Name>
    
        <Type>Distribute Action</Type>
    
        <ContinueOnFailure>true</ContinueOnFailure>
    
        <Enabled>true</Enabled>
    
        <Properties />
    
       </Actions>
     </ns2:ActionSets>
    
     <ApplyImmediate>false</ApplyImmediate>
    
     <PolicyData>
    
      <BookmarksPolicyHandlerData>
    
        <EnforcePolicy>
    
          <Bookmarks>
    
            <Bookmark Type="url_string">
    
              <Name>Google</Name>
    
              <Url>http://www.yahoo.com</Url>
    
              <Folder>/</Folder>
    
            </Bookmark>
    
          </Bookmarks>
    
        </EnforcePolicy>
    
      </BookmarksPolicyHandlerData>
    
    </PolicyData>
    
  4. 使用以下指令建立新規則:

    zman policy-create 新規則名稱 規則 xml 檔名.xml

    例如,若要建立 yahoo 規則,請使用以下指令:

    zman policy-create yahoo google.xml

2.10.2 建立包含內容的規則

  1. 在「ZENworks 控制中心」中建立規則。

    例如,使用 ZENworks 控制中心建立 iPrint 類型且名為「iPrint 規則」的「印表機」規則,該規則會從以規則內容形式提供的 driver.zip 檔案自動安裝 iPrint 驅動程式,並設定設備上的 iPrint 印表機。

  2. 使用以下指令將該規則輸出為 XML 檔案:

    zman policy-export-to-file 規則名稱 規則檔名.xml

    這會建立檔案規則檔名.xml規則檔名_ActionContentInfo.xml

    例如,使用以下指令可將 iPrintPolicy 輸出至 iPrintPolicy.xml

    zman policy-export-to-file iPrintPolicy iPrintPolicy.xml

    並建立檔案 iPrintPolicy.xmliPrintPolicy_ActionContentInfo.xml。如需有關 ActionContentInfo.xml 的詳細資訊,請參閱節 2.10.3, 瞭解 zman 規則 XML 檔案的格式

    若要使用新的資料建立新規則,請繼續執行步驟 3。若要使用與 iPrintPolicy 相同的資料建立新規則,則跳至步驟 4

  3. 視需要修改檔案 iPrintPolicy.xmliPrintPolicy_actioncontentinfo.xml

    例如,若要建立新規則以在網路中使用新版驅動程式設定與安裝其他 iPrint,請執行以下作業:

    • iPrintPolicy.xml<ActionSet><PolicyData> 區段以及 iPrintPolicy_actioncontentinfo.xml<ActionSet> 區段中,將所有對 driver.zip 的參考變更為 newDriver.zip

    • 以新的印表機名稱取代 iPrintPolicy.xml 檔案中的印表機名稱。

    iPrintPolicy_actioncontentinfo.xml 的範例顯示如下。

    <ActionInformation>
    
     <ActionSet type="Enforcement">
    
      <Action name="printer policy" index="1">
    
       <Content>
    
         <ContentFilePath>driver.zip</ContentFilePath>
    
       </Content>
    
      </Action>
    
     </ActionSet>
    
    </ActionInformation>
    
  4. 使用以下指令建立新規則:

    zman policy-create 新規則名稱 規則 xml 檔名.xml --actioninfo 規則名稱_actioncontentinfo.xml

    例如,使用下列指令建立名為 New_iPrintPolicy 的規則:

    zman policy-create New_iPrintPolicy iPrintPolicy.xml --actioninfo iPrintPolicy_ActionContentInfo.xml

2.10.3 瞭解 zman 規則 XML 檔案的格式

policy-export-to-file 指令可將儲存於資料庫中的規則資訊序列化為 XML 檔案。每項規則都包含歸類至「動作集」、「執行」和「配送」群組的動作。輸出的規則 XML 檔案包含規則資訊,例如,UID、「名稱」、「路徑」、「主要類型」、「子類型」、「規則資料」、「系統需求」、以及所有「動作集」及其動作的相關資訊。檔案不包含將規則指定至設備或使用者的相關資訊。

Linux 伺服器上的 /opt/novell/zenworks/share/zman/samples/policies 以及 Windows 伺服器上的 ZENworks 安裝目錄:\Novell\Zenworks\share\zman\samples\policies 均提供有 XML 格式範本的範例 WindowsGroupPolicy.xml

附註:若輸出的 XML 檔案中包含 ASCII 擴充字元,則必須使用 UTF-8 編碼而非 ANSI 編碼將其在編輯器中開啟,原因是 ANSI 編碼會將 ASCII 擴充字元顯示為亂碼。

使用 XML 檔案建立規則時,zman 會使用在該檔案的 <Description><SubType><Category><ActionSets><PolicyData><SysReqs> 標記中指定的資訊。「名稱」和「父層」資料夾的值取自指令行。其他元素則使用預設值。

遵循以下指南對 XML 檔案進行操作:

  • 若要建立不含檔案內容的規則,只需規則 XML 檔案即可建立規則。

    例如,「本地檔案權限規則」中不包含與其相關的檔案內容。

  • 若要建立含有內容的規則,則必須提供另外一個包含內容檔案路徑的 XML 檔案,做為 policy-create 指令之 --actioninfo 選項的引數。

    例如,「印表機」規則可以將印表機驅動程式做為關聯的檔案內容進行安裝。

    Linux 伺服器上的 /opt/novell/zenworks/share/zman/samples/policies 以及 Windows 伺服器上的 ZENworks 安裝目錄:\Novell\zenworks\share\zman\ samples\policies 均提供有 XML 格式範本的範例 ActionInfo.xml

  • 若要修改輸出的 XML 檔案中各動作的 <Data> 元素,請確保新資料正確且符合綱要要求。zman 公用程式只對資料做最低驗證,不會檢查資料中是否有錯。因此,成功建立的規則也可能含有無效資料。此類規則在部署到受管理設備時將失敗。

  • 檔案內容與「動作集」中的特定動作相關。「動作內容資訊」XML 檔案應包含要與檔案內容相關聯之檔案的路徑,及「動作集」中的動作索引。

    例如,於建立「印表機」規則期間選定要安裝的「印表機」驅動程式將關聯至已建立「印表機」規則之「執行」動作集中的 printerpolicy 動作。

  • 「動作集」由 <ActionSet> 元素中的類型屬性指定,應該與規則 XML 檔案中的「動作集」類型相同。

  • <Action> 元素具有名稱屬性,該屬性可選,目的是便於使用者理解。

  • index 屬性為必要項目。它可指定應與內容關聯的動作。「動作集」中第一項動作的索引值為 1。

  • 每個動作均具有多個 <Content> 元素,每個元素又都包含 <ContentFilePath> 元素。<ContentFilePath> 元素包含了要與動作關聯之檔案內容的路徑。請確保該檔名與規則 XML 檔案中該操作的 <Data> 中所指定的檔名相同。

  • 請確保 <Content> 元素的順序與規則 XML 檔案中的順序一致。例如,可以為「印表機規則」設定多個驅動程式。驅動程式檔案的路徑應按照動作資料中指定檔案的順序在 <Content> 元素中予以指定,如下所示。

    <ActionInformaion>
    
     <ActionSet type="Enforcement">
    
      <Action name="printer policy" index="1">
    
       <Content>
    
        <ContentFilePath>driver1.zip</ContentFilePath>
    
       </Content>
    
       <Content>
    
          <ContentFilePath>driver2.zip</ContentFilePath>
    
       </Content>
    
      </Action>
    
     </ActionSet>
    
    </ActionInformation>