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 #
1. Click + Create Provisioner.
2. Enter the required parameters, such as Name and Description.
3. Select the Provisioner Type and fill in all required parameters.
4. Click Save to create the new Provisioner.
Edit a Provisioner #
1. Right-click the Provisioner and select Details.
2. Update the Provisioner parameters as needed.
3. Click Save to apply the changes.
Delete a Provisioner #
1. Right-click the Provisioner and select Delete.
2. Confirm the deletion.
Additional useful information #
• When creating a Provisioner, you can automatically add it to multiple Provisioner Groups.
• Provisioners is the place where you combine the XOAP Application Management and Configuration Management modules with Image Management.
• Some Provisioners are Linux-only or Windows-only. Be careful when assigning them to Provisioner Groups.
Technical documentation #
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.
Provisioners operate inside the guest operating system and are responsible for modifying the system state before the image is finalized.
Provisioners can be used to:
• Install software (e.g., Chrome, Office, .NET Framework)
• Copy files to specific locations on the VM
• Configure system settings (e.g., registry, services, network)
• Apply hardening or compliance baselines (e.g., STIG, CIS)
• Run PowerShell, Bash, CMD, or other scripts
• Apply DSC configurations or join the machine to a domain (in enterprise builds)
• Install Windows Updates
• Reboot Windows instances
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.
XOAP supports multiple types of provisioners, each designed to automate a specific type of task during image creation:
• Application Group Installer
Installs applications from the selected Application Group.
• Application Role Installer
Installs applications from the selected Application Role.
• DSC Local Configuration
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.
• DSC Pullserver Configuration
Applies a configuration from the XOAP Configuration Management module.
• File
Copies files from the XOAP workspace into the image — for example, configuration files, scripts, or assets.
• Linux Shell Command
Executes a single inline shell command (e.g., apt install, chmod, etc.) on a Linux machine.
• Linux Shell Script
Runs a full shell script (.sh) to configure Linux-based images with more complex logic. You can select the script from the Resources area.
• PowerShell Command
Executes a one-liner PowerShell command on Windows-based machines — useful for setting registry keys, services, etc.
• PowerShell Script
Runs a complete PowerShell script to perform advanced setup tasks in the Windows OS. You can select the script from the Resources area.
• Windows Restart
Triggers a system reboot during image provisioning — useful when configuration changes require a restart to take effect.
• Windows Update
Applies the latest Windows Updates during the provisioning process to ensure the image is up to date.
Provisioners can have multiple configurable settings.
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.