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

    例如,使用以下命令将 google 策略导出到 google.xml zman policy-export-to-file google google.xml

    如果要使用新数据创建新策略,请继续步骤 3。如果要使用与 Google 策略相同的数据创建新策略,请跳至步骤 4

  3. 根据需要修改 XML 文件。

    例如,在 google.xml 中,将 <URL> 值由 http://www.google.co.in 更改为 http://www.yahoo.com(在 Enforcement 操作集的 browserbookmarkspolicy 操作中,以及元素 <Actions><PolicyData> 中的 <PolicyData> 元素中),如下所示。

    <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.xml iPrintPolicy_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、名称、路径、主类型、子类型、策略数据、系统要求以及所有操作集及其操作的信息。文件中不包含有关将策略指派给设备或用户的信息。

XML 格式模板的示例 (WindowsGroupPolicy.xml) 可从 Linux 服务器上的 /opt/novell/zenworks/share/zman/samples/policies 中和 Windows 服务器上的 ZENworks 安装目录:\Novell\Zenworks\share\zman\samples\policies 中取得。

注:如果导出的 XML 文件包含扩展的 ASCII 字符,则在编辑器中将其打开时必须使用 UTF-8 编码而非 ANSI 编码,这是因为 ANSI 编码会将扩展的 ASCII 字符显示为乱码。

使用 XML 文件创建策略时,zman 会使用文件的 <Description><SubType>、<Category><ActionSets><PolicyData> 以及 <SysReqs> 标签中所指定的信息。“名称”和“父文件夹”的值取自命令行。其余元素使用默认值。

按照下列指示使用 XML 文件:

  • 如果您要创建无文件内容的策略,则只需要策略 XML 文件就可以创建该策略。

    例如,“本地文件权限策略”没有与之相关联的文件内容。

  • 如果您要创建含有内容的策略,则必须将另一个包含内容文件路径的 XML 文件作为自变量提供给 policy-create 命令的 -–actioninfo 选项。

    例如,“打印机”策略可以将打印机驱动程序作为关联的文件内容进行安装。

    XML 格式模板的示例 (ActionInfo.xml) 可从 Linux 服务器上的 /opt/novell/zenworks/share/zman/samples/policies 中和 Windows 服务器上的 ZENworks 安装目录:\Novell\Zenworks\share\zman\samples\policies 中取得。

  • 如果要修改导出的 XML 文件中操作的 <Data> 元素,请确保新数据正确无误且符合纲要。zman 实用程序只会对数据做最基本的验证,并不会检查数据中的错误。因此,成功创建的策略也有可能包含无效数据。在受管设备上部署此类策略时,操作将会失败。

  • 文件内容与“操作集”中的特定操作相关联。“操作内容信息”XML 文件应包含要与文件内容相关联的文件的路径,以及“操作集”中操作的索引。

    例如,创建“打印机”策略时选定要安装的“打印机”驱动程序将与创建的“打印机”策略的“实施”操作集中的 printerpolicy 操作相关联。

  • “操作集”由 <ActionSet> 元素中的类型特性指定。它应与策略 XML 文件的“操作集”类型相同。

  • <Action> 元素具有名称特性(此特性可选),目的是为了方便用户理解。

  • index 特性是必需的。它将操作指定给应关联的内容。“操作集”中第一项操作的索引值为 1。

  • 每项操作都可以有多个 <Content> 元素,而每个 <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>