<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Image Management | XOAP Docs</title>
	<atom:link href="https://xoap.io/fr/docs-category/imagexo/feed/" rel="self" type="application/rss+xml" />
	<link>https://xoap.io/fr/docs-category/imagexo/</link>
	<description>Plate-forme pour l'infrastructure informatique et l'automatisation du lieu de travail</description>
	<lastbuilddate>Fri, 23 Jan 2026 14:11:47 +0000</lastbuilddate>
	<language>fr-FR</language>
	<sy:updateperiod>
	horaire	</sy:updateperiod>
	<sy:updatefrequency>
	1	</sy:updatefrequency>
	

<image>
	<url>https://xoap.io/wp-content/uploads/2023/11/cropped-favicon-32x32.png</url>
	<title>Image Management | XOAP Docs</title>
	<link>https://xoap.io/fr/docs-category/imagexo/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>About Image Management</title>
		<link>https://xoap.io/fr/docs/imagexo-about/</link>
					<comments>https://xoap.io/fr/docs/imagexo-about/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubdate>Wed, 27 Mar 2024 13:40:43 +0000</pubdate>
				<guid ispermalink="false">https://xoap.io/?post_type=docs&#038;p=9827</guid>

					<description><![CDATA[<p>This serves as an introduction to Image Management, outlining its purpose, advantages and important features. The Image Management module is an extended implementation of Hashicorp&#8217;s Packer. It enables administrators to create standardized and consistent images across multiple platforms. With Image Management, you don&#8217;t need to write JSON-based configurations for multiple infrastructure images. 🎥: Watch our [&#8230;]</p>
<p>The post <a href="https://xoap.io/fr/docs/imagexo-about/">About Image Management</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This serves as an introduction to Image Management, outlining its purpose, advantages and important features.</p>
</blockquote>



<p>Le<a href="https://xoap.io/fr/imageXO/"> Image Management </a>module is an extended implementation of <a href="https://www.packer.io/">Hashicorp&#8217;s Packer</a>. It enables administrators to create standardized and consistent images across multiple platforms. With Image Management, you don&#8217;t need to write JSON-based configurations for multiple infrastructure images.</p>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a5.png" alt="🎥" class="wp-smiley" style="height: 1em; max-height: 1em;" />: Watch our<a href="https://www.youtube.com/watch?v=oQQYvotmntc&amp;list=PLs-JcRlVtkHqD6jlv1_OT47hfskyBotQq&amp;index=3"> YouTube video</a> for a visual walkthrough</strong></p>



<h2 class="wp-block-heading" id="features">Caractéristiques principales</h2>



<p>Image Management lets you use your custom installation scripts and extends the Packer implementation through the following features:</p>



<ul class="wp-block-list">
<li>Create Provisioner Groups</li>



<li>Create Provisioner Roles</li>



<li>Use PowerShell DSC configurations during image build (hosted and standalone with <a href="https://xoap.io/fr/configXO/">Configuration Management</a>)</li>



<li>Use PowerShell AppDeployment Toolkit packages, groups and roles (with <a href="https://xoap.io/fr/applicationXO/">Application Mnagament</a>)</li>
</ul>



<h2 class="wp-block-heading" id="use-cases">Use cases</h2>



<ul class="wp-block-list">
<li>Continuous Delivery</li>



<li>DEV/ACC/PRD alignment</li>



<li>Demo creation</li>



<li>Golden images</li>
</ul>



<h2 class="wp-block-heading">Top benefits</h2>



<p>Our Image Management module:</p>



<ul class="wp-block-list">
<li>Allows you to launch completely provisioned and configured machines in minutes, on repeat and consistently – create different images for development, acceptance or production environments or use one for all stages</li>



<li>Defines pre-baked developer images or is usable in Citrix environments to create golden images – because it creates identical images for multiple platforms, you can run production in AWS, staging/QA in a private cloud like OpenStack and development in desktop virtualization solutions such as VMware or VirtualBox</li>



<li>Installs and configures all the software for a machine at the time the image is built – if there are bugs in these scripts, they will be caught early rather than in production</li>



<li>Implements Pester scripts (or similar) to test your machines against a defined state</li>
</ul><p>The post <a href="https://xoap.io/fr/docs/imagexo-about/">About Image Management</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentrss>https://xoap.io/fr/docs/imagexo-about/feed/</wfw:commentrss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Prerequisites</title>
		<link>https://xoap.io/fr/docs/imagexo-prerequisites/</link>
					<comments>https://xoap.io/fr/docs/imagexo-prerequisites/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubdate>Wed, 27 Mar 2024 13:45:17 +0000</pubdate>
				<guid ispermalink="false">https://xoap.io/?post_type=docs&#038;p=9694</guid>

					<description><![CDATA[<p>Image Management To get started with Image Management, there is only one prerequisite: a working connection to your environment. Configure your connection by navigating to Connections, then clicking the Add new connection button in the upper-right corner. In the slide-out panel, select the connection Type and Provider. Fill in the remaining required information and click [&#8230;]</p>
<p>The post <a href="https://xoap.io/fr/docs/imagexo-prerequisites/">Prerequisites</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Image Management</h2>



<p>To get started with Image Management, there is only one prerequisite: a working connection to your environment. Configure your connection by navigating to <strong>Connexions</strong>, then clicking the <strong>Add new connection</strong> button in the upper-right corner.</p>



<p>In the slide-out panel, select the connection <strong>Type</strong> et <strong>Provider</strong>. Fill in the remaining required information and click <strong>Confirmer</strong> to save your connection.</p>



<p>If you need assistance with configuring your access credentials, please refer to the <a href="https://xoap.io/docs/connect-your-infrastructure/" target="_blank" rel="noreferrer noopener">Connect your infrastructure documentation</a>.</p>



<p>In the following sections, you will find more information about the required permissions for your infrastructure. Please note that these are the <strong>minimum permissions</strong> needed to create <strong>Image Definitions</strong>.</p>



<p>If you plan to use the same connection for <strong>Actions scénarisées</strong>, the required permissions may vary depending on the specific use case.</p>



<h3 class="wp-block-heading" style="font-size:28px">AWS</h3>



<p>To create a customized image, a <strong>default VPC must be available</strong> in the AWS account you&#8217;re using.</p>



<p>Additionally, you need to assign appropriate <strong>IAM permissions</strong> to the user specified in the connection. At a minimum, the following permissions are required:</p>



<pre class="wp-block-code"><code>#Codeblock

{
  "Version": "2012-10-17",
  "Statement": &#91;
    {
      "Effect": "Allow",
      "Action": &#91;
        "ec2:AttachVolume",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:CopyImage",
        "ec2:CreateImage",
        "ec2:CreateKeyPair",
        "ec2:CreateSecurityGroup",
        "ec2:CreateSnapshot",
        "ec2:CreateTags",
        "ec2:CreateVolume",
        "ec2:DeleteKeyPair",
        "ec2:DeleteSecurityGroup",
        "ec2:DeleteSnapshot",
        "ec2:DeleteVolume",
        "ec2:DeregisterImage",
        "ec2:DescribeImageAttribute",
        "ec2:DescribeImages",
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceStatus",
        "ec2:DescribeRegions",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSnapshots",
        "ec2:DescribeSubnets",
        "ec2:DescribeTags",
        "ec2:DescribeVolumes",
        "ec2:DetachVolume",
        "ec2:GetPasswordData",
        "ec2:ModifyImageAttribute",
        "ec2:ModifyInstanceAttribute",
        "ec2:ModifySnapshotAttribute",
        "ec2:RegisterImage",
        "ec2:RunInstances",
        "ec2:StopInstances",
        "ec2:TerminateInstances"
      ],
      "Resource": "*"
    }
  ]
}

#EndOfCodeblock</code></pre>



<p>Read more about the required permissions <a href="https://developer.hashicorp.com/packer/integrations/hashicorp/amazon" target="_blank" rel="noreferrer noopener">ici</a>.</p>



<h3 class="wp-block-heading" style="font-size:28px">L'azur</h3>



<p>To create images on Azure, ensure the following prerequisite is met: you must create a <strong>Service Principal</strong> with Contributor role access to your Azure subscription. Use the Azure CLI to generate the Service Principal.</p>



<h4 class="wp-block-heading" style="font-size:21px">Command format</h4>



<pre class="wp-block-code"><code>#Codeblock
az ad sp create-for-rbac \
  --name &#91;ServicePrincipalName] \
  --role Contributor \
  --scopes /subscriptions/&#91;SubscriptionId] \
  --years 1
#EndOfCodeblock</code></pre>



<h4 class="wp-block-heading" style="font-size:21px">Command example</h4>



<pre class="wp-block-code"><code>#Codeblock

az ad sp create-for-rbac \
  --name xoap-image-principal \
  --role Contributor \
  --scopes /subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  --years 1

#EndOfCodeblock</code></pre>



<h4 class="wp-block-heading" style="font-size:21px">Command output</h4>



<pre class="wp-block-code"><code>#Codeblock

{
  "appId": "&#91;ClientId (Guid)]",
  "displayName": "xoap-image-principal",
  "name": "http://xoap-image-principal",
  "password": "&#91;ClientSecret]",
  "tenant": "&#91;TenantId (Guid)]"
}

#EndOfCodeblock</code></pre>



<p>Using this output, you can now configure your connection in XOAP:</p>



<ul class="wp-block-list">
<li><strong>Subscription ID:</strong> xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</li>



<li><strong>Tenant ID: </strong>[TenantId (GUID)]</li>



<li><strong>Client ID: </strong>[appId]</li>



<li><strong>Client Secret: </strong>[password]</li>
</ul>



<p>Read more about the required permissions <a href="https://developer.hashicorp.com/packer/integrations/hashicorp/azure" target="_blank" rel="noreferrer noopener">ici</a>.</p>



<h3 class="wp-block-heading" style="font-size:28px">Google</h3>



<p>The file you&#8217;re required to upload is a<strong> Google Cloud Service Account key file</strong> in <strong>JSON</strong> format. You can generate and <strong>download</strong> it like this:</p>



<ol class="wp-block-list">
<li>Open <strong>Google Cloud Console</strong>: <a href="https://console.cloud.google.com/iam-admin/serviceaccounts" target="_blank" rel="noreferrer noopener">https://console.cloud.google.com/iam-admin/serviceaccounts</a>.</li>



<li>Select your <strong>project</strong> from the top-left dropdown.</li>



<li>Create or select a service account: If you don’t have one yet, click <strong>&#8220;Create Service Account&#8221;</strong> under <strong>&#8220;IAM&amp;Admin&#8221;</strong> menu. Give it a name and optional description.</li>



<li>Assign the required roles (see below for full list).</li>



<li>After creating or selecting a service account:
<ul class="wp-block-list">
<li>Click the ⋮ (three dots) next to the service account name<strong> </strong>→ <strong>Manage Keys</strong></li>



<li>Under the <strong>&#8220;Keys&#8221;</strong> section, click Add Key → <strong>Create new key</strong></li>



<li>Choose <strong>JSON</strong>, then click <strong>Créer</strong></li>
</ul>
</li>



<li>The file will download automatically – this is the file you need to upload into XOAP to authenticate with Google Cloud.</li>
</ol>



<h4 class="wp-block-heading" style="font-size:21px">Required IAM Roles for Packer to build Images</h4>



<p>To allow the service account to build custom images with Packer, you need to assign at least these roles:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-left" data-align="left"><strong>Role Name</strong></td><td class="has-text-align-left" data-align="left"><strong>Role ID</strong></td><td class="has-text-align-left" data-align="left"><strong>Purpose</strong></td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Compute Instance Admin (v1)</strong></td><td class="has-text-align-left" data-align="left">roles/compute.instanceAdmin.v1</td><td class="has-text-align-left" data-align="left">Required to create, configure, and delete instances, disks, and snapshots</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Service Account User</strong></td><td class="has-text-align-left" data-align="left">roles/iam.serviceAccountUser</td><td class="has-text-align-left" data-align="left">Allows using the service account to launch instances</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Storage Admin (optional)</strong></td><td class="has-text-align-left" data-align="left">roles/storage.admin</td><td class="has-text-align-left" data-align="left">Required if storing images or artifacts in Cloud Storage</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>IAP Tunnel Resource Accessor (optional)</strong></td><td class="has-text-align-left" data-align="left">roles/iap.tunnelResourceAccessor</td><td class="has-text-align-left" data-align="left">Needed only if using IAP to tunnel SSH</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Compute Network User (Shared VPC only)</strong></td><td class="has-text-align-left" data-align="left">roles/compute.networkUser</td><td class="has-text-align-left" data-align="left">Required if you&#8217;re using a Shared VPC network</td></tr></tbody></table></figure>



<p>Read more about the required permissions <a href="https://developer.hashicorp.com/packer/integrations/hashicorp/googlecompute" target="_blank" rel="noreferrer noopener">ici</a>.</p>



<h3 class="wp-block-heading" style="font-size:28px">vSphere</h3>



<p>To integrate XOAP with <strong>VMware vSphere</strong> for image builds, create a <strong>custom vSphere role</strong> that includes only the privileges required for XOAP to perform its operations. Assign this role to a dedicated service account to ensure XOAP has least-privilege access to the vSphere infrastructure.</p>



<h4 class="wp-block-heading" style="font-size:21px">Required privileges</h4>



<p>Clone the default <strong>Read-Only</strong> vSphere role and add the following privileges:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-left" data-align="left"><strong>Category</strong></td><td><strong>Privilege</strong></td><td><strong>Reference</strong></td></tr><tr><td class="has-text-align-left" data-align="left">Content Library</td><td>Add library item</td><td>ContentLibrary.AddLibraryItem</td></tr><tr><td class="has-text-align-left" data-align="left">Content Library</td><td>Update Library Item</td><td>ContentLibrary.UpdateLibraryItem</td></tr><tr><td class="has-text-align-left" data-align="left">Cryptographic Operations</td><td>Direct Access (Required for cache upload.)</td><td>Cryptographer.Access</td></tr><tr><td class="has-text-align-left" data-align="left">Cryptographic Operations</td><td>Encrypt (Required for vTPM.)</td><td>Cryptographer.Encrypt</td></tr><tr><td class="has-text-align-left" data-align="left">Datastore</td><td>Allocate space</td><td>Datastore.AllocateSpace</td></tr><tr><td class="has-text-align-left" data-align="left">Datastore</td><td>Browse datastore</td><td>Datastore.Browse</td></tr><tr><td class="has-text-align-left" data-align="left">Datastore</td><td>Low level file operations</td><td>Datastore.FileManagement</td></tr><tr><td class="has-text-align-left" data-align="left">Host</td><td>Configuration &gt; System Management</td><td>Host.Config.SystemManagement</td></tr><tr><td class="has-text-align-left" data-align="left">Network</td><td>Assign network</td><td>Network.Assign</td></tr><tr><td class="has-text-align-left" data-align="left">Ressources</td><td>Assign virtual machine to resource pool</td><td>Resource.AssignVMToPool</td></tr><tr><td class="has-text-align-left" data-align="left">vApp</td><td>Export</td><td>vApp.Export</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Add new disk</td><td>VirtualMachine.Config.AddNewDisk</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Add or remove device</td><td>VirtualMachine.Config.AddRemoveDevice</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Advanced configuration</td><td>VirtualMachine.Config.AdvancedConfig</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Change CPU count</td><td>VirtualMachine.Config.CPUCount</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Change memory</td><td>VirtualMachine.Config.Memory</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Change settings</td><td>VirtualMachine.Config.Settings</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Change Resource</td><td>VirtualMachine.Config.Resource</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Modify device settings</td><td>VirtualMachine.Config.EditDevice</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Set annotation</td><td>VirtualMachine.Config.Annotation</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Edit Inventory &gt; Create from existing</td><td>VirtualMachine.Inventory.CreateFromExisting</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Edit Inventory &gt; Create new</td><td>VirtualMachine.Inventory.Create</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Edit Inventory &gt; Remove</td><td>VirtualMachine.Inventory.Delete</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Configure CD media</td><td>VirtualMachine.Interact.SetCDMedia</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Configure floppy media</td><td>VirtualMachine.Interact.SetFloppyMedia</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Connect devices</td><td>VirtualMachine.Interact.DeviceConnection</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Inject USB HID scan codes</td><td>VirtualMachine.Interact.PutUsbScanCodes</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Power off</td><td>VirtualMachine.Interact.PowerOff</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Power on</td><td>VirtualMachine.Interact.PowerOn</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Provisioning &gt; Create template from virtual machine</td><td>VirtualMachine.Provisioning.CreateTemplateFromVM</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Provisioning &gt; Mark as template</td><td>VirtualMachine.Provisioning.MarkAsTemplate</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Provisioning &gt; Mark as virtual machine</td><td>VirtualMachine.Provisioning.MarkAsVM</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>State &gt; Create snapshot</td><td>VirtualMachine.State.CreateSnapshot</td></tr></tbody></table></figure>
</div><p>The post <a href="https://xoap.io/fr/docs/imagexo-prerequisites/">Prerequisites</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentrss>https://xoap.io/fr/docs/imagexo-prerequisites/feed/</wfw:commentrss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Image Definitions</title>
		<link>https://xoap.io/fr/docs/imagexo-images/</link>
					<comments>https://xoap.io/fr/docs/imagexo-images/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubdate>Wed, 27 Mar 2024 14:08:39 +0000</pubdate>
				<guid ispermalink="false">https://xoap.io/?post_type=docs&#038;p=9960</guid>

					<description><![CDATA[<p>Quick guide This is the final step of creating images. If you have not yet configured your Connection, Operating Systems, Builder Configuration or Provisioner Role, please do so before proceeding. Create a new Image Definition Update an existing Image Definition Delete an Image Definition Additional useful information Connector requirement: The Connector in an Image Definition [&#8230;]</p>
<p>The post <a href="https://xoap.io/fr/docs/imagexo-images/">Image Definitions</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This is the final step of creating images. If you have not yet configured your <strong>Connection</strong>, <strong>Systèmes d'exploitation</strong>, <strong>Builder Configuration</strong> ou <strong>Provisioner Role</strong>, please do so before proceeding.</p>
</blockquote>



<h3 class="wp-block-heading" style="font-size:28px">Create a new Image Definition</h3>



<ol class="wp-block-list">
<li>In the upper-right corner, click + <strong>Nouvelle image</strong>.</li>



<li>Enter all required parameters and click <strong>Économiser</strong>.</li>



<li>Right-click the newly created Image Definition and select <strong>Exécuter</strong> to create the images.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Update an existing Image Definition</h3>



<ol class="wp-block-list">
<li>Right-click the Image Definition and select <strong>Details</strong>.</li>



<li>Adjust the parameters as needed and click <strong>Économiser</strong>.</li>



<li>Run the Image Definition to create a new image version with the updated configuration.</li>
</ol>



<h2 class="wp-block-heading" style="font-size:28px">Delete an Image Definition</h2>



<ol class="wp-block-list">
<li>To delete an Image Definition, right-click it and select <strong>Supprimer</strong>.</li>



<li>This removes the Image Definition from XOAP, but all previously created image versions remain in your environment.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Additional useful information</h3>



<h4 class="wp-block-heading" style="font-size:21px">Connector requirement:</h4>



<p>Le <strong>Connector</strong> in an Image Definition is required for secure deployments in both cloud and on-premises environments. See our documentation for instructions on how to deploy the XOAP Connector on your machine.</p>



<h4 class="wp-block-heading" style="font-size:21px">Templates:</h4>



<p>We provide example <strong>Builder Configurations</strong>, <strong>Systèmes d'exploitation</strong>, and <strong>Provisioner Roles</strong> in your Workspace as quick-start templates. They may not fully match your environment, so feel free to modify them or create your own.</p>



<h4 class="wp-block-heading" style="font-size:21px">Logs and Runs:</h4>



<p>To view the log for the last run, click on the <strong>Statut</strong> badge. Live logging and stopping an image run can be done from the <strong>Courses</strong> view.</p>



<h4 class="wp-block-heading" style="font-size:21px">Temporary runs:</h4>



<p>If a run is <strong>stopped</strong>, the temporary files created during that run are not deleted from your environment. For <strong>Failed</strong> ou <strong>Succeeded</strong> runs, temporary files are removed automatically.</p>



<h2 class="wp-block-heading" style="font-size:38px">Technical documentation</h2>



<p>The image definition is the final and most crucial step in the image creation process. This is where you bring together all previously configured components—<strong>Provisioner Role</strong>, <strong>Operating System</strong>, and <strong>Builder Configuration</strong>—into a single, unified blueprint.</p>



<p>By combining these elements, you define exactly how the virtual machine image will be built, what operating system it will use, how it will be configured, and in which environment it will be deployed (e.g., AWS, Azure, etc.).</p>



<p>In XOAP, this step ensures that your image is consistently created according to your selected setup and ready for deployment or automation.</p>



<p>The interface allows you to:</p>



<ul class="wp-block-list">
<li>Assign a name and description to the image definition</li>



<li>Select tags for categorization or filtering</li>



<li>Choose the builder provider and specific builder configuration</li>



<li>Pick a base operating system image</li>



<li>Link the appropriate provisioner role (which includes all scripts, tasks, and configurations)</li>



<li>Define a XOAP Connector device for on-premises Image definitions or secure cloud environments</li>



<li>Schedule Image Definition Run</li>
</ul>



<h3 class="wp-block-heading" style="font-size:28px">Run or schedule image builds</h3>



<p>By runing an Image Definition you will start the image build process. You can track the progress by clicking the <strong>Courses</strong> button in the upper right corner. This opens a side panel showing active runs.</p>



<p>By clicking Toggle Logs, you can follow live build logs and monitor progress in real time.</p>



<p>There are several possible statuses for an image definition run:</p>



<p><strong>No Runs</strong> – The image definition has not been executed yet<br><strong>En attente</strong> – The run is waiting in line and will start when resources are available<br><strong>La course à pied</strong> – The image build process is currently in progress<br><strong>Succeeded</strong> – The image was successfully built and completed without errors<br><strong>Failed</strong> – The image build process encountered an error and did not complete<br><strong>Stopped</strong> – The image build was successfully stopped by a user and did not complete</p>



<p><strong>The Image Definition run can take anywhere from a few minutes to a few hours.</strong></p>



<p>This mainly depends on the number of provisioners being used and the selected base operating system. If you want to see more details about a specific image definition, click Details in the Action menu.</p>



<p>For Windows Image Definitions in cloud environments the sysprep command is executed automatically at the end of the image definition run. For on-premises environments you need to add it manually inside your Provisioner Role.</p>



<p>Sysprep provisioners which we are running as PowerShell script automatically on cloud can be found on our GitHub repo: <a href="https://github.com/xoap-io/xoap-packer-templates">https://github.com/xoap-io/xoap-packer-templates</a>.</p>



<p>And below is example of script which you can use for sysprep on on-premises image definitions. To use it, upload a script to resource area, then assign script provisioner on last place in your definition.</p>



<h4 class="wp-block-heading" style="font-size:21px">Script</h4>



<pre class="wp-block-code"><code>
&lt;#
.SYNOPSIS
    Performs final cleanup and prepares Windows Server 2025 for sysprep

.DESCRIPTION
    This script performs final cleanup tasks and prepares the system for sysprep and imaging on Windows Server 2025.
    Developed and optimized for use with the XOAP Image Management module, but can be used independently.
    No liability is assumed for the function, use, or consequences of this freely available script.
    PowerShell is a product of Microsoft Corporation. XOAP is a product of RIS AG. © RIS AG

.COMPONENT
    PowerShell

.LINK
    https:&#47;&#47;github.com/xoap-io/xoap-packer-templates

#&gt;

Set-StrictMode -Version Latest
$ProgressPreference = 'SilentlyContinue'
$ErrorActionPreference = 'Stop'

# Setup local file logging to C:\xoap-logs
try {
    $LogDir = 'C:\xoap-logs'
    if (-not (Test-Path $LogDir)) {
        New-Item -Path $LogDir -ItemType Directory -Force | Out-Null
    }
    
    $scriptName = &#91;IO.Path]::GetFileNameWithoutExtension($PSCommandPath)
    $timestamp = Get-Date -Format 'yyyyMMdd-HHmmss'
    $LogFile = Join-Path $LogDir "$scriptName-$timestamp.log"
    
    Start-Transcript -Path $LogFile -Append | Out-Null
    Write-Host "Logging to: $LogFile"
} catch {
    Write-Warning "Failed to start transcript logging to C:\xoap-logs: $($_.Exception.Message)"
}

# Simple logging function
function Write-Log {
    param($Message)
    $timestamp = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
    Write-Host "&#91;$timestamp] $Message"
}

trap {
    Write-Log "ERROR: $_"
    Write-Log "ERROR: $($_.ScriptStackTrace)"
    Write-Log "ERROR EXCEPTION: $($_.Exception.ToString())"
    try { Stop-Transcript | Out-Null } catch {}
    Exit 1
}

try {
    Write-Log 'Starting final cleanup and sysprep'
     
    # Defragment system drive
    Write-Log 'Optimizing system drive...'
    try {
        Optimize-Volume -DriveLetter C -Defrag -Verbose:$false
        Write-Log 'System drive optimization completed'
    } catch {
        Write-Log "Warning: Could not optimize system drive: $($_.Exception.Message)"
    }
    
    Write-Log 'Final cleanup completed, preparing for sysprep...'
      
    # Stop transcript before sysprep
    try { Stop-Transcript | Out-Null } catch {}
    
    # Prepare sysprep command
    $sysprepPath = Join-Path $env:WINDIR "System32\Sysprep\sysprep.exe"
    $sysprepArgs = @('/generalize', '/oobe')
    
    Write-Log "Running sysprep with arguments: $($sysprepArgs -join ' ')"
    Write-Log "This will shutdown the system when complete"
    
        # Check if sysprep.exe exists
        if (Test-Path $sysprepPath) {
            # Run sysprep using Start-Process for better error handling
            $process = Start-Process -FilePath $sysprepPath -ArgumentList $sysprepArgs -Wait -PassThru
            $exitCode = $process.ExitCode
            if ($null -eq $exitCode) {
                # Fallback to $LASTEXITCODE if ExitCode is not set
                $exitCode = $LASTEXITCODE
            }
            if ($exitCode -ne 0) {
                Write-Log "Sysprep failed with exit code: $exitCode"
                exit $exitCode
            }
        } else {
            Write-Log "Sysprep executable not found at $sysprepPath"
            exit 1
        }
    
} catch {
    Write-Log "Critical error in final cleanup: $($_.Exception.Message)"
    try { Stop-Transcript | Out-Null } catch {}
    throw
}

</code></pre>



<p>Scheduling Image Definition runs provides several operational and strategic advantages. By automating the execution of image builds at defined intervals, you eliminate the need for manual intervention and reduce the risk of human error.</p>



<p>Scheduled runs help maintain consistency across environments by ensuring that the latest configurations and software updates are regularly incorporated into your images. This is especially important for compliance and security, as it guarantees that patched and up-to-date images are always available.</p>



<p>Additionally, scheduling builds during off-peak hours can optimize resource usage and avoid impacting other workloads. Finally, regularly scheduled images improve preparedness for disaster recovery scenarios by ensuring that clean and current machine images are readily accessible.</p>



<p>There are two ways to schedule image definition runs:</p>



<ol class="wp-block-list">
<li>By creating a new schedule</li>



<li>By editing an existing schedule</li>
</ol>



<p>To manage either option, navigate to the <strong>Horaires</strong> section.<br>If you want to create a new schedule, click the <strong>New Schedule </strong>button in the upper right corner. In the first step, provide a name and define schedule parameters (e.g., frequency, start time). In the second step, select the image definitions you want to assign to this schedule. One image definition can be linked to multiple schedules.</p>



<p>If you wish to assign an image definition to an <strong>existing schedule</strong>, select the desired schedule from the list, click the <strong>three-dot menu</strong>, and then choose <strong>Details</strong>. In the details view, select the image definitions you want to include and click <strong>Économiser</strong>.</p>



<h3 class="wp-block-heading" style="font-size:38px">Locate your created image on your hypervisior or hyperscaler</h3>



<p>Once a run finishes successfully, the created image is available in your environment. Images use the name defined in the Image Definition, with a version suffix added for each run. For example, if your Image Definition is named <strong>Windows11-BaseImage</strong>, the runs will create images such as <strong>Windows11-BaseImage-v1</strong>, <strong>Windows11-BaseImage-v2</strong>, and so on. If the image build fails, no image is created. The exact method for locating the image depends on your target environment.</p>



<h4 class="wp-block-heading" style="font-size:21px">Microsoft Azure</h4>



<p>The location of images created in Azure using XOAP Image Management depends on the selected B<strong>uilder Type </strong>during builder creation. In the builder configuration, you can choose between <strong>Azure Managed</strong> et <strong>Azure Gallery</strong>.</p>



<ol class="wp-block-list">
<li><strong>Azure Managed (Managed Images)</strong><br>If the selected builder type is <strong>Azure Managed</strong>, the image will be created as a standard <strong>Managed Image</strong>.<br>- <strong>Location:</strong><br>Azure Portal → <strong>Images</strong><br>- <strong>Behavior:</strong><br>The image is stored regionally and is only available in the region it was created.<br>- <strong>Use Case:</strong><br>This approach is recommended for simple deployments, testing, or proof-of-concept scenarios.</li>



<li><strong>Azure Gallery (Shared Image Gallery)</strong><br>If the selected builder type is <strong>Azure Gallery</strong>, the image will be stored in a <strong>Shared Image Gallery (SIG)</strong>.<br>- <strong>Location:</strong><br>Azure Portal → <strong>Shared Image Gallery</strong><br>- <strong>Behavior:</strong><br>The image supports versioning, can be replicated across multiple regions, and is scalable for enterprise scenarios.<br>- <strong>Use Case:</strong><br>Best suited for production workloads or environments requiring regional redundancy and image lifecycle management.</li>
</ol>



<h4 class="wp-block-heading" style="font-size:21px">Amazon Web Services (AWS)</h4>



<p>Images created via XOAP are stored as <strong>AMIs (Amazon Machine Images)</strong>.</p>



<p>To locate:</p>



<ol class="wp-block-list">
<li>Go to the <strong>AWS Console</strong>.</li>



<li>Naviguez jusqu'à <strong>EC2 → AMIs </strong>(under Images in the left menu).</li>



<li>Make sure to change the filter from Owned by Amazon to Owned by me.</li>



<li>Search using the <strong>AMI ID</strong> or name returned by the XOAP image definition run (e.g., ami-xxxxxxxxxxxxxxxxx).</li>
</ol>



<p>By default, AMIs are <strong>private</strong> — they are only visible to the account that created them.<br>To make an AMI accessible from a different AWS account, you need to <strong>share it </strong>explicitly.<br>Follow these steps on the account where the AMI was created:</p>



<ol class="wp-block-list">
<li>Open <strong>EC2 → AMIs </strong>(in the region where the AMI was created, e.g., eu-central-1).</li>



<li>Locate the AMI (e.g., ami-0839804dea557cd2b).</li>



<li>Select the AMI and click <strong>Actions → Modify Image Permissions</strong>.</li>



<li>Add the <strong>AWS Account ID </strong>of the recipient account.</li>



<li>Cliquez sur <strong>Économiser</strong>.</li>
</ol>



<p>Once shared, the AMI will be visible under the &#8220;<strong>Private Images</strong>&#8221; filter in the recipient&#8217;s EC2 dashboard.</p>



<h4 class="wp-block-heading" style="font-size:21px">Google Cloud Platform (GCP)</h4>



<p>XOAP images on GCP are stored under <strong>Compute Engine → Images</strong>.</p>



<p>To locate:</p>



<ol class="wp-block-list">
<li>Go to the <strong>Google Cloud Console</strong>.</li>



<li>Naviguez jusqu'à <strong>Compute Engine → Images</strong>.</li>



<li>Filter by project or use the search bar to locate the image name generated by XOAP.</li>



<li>Custom images may be grouped by <em>image families</em> ou <em>individual entries</em> depending on how the build was configured</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Troubleshoot image builds or run failures</h3>



<p>When creating an image using XOAP Image Management, issues can typically arise from one of the following three areas:</p>



<ol class="wp-block-list">
<li><strong>Connexions</strong> – Incorrectly configured cloud connection (e.g., invalid credentials or missing permissions).</li>



<li><strong>Provisionneurs</strong> – Wrongly selected or misconfigured provisioners, such as scripts or tools that fail during execution.</li>



<li><strong>Builder Configuration</strong> – Misconfigured builder parameters (e.g., invalid region, missing image settings).</li>
</ol>



<p>All three types of issues are reflected in the <strong>logs of the image definition run</strong>.</p>



<p>To quickly identify the problem:</p>



<ul class="wp-block-list">
<li>Navigate to the <strong>Image Definitions</strong> table.</li>



<li>Click on <strong>Status (Latest Run) </strong>for the corresponding image definition.</li>



<li>A side panel will appear, showing the <strong>log of the latest run</strong>.</li>



<li>Review the log to locate the error line and take the necessary corrective action.</li>
</ul>



<p>Reviewing these logs is the most efficient way to debug failures and ensure your image builds succeed.</p>



<p>For logs from previous runs, click the three-dot menu next to the image definition and select Details. Scroll down to the Past Runs section and click the status of the desired run to view its log.</p>



<p>During the image build process, it&#8217;s possible to identify and troubleshoot issues in real time. Active image builds are visible in the Runs section, located in the upper-right corner of the Image Definitions page.</p>



<p>To monitor the ongoing process:</p>



<ul class="wp-block-list">
<li>Click on the log icon beside the image build to open the live log view.</li>



<li>Logs are streamed in real time, with the latest entries appearing at the top.</li>
</ul>



<p>This allows you to:</p>



<ul class="wp-block-list">
<li>Track provisioning steps as they occur.</li>



<li>Quickly identify long-running provisioners that may cause timeouts.</li>



<li>Take corrective actions early, potentially saving significant time during debugging and validation.</li>
</ul>



<p>This view is especially useful for diagnosing failures without waiting for the entire build to complete.</p>



<p>On on-prem image build VMs, logs are typically stored locally in these common locations:</p>



<ul class="wp-block-list">
<li>Temporary folders: C:\Windows\Temp and %TEMP% (e.g., C:\Users\\AppData\Local\Temp)</li>



<li>Windows troubleshooting logs (useful for install/update/sysprep issues):</li>



<li>Event Viewer: Application and System</li>



<li>C:\Windows\Logs\DISM\dism.log and C:\Windows\Logs\CBS\CBS.log</li>



<li>Sysprep: C:\Windows\System32\Sysprep\Panther\setupact.log and setuperr.log</li>
</ul>



<p>If you can’t find them, the most common reason is that the build VM is automatically cleaned up after the run (including on failure), so the local logs are deleted with it.</p>



<p><strong>Tip:</strong> If you stop the run, the temporary build VM is not deleted, so you can connect to it and collect the logs for troubleshooting. After you finish investigating, remember to delete the temporary build VM to avoid leaving unused resources behind.</p>



<h3 class="wp-block-heading" style="font-size:28px">Common image build issues and how to resolve them</h3>



<ol class="wp-block-list">
<li><strong>Incompatible Provisioners</strong> – Using Linux provisioners on a Windows-based image (or vice versa) will cause failures. <strong>Resolution:</strong> Check the Provisioner Groups assigned to the selected role and remove any that are not relevant to the operating system of the image.</li>



<li><strong>Invalid Credentials or Connection Settings</strong> – Connection issues may occur if the credentials are incorrect or the user lacks sufficient permissions. <strong>Resolution: </strong>Review your connection configuration under the Connections section. Ensure credentials are valid and have appropriate access rights.</li>



<li><strong>Incorrect Builder Configuration </strong>– Errors may arise if the builder configuration references non-existent resources such as a virtual network or resource group. <strong>Resolution:</strong> Verify all values in the builder settings, especially network and resource group names.</li>



<li><strong>Deprecated Operating System Definition </strong>– Older image definitions may reference deprecated or outdated operating systems. <strong>Resolution:</strong> Navigate to Operating Systems and add the latest version. Then, in the Image Definition details, update the OS selection from the dropdown to the newest version.</li>
</ol>
</div><p>The post <a href="https://xoap.io/fr/docs/imagexo-images/">Image Definitions</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentrss>https://xoap.io/fr/docs/imagexo-images/feed/</wfw:commentrss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Builder Configuration</title>
		<link>https://xoap.io/fr/docs/imagexo-builders/</link>
					<comments>https://xoap.io/fr/docs/imagexo-builders/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubdate>Wed, 27 Mar 2024 14:28:23 +0000</pubdate>
				<guid ispermalink="false">https://xoap.io/?post_type=docs&#038;p=9963</guid>

					<description><![CDATA[<p>Quick guide The builder definition defines where and how an image is created, based on the selected platform or cloud provider (for example, AWS, Azure, Google Cloud, or VMware). During builder configuration, you also choose the Connection used for your cloud or on-premises environment. Create a new Builder Configuration Edit a Builder Configuration Delete a [&#8230;]</p>
<p>The post <a href="https://xoap.io/fr/docs/imagexo-builders/">Builder Configuration</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The builder definition defines <strong>where and how</strong> an image is created, based on the selected platform or cloud provider (for example, AWS, Azure, Google Cloud, or VMware). During builder configuration, you also choose the <strong>Connection</strong> used for your cloud or on-premises environment.</p>
</blockquote>



<h3 class="wp-block-heading" style="font-size:28px">Create a new Builder Configuration</h3>



<ol class="wp-block-list">
<li>In the upper-right corner, click <strong>+ New Builder Configuration</strong>.</li>



<li>Select Create builder configuration for cloud images, or choose a specific <strong>On-premises builder configuration</strong>.</li>



<li>Enter all required parameters and click <strong>Confirmer</strong>.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Edit a Builder Configuration</h3>



<ol class="wp-block-list">
<li>Right-click the builder configuration and select <strong>Details</strong>.</li>



<li>Update the required parameters and click <strong>Économiser</strong></li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Delete a Builder Configuration</h3>



<ol class="wp-block-list">
<li>Right-click the builder configuration and select <strong>Supprimer</strong>.</li>



<li>Confirm the deletion.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Additional useful information</h3>



<h4 class="wp-block-heading" style="font-size:21px">Connector requirement:</h4>



<p>If you have not yet configured your <strong>Connection</strong>, you can do this during builder creation by clicking <strong>+ Add Connection.</strong></p>



<h4 class="wp-block-heading" style="font-size:21px">General details:</h4>



<p>Dans le cadre de la <strong>General details </strong>accordion, all mandatory parameters are displayed. For additional parameters, expand the other accordions.</p>



<h2 class="wp-block-heading" style="font-size:38px">Technical documentation</h2>



<p>Le <strong>builder</strong> definition defines <strong>where</strong> (which platform or cloud provider) <strong>and how</strong> (which configuration and instance type) an image is created. It represents the infrastructure layer of the image creation process and is responsible for launching the base virtual machine that will later be customized by provisioners.</p>



<p>In XOAP, when creating a builder configuration, you specify:</p>



<ul class="wp-block-list">
<li><strong>Provider</strong> – for example AWS, Azure, or VMware</li>



<li><strong>Connection</strong> – the credentials and endpoint used to access the platform</li>



<li><strong>Region</strong> – the target cloud location</li>



<li><strong>Instance Type </strong>– which defines compute resources such as CPU and RAM</li>
</ul>



<p>Together, these settings tell XOAP how to provision the underlying infrastructure required to build the image.</p>



<p>More information about additional settings you can configure in the Builder Configuration can be found at the following links:</p>



<ul class="wp-block-list">
<li><a href="https://developer.hashicorp.com/packer/integrations/hashicorp/azure/latest/components/builder/arm" target="_blank" rel="noreferrer noopener">L'azur</a></li>



<li><a href="https://developer.hashicorp.com/packer/integrations/hashicorp/amazon/latest/components/builder/ebs" target="_blank" rel="noreferrer noopener">AWS</a></li>



<li><a href="https://developer.hashicorp.com/packer/integrations/hashicorp/googlecompute" target="_blank" rel="noreferrer noopener">Google Cloud</a></li>



<li><a href="https://developer.hashicorp.com/packer/integrations/hashicorp/vmware/latest/components/builder/iso" target="_blank" rel="noreferrer noopener">VMware</a></li>



<li><a href="https://developer.hashicorp.com/packer/integrations/nutanix-cloud-native/nutanix/latest/components/builder/nutanix" target="_blank" rel="noreferrer noopener">Nutanix</a></li>
</ul>
</div><p>The post <a href="https://xoap.io/fr/docs/imagexo-builders/">Builder Configuration</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentrss>https://xoap.io/fr/docs/imagexo-builders/feed/</wfw:commentrss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Operating Systems</title>
		<link>https://xoap.io/fr/docs/imagexo-operating-systems/</link>
					<comments>https://xoap.io/fr/docs/imagexo-operating-systems/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubdate>Wed, 27 Mar 2024 14:31:15 +0000</pubdate>
				<guid ispermalink="false">https://xoap.io/?post_type=docs&#038;p=9965</guid>

					<description><![CDATA[<p>Quick guide In XOAP, the Operating System represents the base image that will be used as the foundation for your custom virtual machine image. Add a new Cloud Operating System Add a new On-Premises Operating System Edit an Operating System Delete an Operating System Additional useful information OS updated list: XOAP retrieves updated OS lists [&#8230;]</p>
<p>The post <a href="https://xoap.io/fr/docs/imagexo-operating-systems/">Operating Systems</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>In XOAP, the Operating System represents the base image that will be used as the foundation for your custom virtual machine image.</p>
</blockquote>



<h3 class="wp-block-heading" style="font-size:28px">Add a new Cloud Operating System</h3>



<ol class="wp-block-list">
<li>Cliquez sur <strong>+ Add Base Image</strong> et sélectionnez <strong>Cloud</strong>.</li>



<li>Specify the <strong>Provider</strong>, <strong>Region</strong>, and <strong>Plate-forme</strong> details.</li>



<li>Select one or more operating systems and click <strong>Add</strong>.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Add a new On-Premises Operating System</h3>



<ol class="wp-block-list">
<li>Cliquez sur <strong>+ Add Base Image</strong> et sélectionnez <strong>On-Premises</strong>.</li>



<li>Define the ISO-related parameters.</li>



<li>Select the Autounattend file and setup files for your OS, then click <strong>Add</strong>.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Edit an Operating System</h3>



<ol class="wp-block-list">
<li>Right-click the Operating System and select <strong>Details</strong>.</li>



<li>Update the configurable parameters and click <strong>Économiser</strong>.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Delete an Operating System</h3>



<ol class="wp-block-list">
<li>Right-click the Operating System and select <strong>Supprimer</strong>.</li>



<li>Confirm the deletion.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Additional useful information</h3>



<h4 class="wp-block-heading" style="font-size:21px">OS updated list:</h4>



<p>XOAP retrieves updated OS lists from supported cloud providers on a weekly basis.</p>



<h4 class="wp-block-heading" style="font-size:21px">Operating systems:</h4>



<p>Operating systems can be deprecated and removed by cloud providers, which may cause Image Definition runs to fail. To avoid this, keep your Operating Systems up to date by adding the latest versions and updating your Image Definitions accordingly.</p>



<h2 class="wp-block-heading" style="font-size:38px">Technical documentation</h2>



<p>In XOAP, the Operating System represents the base image that will be used as the foundation for your custom virtual machine image. You can select one or more OS versions from your cloud provider (e.g., Azure, AWS, GCP) to match your infrastructure requirements.This step is essential because all provisioning, customization, and image building will be performed on top of this base OS.</p>



<p>When adding an Cloud Operating System in XOAP, you define:</p>



<ul class="wp-block-list">
<li>Provider – Select the cloud or platform provider (e.g., Azure, AWS, Google Cloud)</li>



<li>Region – Specify the region where the base image is available</li>



<li>Platform Details – Choose the OS version, architecture (x64/ARM), hypervisor generation, and SKU</li>



<li>Tags – Optionally add tags to help organize or categorize the OS for future reference</li>
</ul>



<p>When adding an On-Premisses Operating System in XOAP you define:</p>



<ul class="wp-block-list">
<li><strong>Nom</strong> &#8211; Name of your Operating System. You can define the name by your own naming convention</li>



<li><strong>ISO File Name</strong> &#8211; provide the name of your ISO file which will be used as base Operating System for your Image Definition</li>



<li><strong>ISO Path</strong> &#8211; full location to the your ISO file</li>



<li><strong>ISO Checksum</strong> &#8211; checksum of your ISO as additional security feature</li>



<li><strong>Autounattend</strong> &#8211; file which is used to modify windows settings during Setup. This file must be uploaded to XOAP resource area.</li>



<li><strong>Setup Files </strong>&#8211; defines which extra files XOAP mounts into the virtual machine during operating system installation.</li>
</ul>



<p>These files are typically used by the unattend.xml to install drivers, tools, or to run custom PowerShell scripts during or immediately after the first boot.</p>



<h3 class="wp-block-heading" style="font-size:28px">On-premisses tips</h3>



<p>Pour <strong>on-premises operating systems</strong>, XOAP <strong>does not upload/store the ISO itself.</strong> Instead, you register the ISO by providing its <strong>path</strong> et <strong>checksum</strong>, and the build infrastructure (hypervisor / storage) must be able to <strong>access that ISO at runtime</strong>.</p>



<p>What this means in practice:</p>



<ul class="wp-block-list">
<li>The ISO is stored in your <strong>hypervisor storage</strong> (e.g., vSphere datastore / Hyper-V library) or on a<strong>file share </strong>(e.g., SMB/UNC path).</li>



<li>XOAP stores <strong>metadata</strong> about the ISO (name, path, checksum) and uses that information during image builds.</li>



<li>Ensure the build components (e.g., the host running the on-prem builder) have <strong>network access and permissions</strong> to read the ISO from the specified path.</li>
</ul>



<p>Use Get-FileHash to generate the checksum for the ISO file:</p>



<p>Get-FileHash -Path &#8220;<a href="http://\\fileserver\isos\Windows11_24H2.iso" target="_blank" rel="noreferrer noopener">\fileserver\isos\Windows11_24H2.iso</a>&#8221; -Algorithm SHA256. Copy the returned Hash value into the ISO Checksum field in XOAP.</p>



<p><strong>Use unique filenames </strong>if you plan to upload multiple <em>autounattend</em> files for the same OS (e.g., different languages, environments, driver sets).</p>



<p>Example naming convention:</p>



<ul class="wp-block-list">
<li>Autounattend_W11_23H2_EN.xml</li>



<li>Autounattend_W11_23H2_DE.xml</li>



<li>Autounattend_W11_23H2_WithDrivers.xml</li>
</ul>



<p><strong>Important :</strong> Autounattend resources are <strong>renamed during the deployment/build process </strong>(as part of how XOAP stages resources into the temporary VM).Because of that, having <strong>distinct filenames in XOAP Resources </strong>is essential to keep them manageable and avoid confusion when selecting the correct file.</p>



<p>Ensure the Autounattend file matches the target OS (edition/SKU, architecture, expected install flow) and references any setup files/drivers using paths that are valid in your setup process.</p>
</div><p>The post <a href="https://xoap.io/fr/docs/imagexo-operating-systems/">Operating Systems</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentrss>https://xoap.io/fr/docs/imagexo-operating-systems/feed/</wfw:commentrss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Provisioner Roles</title>
		<link>https://xoap.io/fr/docs/imagexo-roles/</link>
					<comments>https://xoap.io/fr/docs/imagexo-roles/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubdate>Wed, 27 Mar 2024 14:38:01 +0000</pubdate>
				<guid ispermalink="false">https://xoap.io/?post_type=docs&#038;p=9967</guid>

					<description><![CDATA[<p>Quick guide A Provisioner Role in XOAP is a higher-level construct that allows you to group together multiple Provisioner Groups into a single unit. Add a new Provisioner Role Edit a Provisioner Role Delete a Provisioner Role Additional useful information Provisioner Role: Only one Provisioner Role can be used in an Image Definition. The Provisioner [&#8230;]</p>
<p>The post <a href="https://xoap.io/fr/docs/imagexo-roles/">Provisioner Roles</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>A Provisioner Role in XOAP is a higher-level construct that allows you to group together multiple <strong>Provisioner Groups</strong> into a single unit.</p>
</blockquote>



<h3 class="wp-block-heading" style="font-size:28px">Add a new Provisioner Role</h3>



<ol class="wp-block-list">
<li>Cliquez sur <strong>+ Create Provisioner Role</strong>.</li>



<li>Enter the required parameters, such as <strong>Nom</strong> et <strong>Description</strong>.</li>



<li>Assign Provisioner Groups by clicking + Assign Provisioner Groups.</li>



<li>Click Save to create the new Provisioner Role.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Edit a Provisioner Role</h3>



<ol class="wp-block-list">
<li>Right-click the Provisioner Role and select <strong>Details</strong>.</li>



<li>Update the parameters or change the assigned groups.</li>



<li>Click Save to apply the changes.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Delete a Provisioner Role</h3>



<ol class="wp-block-list">
<li>Right-click the Provisioner Role and select <strong>Supprimer</strong>.</li>



<li>Confirm the deletion.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Additional useful information</h3>



<h4 class="wp-block-heading" style="font-size:21px">Provisioner Role:</h4>



<p>Only <strong>one</strong> Provisioner Role can be used in an Image Definition. The Provisioner Role is therefore the highest-level construct for running provisioners during image creation. You <strong>cannot</strong> delete a Provisioner Role if it is currently used in an Image Definition.</p>



<h4 class="wp-block-heading" style="font-size:21px">Provisioner Group:</h4>



<p>Each <strong>Provisioner Group</strong> can only be added once to a given Provisioner Role.</p>



<h4 class="wp-block-heading" style="font-size:21px">Order of execution:</h4>



<p>During image creation, provisioners are executed in order from <strong>top to bottom </strong>within the role: all provisioners in the first group run first, followed by the second group, third group, and so on.</p>



<h4 class="wp-block-heading" style="font-size:21px">Order of groups:</h4>



<p>You can change the order of groups in a Provisioner Role by dragging and dropping them in the Provisioner Role details view.</p>



<h2 class="wp-block-heading" style="font-size:38px">Technical documentation</h2>



<p>A <strong>Provisioner Role </strong>in XOAP is a higher-level construct that allows you to group together multiple <strong>Provisioner Groups</strong> into a single unit. It defines <strong>which provisioner groups will be executed</strong> during the image build process and in what order.</p>



<p><strong>Provisioner Roles are especially useful when:</strong></p>



<ul class="wp-block-list">
<li>You want to reuse predefined group sets across different image definitions</li>



<li>You need to combine complex sequences of provisioning steps into a manageable unit</li>
</ul>



<p><strong>When creating a Provisioner Role, you define:</strong></p>



<ul class="wp-block-list">
<li><strong>Role name</strong> – a unique identifier for the role</li>



<li><strong>Description </strong>– a short explanation of the role’s purpose (e.g., “Join domain and apply baseline”)</li>



<li><strong>Tags</strong> – optional labels to help categorize or search roles</li>



<li><strong>Selected Provisioner Groups</strong> – choose the groups that should run during the build</li>
</ul>



<p>Provisioner Groups within a role are executed <strong>in the order they are listed</strong>, and the entire role can then be reused across multiple image definitions.</p>



<p>A single Provisioner Role can be used in multiple Image Definitions, just like provisioner groups and provisioners themselves. This promotes reusability and consistency across builds.</p>
</div><p>The post <a href="https://xoap.io/fr/docs/imagexo-roles/">Provisioner Roles</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentrss>https://xoap.io/fr/docs/imagexo-roles/feed/</wfw:commentrss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Provisioner Groups</title>
		<link>https://xoap.io/fr/docs/imagexo-groups/</link>
					<comments>https://xoap.io/fr/docs/imagexo-groups/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubdate>Wed, 27 Mar 2024 14:39:53 +0000</pubdate>
				<guid ispermalink="false">https://xoap.io/?post_type=docs&#038;p=9969</guid>

					<description><![CDATA[<p>Quick guide A Provisioner Group in XOAP allows you to organize multiple provisioners into a single, logical unit. Add a new Provisioner Group Edit a Provisioner Group Delete a Provisioner Group Additional useful information Group rules: A provisioner can be added to the same group only once, but the same provisioner can belong to multiple [&#8230;]</p>
<p>The post <a href="https://xoap.io/fr/docs/imagexo-groups/">Provisioner Groups</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>A Provisioner Group in XOAP allows you to organize multiple provisioners into a single, logical unit.</p>
</blockquote>



<h3 class="wp-block-heading" style="font-size:28px">Add a new Provisioner Group</h3>



<ol class="wp-block-list">
<li>Cliquez sur <strong>+ Create Provisioner Group</strong>.</li>



<li>Enter the required parameters, such as <strong>Nom</strong> et <strong>Description</strong>.</li>



<li>Assign provisioners by clicking <strong>+ Assign Provisioners</strong>.</li>



<li>Cliquez sur <strong>Économiser</strong> to create the new Provisioner Group.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Edit a Provisioner Group</h3>



<ol class="wp-block-list">
<li>Right-click the Provisioner Group and select <strong>Details</strong>.</li>



<li>Update the parameters or change the assigned provisioners.</li>



<li>Cliquez sur <strong>Économiser</strong> to apply the changes.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Delete a Provisioner Group</h3>



<ol class="wp-block-list">
<li>Right-click the Provisioner Group and select <strong>Supprimer</strong>.</li>



<li>Confirm the deletion.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Additional useful information</h3>



<h4 class="wp-block-heading" style="font-size:21px">Group rules:</h4>



<p>A provisioner can be added to the same group only once, but the same provisioner can belong to multiple groups.</p>



<h4 class="wp-block-heading" style="font-size:21px">Execution:</h4>



<p>Provisioners in a group are executed from <strong>top to bottom</strong>.</p>



<h4 class="wp-block-heading" style="font-size:21px">Order of provisioners:</h4>



<p>You can change the order of provisioners within a Provisioner Group by dragging and dropping them in the Provisioner Group details view.</p>



<h2 class="wp-block-heading" style="font-size:38px">Technical documentation</h2>



<p>A <strong>Provisioner Group</strong> in XOAP allows you to organize multiple provisioners into a <strong>single, logical unit</strong>. This is useful for grouping related configuration tasks or setup steps that should be applied together during the image build process.</p>



<p>Provisioners within the group are <strong>executed in the exact order </strong>they are listed, which gives you full control over the execution flow. For example, you can ensure that a file is copied before a script is executed, or that Windows Updates run before a reboot.</p>



<p>When creating a provisioner group, you define:</p>



<ul class="wp-block-list">
<li><strong>Group name</strong> – a unique name for easy identification</li>



<li><strong>Description</strong> – optional text explaining the purpose of the group</li>



<li><strong>Tags</strong> – to help organize and filter groups in large environments</li>



<li><strong>Selected Provisioners </strong>– choose one or more provisioners to include from the available list</li>
</ul>



<p>Provisioners within a Provisioner Group are executed in the order they are listed, and the entire group can then be reused across multiple Provisioner Roles. This promotes reusability and consistency across builds.</p>
</div><p>The post <a href="https://xoap.io/fr/docs/imagexo-groups/">Provisioner Groups</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentrss>https://xoap.io/fr/docs/imagexo-groups/feed/</wfw:commentrss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Provisioners</title>
		<link>https://xoap.io/fr/docs/imagexo-provisioners/</link>
					<comments>https://xoap.io/fr/docs/imagexo-provisioners/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubdate>Wed, 27 Mar 2024 14:41:57 +0000</pubdate>
				<guid ispermalink="false">https://xoap.io/?post_type=docs&#038;p=9971</guid>

					<description><![CDATA[<p>Quick guide A provisioner is a key component in the image build process used to customize the virtual machine after it has been created by the builder. Add a new Provisioner Edit a Provisioner Delete a Provisioner Additional useful information Multi-group assignment: When creating a Provisioner, you can automatically add it to multiple Provisioner Groups. [&#8230;]</p>
<p>The post <a href="https://xoap.io/fr/docs/imagexo-provisioners/">Provisioners</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>A provisioner is a key component in the image build process used to customize the virtual machine after it has been created by the builder.</p>
</blockquote>



<h3 class="wp-block-heading" style="font-size:28px">Add a new Provisioner</h3>



<ol class="wp-block-list">
<li>Cliquez sur <strong>+ Create Provisioner</strong>.</li>



<li>Enter the required parameters, such as <strong>Nom</strong> et <strong>Description</strong>.</li>



<li>Select the <strong>Provisioner Type</strong> and fill in all required parameters.</li>



<li>Cliquez sur <strong>Économiser</strong> to create the new Provisioner.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Edit a Provisioner</h3>



<ol class="wp-block-list">
<li>Right-click the Provisioner and select <strong>Details</strong>.</li>



<li>Update the Provisioner parameters as needed.</li>



<li>Cliquez sur <strong>Économiser</strong> to apply the changes.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Delete a Provisioner</h3>



<ol class="wp-block-list">
<li>Right-click the Provisioner and select <strong>Supprimer</strong>.</li>



<li>Confirm the deletion.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Additional useful information</h3>



<h4 class="wp-block-heading" style="font-size:21px">Multi-group assignment:</h4>



<p>When creating a Provisioner, you can automatically add it to multiple Provisioner Groups.</p>



<h4 class="wp-block-heading" style="font-size:21px">Combined management:</h4>



<p>Provisioners is the place where you combine the XOAP <strong>Application Management</strong> et <strong>Configuration Management</strong> modules with <strong>Image Management</strong>.</p>



<h4 class="wp-block-heading" style="font-size:21px">OS-specific provisioners:</h4>



<p>Some Provisioners are Linux-only or Windows-only. Be careful when assigning them to Provisioner Groups.</p>



<h2 class="wp-block-heading" style="font-size:38px">Technical documentation</h2>



<p>A provisioner is a key component in the image build process used to customize the virtual machine after it has been created by the Builder Configuration. Provisioners allow you to automate tasks inside the VM to prepare it for your specific use case.</p>



<p>Provisioners operate inside the guest operating system and are responsible for modifying the system state before the image is finalized.</p>



<p>Provisioners can be used to:</p>



<ul class="wp-block-list">
<li>Install software (e.g., Chrome, Office, .NET Framework)</li>



<li>Copy files to specific locations on the VM</li>



<li>Configure system settings (e.g., registry, services, network)</li>



<li>Apply hardening or compliance baselines (e.g., STIG, CIS)</li>



<li>Run PowerShell, Bash, CMD, or other scripts</li>



<li>Apply DSC configurations or join the machine to a domain (in enterprise builds)</li>



<li>Install Windows Updates</li>



<li>Reboot Windows instances</li>
</ul>



<p>In XOAP, provisioners are modular and reusable, meaning a single provisioner can be referenced in multiple Image Definitions. This allows for consistent configuration across builds and reduces duplication when maintaining your image pipeline.</p>



<p>XOAP supports multiple types of provisioners, each designed to automate a specific type of task during image creation:</p>



<ul class="wp-block-list">
<li><strong>Application Group Installer </strong>– Installs applications from the selected Application Group.</li>



<li><strong>Application Role Installer</strong> – Installs applications from the selected Application Role.</li>



<li><strong>DSC Local Configuration</strong> – Copies local DSC (Desired State Configuration) configuration files into the image to be applied during or after provisioning.The configuration can be uploaded to the resource area and selected from the dropdown menu.</li>



<li><strong>DSC Pullserver Configuration</strong> – Applies a configuration from the XOAP Configuration Management module.</li>



<li><strong>File</strong> – Copies files from the XOAP workspace into the image — for example, configuration files, scripts, or assets.</li>



<li><strong>Linux Shell Command</strong> – Executes a single inline shell command (e.g., apt install, chmod, etc.) on a Linux machine.</li>



<li><strong>Linux Shell Script</strong> – Runs a full shell script (.sh) to configure Linux-based images with more complex logic. You can select the script from the Resources area.</li>



<li><strong>PowerShell Command</strong> – Executes a one-liner PowerShell command on Windows-based machines — useful for setting registry keys, services, etc.</li>



<li><strong>Script PowerShell</strong> – Runs a complete PowerShell script to perform advanced setup tasks in the Windows OS. You can select the script from the Resources area.</li>



<li><strong>Windows Restart</strong> – Triggers a system reboot during image provisioning — useful when configuration changes require a restart to take effect.</li>



<li><strong>Mise à jour de Windows</strong> – Applies the latest Windows Updates during the provisioning process to ensure the image is up to date.</li>
</ul>



<p>Provisioners can have multiple configurable settings.</p>



<p>Source files for the DSC Local Configuration, File, Linux Shell Command, and PowerShell Script provisioner types must be uploaded to the Resources area in XOAP before you can assign them to the corresponding Provisioner.</p>
</div><p>The post <a href="https://xoap.io/fr/docs/imagexo-provisioners/">Provisioners</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentrss>https://xoap.io/fr/docs/imagexo-provisioners/feed/</wfw:commentrss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Best practices</title>
		<link>https://xoap.io/fr/docs/imagexo-best-practices/</link>
					<comments>https://xoap.io/fr/docs/imagexo-best-practices/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubdate>Wed, 27 Mar 2024 14:46:38 +0000</pubdate>
				<guid ispermalink="false">https://xoap.io/?post_type=docs&#038;p=9831</guid>

					<description><![CDATA[<p>Define provisioner timeouts If you define provisioners, you should always define a timeout. This is important to avoid a situation where a provisioner runs forever and blocks the image creation process. Some provisioners have default timeouts, but you should always define a timeout that fits your use case.</p>
<p>The post <a href="https://xoap.io/fr/docs/imagexo-best-practices/">Best practices</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading" id="define-provisioner-time-outs">Define provisioner timeouts</h2>



<p>If you define provisioners, you should always define a timeout. This is important to avoid a situation where a provisioner runs forever and blocks the image creation process. Some provisioners have default timeouts, but you should always define a timeout that fits your use case.</p><p>The post <a href="https://xoap.io/fr/docs/imagexo-best-practices/">Best practices</a> appeared first on <a href="https://xoap.io/fr">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentrss>https://xoap.io/fr/docs/imagexo-best-practices/feed/</wfw:commentrss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>