Inhaltsübersicht
Building a custom image for Windows 365 has traditionally been a manual, multi-step job. Spinning up a reference VM, installing and configuring applications by hand, handing the image off to Intune… One missed step usually means starting over, and repeated a few times a year, this approach to golden images becomes difficult to reproduce.
XOAPs Image Management module replaces the manual custom image sequence with a defined, repeatable pipeline. The operating system, the build location and what gets installed on top are each defined once, then the image is built on demand, with no capture scripting and no hand-assembly.
In this blog, we’ll guide you through building a custom Windows image for Windows 365 Cloud PC provisioning and handing the finished image off to Windows 365 for use in a provisioning policy – done, automated and simplified with XOAP.
Before you start: Connect your Azure subscription
XOAP needs a working connection to your Azure subscription before it can build anything. If you don’t use XOAP yet, create a free account to test it.
Go to Connections > Add new connection and use a Service Principal mit Contributor role access.
You can create one with the Azure CLI:
az ad sp create-for-rbac –name xoap-image-principal –role Contributor –scopes /subscriptions/<SubscriptionId> –years 1
Take the resulting Abonnement-ID, Mieter-ID, Kunden-ID und Client Secret and enter them into the connection details in XOAP.
The build at a glance
The full pipeline is five steps in XOAP, plus one hand-off in Intune:
1. Under Image Management > Operating Systems, add the Windows base image you want to build from.
2. Under Image Management > Builder Configuration, define where and how the image will be built.
3. Under Image Management > Provisioners / Provisioner Groups / Provisioner Roles, define what gets installed and configured.
4. Under Image Management > Bilddefinitionen, klicken + New Image and combine the operating system, builder configuration and provisioner role into one definition.
5. Save, then right-click the image definition and select ausführen..
Once the run succeeds, locate the finished image in Azure and upload it to Windows 365 as a custom image.
Now, let’s dive deeper into each step.
Step 1: Choose the operating system
Unter Betriebssystemeauswählen Cloud, then choose the Azurblau provider, region and platform details.
Für Windows 365, use the Enterprise Cloud PC image family: offer windows-ent-cpc, SKU win11-25h2-ent-cpc (or the latest available release and version).
This is Microsoft’s dedicated Cloud PC edition: Enterprise, single-session, and already optimised for Windows 365 scenarios.
Starting from the right base saves you fighting the image into shape later.
Step 2: Define the builder configuration
The builder configuration tells XOAP where the image is built and what it produces.
Create a new configuration with the following settings:
• Type: Azure Managed. This creates a standard managed image in the Azure Portal, the simplest and most direct option for Windows 365 custom images.
• Connection: your Azure connection from the setup step.
• Region: your target region, for example West Europe.
• Instance Type: the size of the temporary build VM used only during the build itself, for example Standard_D2s_v3. This VM is created and torn down automatically and has no effect on the final Cloud PC’s performance, so there is no need to oversize it.
• Storage Account Type: Standard_LRS.
If you need help with the setup, click the XOAP Assistant button to get AI-assisted answers in seconds without interrupting your current task.
Step 3: Define what goes on the image
This layer is where the image stops being a stock OS and becomes yours.
Beisteller define what gets installed and configured on top of the base operating system: applications, settings, PowerShell scripts, DSC configurations or PSADT packages.
XOAP provides example provisioners as quick-start templates, but you are not limited to them. Fully custom provisioners are equally supported. Any script or package you create yourself can be added and used exactly like the built-in ones.
Group the provisioners you need into a Provisioner Group, then attach that group to a Provisioner Role.
One practical rule worth following:
Always define a timeout on each provisioner, so a long-running script can’t stall the entire build.
Step 4: Combine it into an image definition
The image definition is where the three layers come together. Under Bilddefinitionen, klicken + New Image and fill in:
• Name and description
• Builder: the builder configuration created above
• Operating system: the Cloud PC image selected above
• Role: the provisioner role created above
Save the definition, then right-click it and select ausführen..
You can track progress from the Runs panel in the upper-right corner, with live log streaming available via Toggle Logs. A run moves through these statuses: Queued, Running, Succeeded, Failed and Stopped.
The live logs are where you’ll catch a misbehaving provisioner early rather than after a failed build.
Step 5: Locate the finished image
Because the builder configuration used Azure Managed, the resulting image appears in Azure Portal > Images, named after the image definition with a version suffix, for example CloudPC-v1.
If you had used an Azure Gallery builder instead, the image would land in Azure Portal > Shared Image Gallery, with support for versioning and multi-region replication.
For a single Windows 365 custom image, the managed image is the simpler route.
Step 6: Hand off to Windows 365
XOAP builds the Azure image, but Windows 365 provisioning is managed separately, so the final step happens in Intune:
1. Go to Intune admin center > Devices > Provision Cloud PCs > Custom images > Add > Managed image.
2. Select the subscription and the image built by XOAP.
3. Provide an image name and version, for example 1.0.0.
4. Windows 365 validates the image, confirming it boots and provisions successfully as a Cloud PC, before it becomes available.
5. Once validated, select it as the source image when creating a Provisioning Policy.
That validation step is your safety net. A custom image only becomes selectable once Windows 365 has confirmed it actually provisions, so a broken build never reaches your users.
Why the pipeline matters
Next quarter, when you need the same image with one more application or an updated base OS, you change one layer and run it again. Two admins running the same definition get the same result. The manual golden-image ritual, and the drift that came with it, is gone.
That is the point of building images with XOAP’s Image Management: reproducibility you don’t have to think about, across as many image versions as your Cloud PC estate needs.
Also running Azure Virtual Desktop?
The same Image Management workflow builds the golden images for AVD host pools too. From there, XOAP’s AVD Manager handles the operational side: rolling image rollout with one-click rollback, autoscaling, per-pool cost tracking and patching across the fleet. AVD Manager is part of the XOAP platform by default – no need for additional accounts, installs or any extra steps. Mehr erfahren


