2.5 Création d'un ensemble à l'aide de l'utilitaire de ligne de commande zman

ZENworks Configuration Management permet de créer différents types d'ensembles (Windows, fichiers, directives et création d'image). Chacun dispose de jeux de données et de paramètres propres. Compte tenu de la complexité inhérente à la transmission d'arguments de ligne de commande, zman utilise des fichiers XML comme entrées pour créer un ensemble. Pour créer un ensemble par ce moyen, vous devez exporter au format XML un ensemble du même type créé à l'aide du Centre de contrôle ZENworks. Pour plus d'informations sur la création d'ensembles à l'aide du Centre de contrôle ZENworks, reportez-vous au Section 2.0, Création d'ensembles. Vous pouvez utiliser le fichier exporté au format XML comme modèle pour créer des ensembles à l'aide de zman.

Par exemple, vous pouvez exporter au format XML un ensemble de fichiers créé à l'aide du Centre de contrôle ZENworks, puis utiliser le fichier exporté pour créer un autre ensemble de fichiers à l'aide de zman.

Un ensemble peut être associé au contenu d'un fichier. Par exemple, un fichier MSI à installer correspond au contenu d'un fichier associé à un ensemble MSI Windows.

Les ensembles peuvent également avoir des dépendances sur d'autres ensembles.

Reportez-vous aux sections suivantes pour créer un ensemble à l'aide de l'utilitaire de ligne de commande zman :

2.5.1 Création d'un ensemble sans contenu ni dépendance sur aucun autre ensemble

  1. Créez un ensemble dans le Centre de contrôle ZENworks.

    Par exemple, utilisez le Centre de contrôle ZENworks pour créer un ensemble d'applications Web appelé google et destiné à lancer le site correspondant.

  2. Exportez l'ensemble au format XML. Pour ce faire, utilisez la commande suivante :

    zman bundle-export-to-file bundle_name bundle_filename.xml

    Par exemple, pour exporter l'ensemble google au format xml, utilisez la commande zman bundle-export-to-file google google.xml.

    Pour créer un ensemble avec de nouvelles données, passez à l'Étape 3. Si vous voulez créer un nouvel ensemble avec des données identiques à celles de l'ensemble google, passez à l'Étape 4.

  3. Modifiez le fichier XML en fonction de vos besoins.

    Par exemple, modifiez la valeur <URL> en remplaçant http://www.google.com par http://www.yahoo.com dans la section Lancement d'opération d'URL de Lancement d'ActionSet dans le fichier XML, conformément aux indications ci-dessous.

       <ns2:ActionSets>
    
            <Id>104e5d74804052eb7ddc4a2f54358d97</Id>
    
           <Type>Launch</Type>
    
            <Version>1</Version>
    
            <Modified>false</Modified>
    
            <Data>
    
                <ns1:Launch/>
    
            </Data>
    
            <Actions>
    
                <Id>2ef5c645774759e9868ba2c157301949</Id>
    
                <Type>Launch URL Action</Type>
    
                <Data>
    
                    <ns1:LaunchUrlActionData>
    
                        <URL>http://www.yahoo.com</URL>
    
                        <WaitForExit>false</WaitForExit>
    
                    </ns1:LaunchUrlActionData>
    
                </Data>
    
                <ContinueOnFailure>false</ContinueOnFailure>
    
                <Enabled>true</Enabled>
    
                <Properties />
    
            </Actions>
    
        </ns2:ActionSets>
    
  4. Créez un ensemble à l'aide de la commande suivante :

    zman bundle-create new_bundle_name bundle_xml_filename.xml

    Par exemple, pour créer l'ensemble yahoo, entrez la commande zman bundle-create yahoo google.xml à l'invite de la console.

2.5.2 Création d'un ensemble avec contenu et dépendance sur un autre ensemble

  1. Créez deux ensembles dans le Centre de contrôle ZENworks.

    Par exemple, utilisez le Centre de contrôle ZENworks pour créer deux ensembles d'applications MSI appelés officeXP et officeXPSP1. L'ensemble officeXP installe Microsoft Office XP à l'aide d'un MSI. L'ensemble officeXPSP1 installe Microsoft Office XP Service Pack 1. Dans l'ensemble officeXP, ajoutez une opération Installer un ensemble. Cette opération permet d'installer officeXPSP1.

  2. Pour exporter au format XML un ensemble dont dépend un autre, utilisez la commande suivante :

    zman bundle-export-to-file nom_ensemble nom_fichier_ensemble.xml

    Les fichiers nom_fichier_ensemble.xml et nom_fichier_ensemble_ActionContentInfo.xml sont créés.

    Par exemple, pour exporter l'ensemble officeXP au format xml , utilisez la commande zman bundle-export-to-file officeXP officeXP.xml. Les fichiers officeXP.xml et officeXP_ActionContentInfo.xml sont créés.

    Des exemples au format xml, WindowsMSIBundle.xml et ActionInfo.xml, sont disponibles dans /opt/novell/zenworks/share/zman/samples/bundles sur un serveur Linux et dans %ZENWORKS_HOME%\Novell\Zenworks\share\zman\samples\bundles sur un serveur Windows. Pour plus d'informations sur ActionContentInfo.xml, reportez-vous à la Section 2.5.3, Présentation du format XML de l'ensemble utilisé avec zman.

    Pour créer un ensemble avec de nouvelles données, passez à l'Étape 3. Pour créer un ensemble avec les données d'officeXP, passez à l'Étape 4.

  3. Modifiez les fichiers officeXP.xml et officeXP_ActionContentInfo.xml en fonction de vos besoins.

    Par exemple, pour installer ApplicationX et son Support Pack à l'aide d'un nouvel ensemble, procédez comme suit :

    • Remplacez toutes les références à officeXP.msi par ApplicationX.msi dans le fichier officeXP_ActionContentInfo.xml.

    • Créez un ensemble appelé ApplicationX-SP1 et destiné à installer le Support Pack de ApplicationX.

    • Pour installer ApplicationX et son Support Pack, remplacez le chemin de l'ensemble OfficeXPSP1 dépendant par celui de ApplicationX-SP1 dans le fichier officeXP_ActionContentInfo.xml.

    Un modèle de officeXP_ActionContentInfo.xml est présenté ci-dessous.

    <ActionInformation>
    
       <ActionSet type="Install">
    
            <Action name="Install MSI" index="1">
    
                <Content>              
    
                    <ContentFilePath includeAllFilesinFolder="false"
    
    includeAllFilesinSubFolders="false">E:\files\ApplicationX.msi</ContentFilePath>
    
                </Content>                            
    
            </Action>
    
            <Action name="Install Bundle" index="2">
    
             <DependentBundlePath>bundlefolder/ApplicationX-SP1</DependentBundlePath>             
    
            </Action>
    
        </ActionSet>
    
        <ActionSet type="Uninstall">
    
            <Action name="Undo Install Actions" index="1">
    
                <Content>                
    
                    <ContentFilePath includeAllFilesinFolder="false" includeAllFilesinSubFolders="false">E:\files\ApplicationX.msi</ContentFilePath>
    
                </Content>
    
            </Action>
    
        </ActionSet>
    
    </ActionInformation>
    
  4. Créez un ensemble à l'aide de la commande suivante :

    zman bundle-create nom_nouvel_ensemble nom_fichier_xml_ensemble.xml emplacement_ensemble --actioninfo nom_ensemble_ActionContentInfo.xml

    Si vous ne spécifiez pas l'emplacement de création de l'ensemble, ce dernier est créé dans le dossier racine (/Ensembles) par défaut.

    Par exemple, la commande suivante permet de créer un ensemble appelé ApplicationX dans le dossier racine (/Ensembles) :

    zman bundle-create ApplicationX officeXP.xml --actioninfo officeXP_ActionContentInfo.xml

    Vous pouvez également spécifier le dossier dans lequel l'ensemble doit être créé.

    Par exemple, la commande suivante permet de créer un ensemble appelé ApplicationY dans le dossier Logiciels sous le dossier racine (/Ensembles/Logiciels) :

    zman bundle-create ApplicationY officeXP.xml /Ensembles/Logiciels --actioninfo officeXP_ActionContentInfo.xml

2.5.3 Présentation du format XML de l'ensemble utilisé avec zman

La commande bundle-export-to-file permet la sérialisation XML des informations de l'ensemble stockées dans la base de données. Chaque ensemble contient des opérations regroupées par catégorie (par exemple, d'installation ou de lancement). Le fichier exporté au format XML contient des informations sur l'ensemble. Il s'agit notamment de l'UID, du nom, du chemin, du type primaire, du sous-type, de la catégorie, de la configuration système requise ainsi que des informations sur les éléments ActionSet et leurs opérations. Le fichier ne traite pas de l'assignation de l'ensemble à des périphériques ou à des utilisateurs. Il ne contient pas non plus d'informations sur les images ajoutées de l'ensemble.

Un modèle de format XML, WindowsMSIBundle.xml, est disponible dans /opt/novell/zenworks/share/zman/samples/bundles sur un serveur Linux et dans %ZENWORKS_HOME%\Novell\Zenworks\share\zman\samples\bundles sur un serveur Windows.

REMARQUE :si le fichier exporté au format XML contient des caractères ASCII, vous devez l'ouvrir dans un éditeur en utilisant le codage UTF-8 au lieu de ANSI. En effet, le codage ANSI rend inintelligibles les caractères du jeu ASCII étendu.

Lorsque vous créez un ensemble à partir du fichier XML, zman utilise les informations indiquées dans <Description>, <SubType>, <Category>, <ActionSets> et <SysReqs>. Pour le nom et le dossier parent, les valeurs de la ligne de commande sont utilisées. Pour les éléments restants, la valeur par défaut est utilisée.

Respectez les indications ci-dessous, concernant l'utilisation du fichier XML.

  • Pour la création d'un ensemble sans contenu de fichier ni dépendance, seul le fichier XML correspondant est requis.

  • Pour créer un ensemble doté de contenu ou d'une dépendance, vous devez fournir un fichier XML supplémentaire. Celui-ci contient le chemin du fichier de contenu ou de l'ensemble dépendant. Il sert d'argument à l'option --actioninfo de la commande bundle-create.

    Un modèle de format XML, ActionInfo.xml, est disponible dans /opt/novell/zenworks/share/zman/samples/bundles sur un serveur Linux et dans %ZENWORKS_HOME%\Novell\Zenworks\share\zman\samples\bundles sur un serveur Windows.

  • Pour modifier l'élément <Data> des actions du fichier exporté au format XML, assurez-vous de l'exactitude des nouvelles données et de leur conformité au schéma. L'utilitaire zman procède à une validation minimale des données. Il n'y recherche pas d'erreurs. En conséquence, l'ensemble créé peut contenir des données incorrectes. Il génère, le cas échéant, une erreur au moment de son déploiement sur un périphérique géré.

  • Au contenu de fichier ou aux dépendances d'ensembles est associée une opération particulière dans <ActionSet>. ActionContentInfo.xml doit comporter le chemin du fichier auquel seront associés le contenu et la valeur d'index de l'opération dans <ActionSet>.

    Par exemple, le fichier MSI à installer lors de la création de l'ensemble Windows MSI est associé à la première opération Installer MSI du groupe d'opérations Installer.

  • L'élément <ActionSet> est défini par l'attribut type. Il doit être du même type que le fichier XML de l'ensemble.

  • L'élément <Action> dispose d'un attribut de nom en option dont l'intérêt est de faciliter la lecture utilisateur.

  • En revanche, l'attribut index est obligatoire. Il indique l'opération à laquelle associer le contenu ou la dépendance. La valeur d'index de la première opération de <ActionSet> est 1.

  • Une opération peut comporter plusieurs éléments <Content>, contenant chacun un élément <ContentFilePath>. L'élément <ContentFilePath> indique le chemin d'accès au contenu de fichier à associer à l'opération. Vérifiez que le nom du fichier est celui indiqué dans le fichier XML de l'ensemble. Pour ce faire, reportez-vous à l'élément <Data> associé à l'opération.

  • Vérifiez que l'ordre des éléments <Content> correspond à celui du fichier XML de l'ensemble. Par exemple, dans le cas de l'ensemble Windows, le premier élément <Content> doit être le fichier MSI ; les éléments de même type suivants contiendront les chemins des fichiers MST, classés selon l'ordre indiqué dans le bloc <Data> associé à l'opération.

  • Pour créer des ensembles MSI Windows, vous pouvez inclure tous les fichiers du dossier et des sous-éléments en définissant les attributs includeAllFilesinFolder et includeAllFilesinSubFolders comme étant vrais. Pour indiquer la dépendance envers un autre ensemble, vous pouvez définir le chemin de celui-ci comme étant la valeur de l'élément <DependentBundlePath>. Conformément aux instructions ci-dessous, le chemin de l'ensemble doit être relatif à /Bundles.

    <ActionSet type="Install">
    
    <Action name="Install MSI" index="1">
    
    <Content>
    
    <ContentFilePath includeAllFilesinFolder="false" includeAllFilesinSubFolders="false">E:\files\ApplicationX.msi</ContentFilePath>
    
    </Content>
    
    <Content>
    
    <ContentFilePath includeAllFilesinFolder="false"
    
    includeAllFilesinSubFolders="false">E:\files\ApplicationX_MST1.mst</ContentFilePath>
    
    </Content>
    
    </Action>
    
    <Action name="Install Bundle" index="2">
    
    <DependentBundlePath>bundlefolder/ApplicationX-SP1</DependentBundlePath>
    
    </Action>
    
    </ActionSet>
    
  • Pour obtenir l'UID d'un objet, utilisez la commande object-get-GUID. Modifiez manuellement les UID d'objet du fichier XML de l'ensemble dans les cas suivants :

    • Dans la configuration système requise, le chemin et l'UID de l'ensemble installé doivent être modifiés dans l'élément <BundleInstalledReq> de <SysReqs>.

    • Dans l'ensemble de création d'image, vous devez modifier manuellement l'UID du serveur sur lequel réside le fichier .img. Pour ce faire, reportez-vous aux opérations Image ZENworks et Ensemble d'images de multidiffusion. De plus, vous devez modifier manuellement l'UID de l'ensemble lié d'applications. Pour ce faire, reportez-vous aux opérations Ensemble d'images de multidiffusion et Ensemble d'applications liées. Assurez-vous d'avoir créé manuellement l'image ajoutée de l'ensemble lié. En effet, la création n'est pas automatique lorsque l'ensemble est lié à celui des images.