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コントロールセンターを使用して、http://www.google.co.inというブックマークを含んだgoogleという名前のブラウザブックマークポリシーを作成します。

  2. 次のコマンドを使用して、ポリシーをXMLファイルにエクスポートします。

    zman policy-export-to-file policy_name policy_filename.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に変更します。これは、次に示すように、browserbookmarkspolicyアクション(Enforcementアクションセットと<PolicyData>要素)にあり、<Actions>要素と<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 new_policy_name policy_xml_filename.xml

    たとえば、yahooポリシーを作成するには、次のコマンドを使用します。

    zman policy-create yahoo google.xml

2.10.2 コンテンツを持つポリシーの作成

  1. ZENworksコントロールセンターでポリシーを作成します。

    たとえば、ZENworksコントロールセンターを使用して、ポリシーコンテンツとして用意されたdriver.zipファイルからiPrintドライバを自動インストールし、デバイスにiPrintプリンタを設定する、 iPrintPolicyという名前のiPrintタイプのプリンタポリシーを作成します。

  2. 次のコマンドを使用して、ポリシーをXMLファイルにエクスポートします。

    zman policy-export-to-file policy_name policy_filename.xml

    これにより、policy_filename.xmlpolicy_filename_ActionContentInfo.xml ファイルが作成されます。

    たとえば、iPrintPolicyをiPrintPolicy.xmlにエクスポートするには、次のコマンドを使用します。

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

    iPrintPolicy.xmlファイルとiPrintPolicy_ActionContentInfo.xml ファイルが作成されます。ActionContentInfo.xmlの詳細については、セクション 2.10.3, zmanポリシーXMLファイル形式の理解を参照してください。

    新規データを使用して、新規ポリシーを作成する場合は、ステップ 3に進んでください。iPrintPolicyポリシーと同じデータを使用して新規ポリシーを作成する場合は、ステップ 4に進んでください。

  3. 要件に応じて、iPrintPolicy.xml ファイルとiPrintPolicy_actioncontentinfo.xmlファイルを変更します。

    たとえば、新しいバージョンのドライバを使用し、ネットワークに別のiPrintを設定およびインストールする新しいポリシーを作成するには、次を実行します。

    • driver.zipの全リファレンスをnewDriver.zipに変更します。これは、<ActionSet>セクションと<PolicyData>セクション(iPrintPolicy.xml)および<ActionSet>セクション(iPrintPolicy_actioncontentinfo.xml)にあります。

    • 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 new_policy_name policy_xml_filename.xml --actioninfo policy_name_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/opt/novell/zenworks/share/zman/samples/policies(Linuxサーバの場合)およびZENworks_Installation_directory:\Novell\Zenworks\share\zman\samples\policies(Windowsサーバの場合)にあります。

メモ:エクスポートされるXMLファイルに拡張ASCII文字が含まれている場合、ANSIエンコーディングでは拡張ASCII文字が文字化けとして表示されるため、ANSIエンコーディングではなくUTF-8エンコーディングを使用して、エディタで開く必要があります。

XMLファイルからバンドルを作成する場合、zmanでは、ファイルの<Description><SubType><Category><ActionSets><SysReqs>タグに指定されている情報を使用します。[名前]および[親フォルダ]の値は、コマンドラインラインから取得されます。残りの要素に対しては、デフォルト値が使用されます。

XMLファイルで作業するには、下記にリストされたガイドラインに従ってください。

  • ファイルコンテンツを持たないポリシーを作成する場合にポリシーの作成に必要なのは、ポリシーXMLファイルのみです。

    たとえば、ローカルファイル権限ポリシーは、関連付けられたファイルコンテンツを持ちません。

  • コンテンツを持つポリシーを作成する場合は、policy-create コマンドの-–actioninfoオプションに対する引数として、コンテンツファイルのパスを含む、追加のXMLファイルを提供する必要があります。

    たとえば、プリンタポリシーには、ファイルコンテンツとして、インストールするプリンタドライバを関連付けることができます。

    サンプルXMLフォーマットテンプレートActionInfo.xml /opt/novell/zenworks/share/zman/samples/policies(Linuxサーバの場合)およびZENworks_Installation_directory:\Novell\Zenworks\share\zman\ samples\policies(Windowsサーバの場合)にあります。

  • エクスポートされたXMLファイルで、アクションの<Data>要素を変更するには、新しいデータが正しく、スキーマに準拠していることを確認します。zmanユーティリティはデータの最低限の検証は行いますがエラーチェックは行いません。したがって、ポリシーは正常に作成されても、無効なデータの場合もあります。このようなポリシーは、管理対象デバイスに展開されると失敗します。

  • ファイルコンテンツは、アクションセット内の特定のアクションに関連付けられます。アクションコンテンツ情報XMLファイルには、ファイルコンテンツが関連付けられるファイルのパスとアクションセット内のアクションのインデックスが含まれている必要があります。

    たとえば、プリンタポリシーの作成時にインストール用に選択したプリンタドライバは、作成されるプリンタポリシーの実施アクションセットのprinterpolicyアクションに関連付けられます。

  • アクションセットは、<ActionSet> 要素のtype属性で指定されます。これは、ポリシーXMLファイルのアクションセットタイプと同じである必要があります。

  • <Action>要素には名前属性があり(オプション)、ユーザによって読みやすいようになっています。

  • index属性は必須です。コンテンツが関連付けられているアクションを指定します。アクションセットの最初のアクションのインデックス値は1です。

  • 各アクションには複数の<Content>要素があり、それぞれ<ContentFilePath>要素が含まれています。<ContentFilePath>要素には、アクションに関連付けられるファイルコンテンツのパスが含まれています。ファイル名が、そのアクションに対する<Data>のポリシーXMLファイルで指定されているファイル名と同じであることを確認します。

  • <Content>要素の順序が、ポリシーXMLファイルでの順序に対応していることを確認します。たとえば、1つのプリンタポリシーに複数のドライバを設定できます。ドライバファイルのパスは、次に示すように、アクションのデータにおけるファイルの指定順序と同じ順序で<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>