<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: KY3095</title>
    <description>The latest articles on DEV Community by KY3095 (@ky3095).</description>
    <link>https://dev.to/ky3095</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4123786%2F4e95dbfa-e08f-4406-a4ea-10057d045c95.png</url>
      <title>DEV Community: KY3095</title>
      <link>https://dev.to/ky3095</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ky3095"/>
    <language>en</language>
    <item>
      <title>How to connect Intune with Apple Business Manager (ABM) and enroll iPhones with Automated Device Enrollment (ADE)</title>
      <dc:creator>KY3095</dc:creator>
      <pubDate>Mon, 14 Sep 2026 07:13:13 +0000</pubDate>
      <link>https://dev.to/ky3095/how-to-connect-intune-with-apple-business-manager-abm-and-enroll-iphones-with-automated-device-4ifg</link>
      <guid>https://dev.to/ky3095/how-to-connect-intune-with-apple-business-manager-abm-and-enroll-iphones-with-automated-device-4ifg</guid>
      <description>&lt;h2&gt;
  
  
  About this article
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Intended audience&lt;/strong&gt;: IT and endpoint management admins who want to manage corporate-owned iPhones / iPads with Intune&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What you'll learn&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The concrete steps for the &lt;strong&gt;prerequisites (MDM authority and the APNs certificate)&lt;/strong&gt; you need before you can start with ADE&lt;/li&gt;
&lt;li&gt;How to issue the enrollment program token that connects ABM and Intune&lt;/li&gt;
&lt;li&gt;How to create an enrollment profile for Automated Device Enrollment (ADE)&lt;/li&gt;
&lt;li&gt;What actually happens from the moment you power on an iPhone until it becomes managed&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test environment&lt;/strong&gt;: Microsoft Intune admin center / Apple Business Manager (as of September 2026)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assumptions&lt;/strong&gt;: The devices are new, purchased through ABM, or have been wiped&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With Automated Device Enrollment (ADE), a device enrolls in Intune automatically during the initial setup the first time it's powered on. No manual staging is required, and because the device becomes &lt;strong&gt;Supervised&lt;/strong&gt;, you can apply stronger controls such as restricting app installation, automatically configuring Wi-Fi, and disabling features you don't need.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why use ADE
&lt;/h2&gt;

&lt;p&gt;When you hand out corporate-owned iPhone, you could set each one up by hand and have users enroll them from the Company Portal. But that approach has problems.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Staging effort grows linearly with the number of devices&lt;/li&gt;
&lt;li&gt;Users can remove the management profile on their own&lt;/li&gt;
&lt;li&gt;The devices don't become supervised, so the range of what you can control is limited&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ADE solves all of these at once. Once devices are linked to ABM, you can get to a state where you &lt;strong&gt;take them out of the box and hand them straight to the user&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Overall workflow
&lt;/h2&gt;

&lt;p&gt;Getting the order wrong means rework, so let's take in the big picture first.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Where&lt;/th&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1-1&lt;/td&gt;
&lt;td&gt;ABM&lt;/td&gt;
&lt;td&gt;Set up the ABM account and register purchase information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1-2&lt;/td&gt;
&lt;td&gt;Intune&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Set the MDM authority to Intune&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1-3&lt;/td&gt;
&lt;td&gt;Intune ⇔ Apple&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Get the APNs certificate (Apple MDM push certificate)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1-4&lt;/td&gt;
&lt;td&gt;Intune&lt;/td&gt;
&lt;td&gt;Check licenses&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Intune ⇔ ABM&lt;/td&gt;
&lt;td&gt;Create the enrollment program token (exchange the public key and the token)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;ABM&lt;/td&gt;
&lt;td&gt;Assign devices to the MDM server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Intune&lt;/td&gt;
&lt;td&gt;Create the enrollment profile&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Intune&lt;/td&gt;
&lt;td&gt;Assign the profile to devices&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Intune&lt;/td&gt;
&lt;td&gt;Create a dynamic group&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;iPhone&lt;/td&gt;
&lt;td&gt;Initial setup → verify automatic enrollment&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h1&gt;
  
  
  [Step 1] Prerequisites
&lt;/h1&gt;

&lt;p&gt;If this is your first time building this out, this is where you can get stuck. Let's walk through it one operation at a time.&lt;/p&gt;

&lt;h2&gt;
  
  
  1-1. Set up the ABM account and register purchase information
&lt;/h2&gt;

&lt;p&gt;If you don't have an ABM account at all, sign up at &lt;a href="https://business.apple.com" rel="noopener noreferrer"&gt;business.apple.com&lt;/a&gt;. You need a D-U-N-S Number (a company identifier), and because Apple reviews the request it &lt;strong&gt;can take anywhere from a few days to a few weeks&lt;/strong&gt;. If you're planning for ADE, start here first.&lt;/p&gt;

&lt;p&gt;Once you have the account, you need to &lt;strong&gt;link your devices to ABM&lt;/strong&gt;. There are two main ways to do that.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Route&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Through a reseller (recommended)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Devices purchased from Apple, an Apple Authorized Reseller, or a carrier are automatically added to your ABM account at the time of purchase&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Through Apple Configurator&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Devices you already have on hand are added to ABM manually using Apple Configurator on a Mac&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you go through a reseller, you need to register the reseller's customer number (purchase information) in ABM under &lt;strong&gt;Settings → Enrollment Information → Device Management Settings&lt;/strong&gt;. If that isn't registered, the devices you purchase never flow into ABM.&lt;/p&gt;

&lt;p&gt;If you add devices you already purchased to ABM later using Apple Configurator, &lt;strong&gt;the user gets a 30-day provisional period, and during that window they can release the device from management themselves&lt;/strong&gt;. Devices procured through a reseller don't have this provisional period. If you want to manage corporate-owned devices properly, the rule of thumb is to assume ABM integration from the procurement stage.&lt;/p&gt;




&lt;h2&gt;
  
  
  1-2. Set the MDM authority to Intune
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The MDM authority is the setting that declares which service manages the devices in this tenant.&lt;/strong&gt; Until an IT admin sets the MDM authority, users can't enroll any devices at all.&lt;/p&gt;

&lt;h3&gt;
  
  
  First, check the current setting
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Sign in to the Microsoft Intune admin center&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tenant administration&lt;/strong&gt; → &lt;strong&gt;Tenant status&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;Tenant details&lt;/strong&gt; tab&lt;/li&gt;
&lt;li&gt;Check the &lt;strong&gt;MDM authority&lt;/strong&gt; entry&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If it shows &lt;strong&gt;&lt;code&gt;Microsoft Intune&lt;/code&gt;&lt;/strong&gt;, you're already set. Move on to 1-3 below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcmcwl399t61qujqmtexh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcmcwl399t61qujqmtexh.png" alt=" " width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In relatively recently created tenants, the MDM authority is almost always already set to Intune.&lt;/p&gt;

&lt;p&gt;Note that you also need &lt;strong&gt;an Intune license assigned&lt;/strong&gt; in order to set the MDM authority.&lt;/p&gt;




&lt;h2&gt;
  
  
  1-3. Get the Apple MDM push certificate (APNs certificate)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The APNs certificate is a hard requirement for managing iOS/iPadOS/macOS with Intune.&lt;/strong&gt; It's what Intune uses to deliver instructions to devices through Apple's push notification service. Without it you can't do ADE — you can't even do regular enrollment.&lt;/p&gt;

&lt;p&gt;You'll be going &lt;strong&gt;back and forth&lt;/strong&gt; between the Intune side and the Apple side, so let's follow it step by step.&lt;/p&gt;

&lt;h3&gt;
  
  
  ① Open the settings page in Intune and give consent
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Sign in to the Microsoft Intune admin center&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;Devices&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Device onboarding&lt;/strong&gt; → &lt;strong&gt;Enrollment&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select the &lt;strong&gt;Apple&lt;/strong&gt; tab&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Apple MDM Push Certificate&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;I agree to give Microsoft permission to send data to Apple&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  ② Download the CSR (certificate signing request)
&lt;/h3&gt;

&lt;p&gt;Select &lt;strong&gt;Download your CSR&lt;/strong&gt; and save the request file locally. You upload this file on the Apple side to have the certificate issued.&lt;/p&gt;

&lt;h3&gt;
  
  
  ③ Create the certificate in the Apple Push Certificates Portal
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Create your MDM push Certificate&lt;/strong&gt; to go to the &lt;a href="https://identity.apple.com/pushcert/" rel="noopener noreferrer"&gt;Apple Push Certificates Portal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Sign in with your &lt;strong&gt;organization's Apple ID&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Create a Certificate&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Read and accept the terms and conditions&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Choose File&lt;/strong&gt; and choose the CSR file you downloaded in ②&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Upload&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;On the confirmation page, select &lt;strong&gt;Download&lt;/strong&gt; and save the certificate file (&lt;code&gt;.pem&lt;/code&gt;)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Do not get the choice of Apple ID here wrong.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The certificate is &lt;strong&gt;associated with the Apple ID used to create it&lt;/strong&gt;. You need the same Apple ID to renew it, so if you create it with an individual admin's personal Apple ID, you lose the ability to renew the moment that person changes roles or leaves.&lt;/p&gt;

&lt;p&gt;Microsoft's own guidance recommends &lt;strong&gt;using a company email address and making sure the mailbox is monitored by more than one person, such as through a distribution list&lt;/strong&gt;. Avoid using a personal Apple ID.&lt;/p&gt;

&lt;h3&gt;
  
  
  ④ Enter the Apple ID in Intune
&lt;/h3&gt;

&lt;p&gt;Return to the Intune admin center and enter &lt;strong&gt;the Apple ID you used to create the certificate&lt;/strong&gt;. This is needed so you get reminded when the certificate needs to be renewed.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⑤ Upload the certificate
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Select the &lt;strong&gt;Folder icon&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select the &lt;code&gt;.pem&lt;/code&gt; file you downloaded in ③&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Upload&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You're done once the status shows as active.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fftbvsm6tj8a9s4y44upl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fftbvsm6tj8a9s4y44upl.png" alt=" " width="800" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  [Important] The APNs certificate must be renewed every year
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The Apple MDM push certificate is valid for 365 days.&lt;/strong&gt; You must &lt;strong&gt;renew it annually&lt;/strong&gt; to keep managing iOS/iPadOS/macOS.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If it expires, you can still renew it within the &lt;strong&gt;30-day grace period&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You must renew it &lt;strong&gt;with the same Apple account you used to create it&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The renewal steps are nearly identical to creating it (download the CSR → select &lt;strong&gt;Renew&lt;/strong&gt; on the relevant certificate in the Apple portal → upload the new CSR → upload the downloaded certificate to Intune)&lt;/li&gt;
&lt;li&gt;When you renew in the Apple portal, &lt;strong&gt;entering a unique note about the certificate&lt;/strong&gt; makes it easier to identify if you have more than one&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 How to figure out which certificate is which&lt;/p&gt;

&lt;p&gt;Each certificate has a unique UID. In the certificate details, look for the subject ID, which shows the GUID portion of the UID.&lt;/p&gt;

&lt;p&gt;You can also check from an enrolled iOS/iPadOS device.&lt;br&gt;
Go to &lt;strong&gt;Settings → General → Device Management → Management Profile → More Details → Management Profile&lt;/strong&gt;, and match the GUID contained in the &lt;strong&gt;Topic&lt;/strong&gt; value against the certificate in the Apple Push Certificates Portal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flavkbybv13fi2qf4t8ke.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flavkbybv13fi2qf4t8ke.png" alt=" " width="799" height="260"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  1-4. Check licenses
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;If you enroll &lt;strong&gt;with&lt;/strong&gt; user affinity, &lt;strong&gt;each user must have an Intune license&lt;/strong&gt; assigned&lt;/li&gt;
&lt;li&gt;If you enroll &lt;strong&gt;without&lt;/strong&gt; user affinity (shared devices and so on), management is per device&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That completes the prerequisites. Now we can finally move on to connecting with ABM.&lt;/p&gt;




&lt;h1&gt;
  
  
  [Step 2] Create the enrollment program token
&lt;/h1&gt;

&lt;p&gt;There's a round trip here: &lt;strong&gt;issue the public key in Intune → upload it to ABM → issue the token in ABM → come back to Intune and upload it&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't close the Microsoft Intune admin center browser tab while you're doing this.&lt;/strong&gt;&lt;br&gt;
After you finish the work in ABM, you need to come back to the same tab to upload the token. If you close it, you have to start over.&lt;/p&gt;
&lt;h2&gt;
  
  
  2-1. Download the public key in Intune
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Intune admin center → &lt;strong&gt;Devices&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Expand &lt;strong&gt;Device onboarding&lt;/strong&gt; → &lt;strong&gt;Enrollment&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apple&lt;/strong&gt; → &lt;strong&gt;Enrollment program tokens&lt;/strong&gt; → &lt;strong&gt;Create&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;I agree to grant permission to Microsoft to send user and device information to Apple&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Download your public key&lt;/strong&gt; (a &lt;code&gt;.pem&lt;/code&gt; file is saved)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  2-2. Upload the public key to ABM and get the token
&lt;/h2&gt;

&lt;p&gt;Leave the Intune tab open and open ABM &lt;strong&gt;in a separate tab&lt;/strong&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In ABM, go to the device management services page ( &lt;a href="https://business.apple.com/main/devices/managementservices" rel="noopener noreferrer"&gt;https://business.apple.com/main/devices/managementservices&lt;/a&gt; )&lt;/li&gt;
&lt;li&gt;Select Add&lt;/li&gt;
&lt;li&gt;Select "Connect external device management" → "Continue"&lt;/li&gt;
&lt;li&gt;Enter any service name, upload the public key (&lt;code&gt;.pem&lt;/code&gt;) you downloaded in 2-1, and select "Next"&lt;/li&gt;
&lt;li&gt;Select "Download Service Token" (a &lt;code&gt;.p7m&lt;/code&gt; file is saved)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  2-3. Upload the token to Intune
&lt;/h2&gt;

&lt;p&gt;Go back to the Intune tab you left open.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For &lt;strong&gt;Apple ID&lt;/strong&gt;, enter the Apple ID you used to create the token&lt;/li&gt;
&lt;li&gt;For &lt;strong&gt;Apple token&lt;/strong&gt;, specify the &lt;code&gt;.p7m&lt;/code&gt; file you downloaded in 2-2&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Next&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Apply scope tags if needed (when you want to limit other admins from making changes)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review + create&lt;/strong&gt; → &lt;strong&gt;Create&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That completes the connection between Intune and ABM.&lt;/p&gt;


&lt;h1&gt;
  
  
  [Step 3] Assign devices to the MDM server in ABM
&lt;/h1&gt;

&lt;p&gt;On the ABM side, assign the devices you want to manage to the MDM server you created. &lt;strong&gt;Devices that aren't assigned never sync to Intune.&lt;/strong&gt;&lt;br&gt;
For how to assign them, see the following Apple documentation.&lt;br&gt;
&lt;a href="https://support.apple.com/en-us/guide/business/axmf500c0851/1/web/1" rel="noopener noreferrer"&gt;https://support.apple.com/en-us/guide/business/axmf500c0851/1/web/1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After assigning, run a sync on the Intune side and the device count is reflected under &lt;strong&gt;Devices&lt;/strong&gt; on the enrollment program token.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feyqk8eisymc9ucxahjnr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feyqk8eisymc9ucxahjnr.png" alt=" " width="800" height="194"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h1&gt;
  
  
  [Step 4] Create the enrollment profile (enrollment policy)
&lt;/h1&gt;

&lt;p&gt;This defines the settings applied to the device during initial setup.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select the token you created in [Step 2] → &lt;strong&gt;Profiles&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create profile&lt;/strong&gt; → &lt;strong&gt;iOS/iPadOS&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Enter a name and description (users don't see these details) → &lt;strong&gt;Next&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  4-1. User affinity and authentication method
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;First, decide whether to tie the device to a user.&lt;/strong&gt; The configuration branches from here.&lt;/p&gt;
&lt;h3&gt;
  
  
  Pattern A: Without user affinity (best when you just want to verify it works)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;User Affinity&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Enroll without User Affinity&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is the configuration for use cases that aren't tied to a specific user, such as shared devices or in-store devices. Since it needs neither the Company Portal nor an Intune user license, it's also well suited to &lt;strong&gt;isolating and verifying just "is the ADE wiring correct?"&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Pattern B: With user affinity (production configuration)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;User Affinity&lt;/td&gt;
&lt;td&gt;Enroll with User Affinity&lt;/td&gt;
&lt;td&gt;Use this for corporate-owned devices tied to an individual&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Authentication method&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Setup Assistant with modern authentication&lt;/strong&gt; / Company Portal / Setup Assistant (legacy)&lt;/td&gt;
&lt;td&gt;See below&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;How to choose the authentication method&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Authentication method&lt;/th&gt;
&lt;th&gt;Characteristics&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Setup Assistant with modern authentication&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Authentication completes inside Setup Assistant. Because &lt;strong&gt;it can complete the user association without the Company Portal app&lt;/strong&gt;, it's the easiest one to try first&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Company Portal&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Authentication happens in the Company Portal app. The app has to be installed separately (see below)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Setup Assistant (legacy)&lt;/td&gt;
&lt;td&gt;The traditional method&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  4-2. Management options
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Locked enrollment&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Users can no longer remove the management profile. For corporate-owned devices, "Yes" as a rule&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sync with Computers&lt;/td&gt;
&lt;td&gt;Allow all&lt;/td&gt;
&lt;td&gt;Restrict according to your requirements&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  4-3. Device name template (optional)
&lt;/h2&gt;

&lt;p&gt;By default, Apple names devices after the device type (&lt;code&gt;iPad&lt;/code&gt; and so on). If you want a consistent naming convention, configure a template.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;contoso-{{DEVICETYPE}}-{{SERIAL}}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What the device name looks like after enrollment: &lt;code&gt;contoso-iPhone-XXXXXXXXXX&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The device name template applies &lt;strong&gt;only to supervised devices&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  4-4. Setup Assistant
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Department&lt;/strong&gt;: shown when users tap "About Configuration" while the device is activating&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Department Phone&lt;/strong&gt;: the contact shown when users tap the "Need Help" button&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Showing / hiding the various setup screens&lt;/strong&gt;: if you want enrollment to be as smooth as possible, setting them &lt;strong&gt;all to "Hide"&lt;/strong&gt; is a good move&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Review the settings and select "Create" to save.&lt;/p&gt;




&lt;h1&gt;
  
  
  [Step 5] Assign the profile to devices
&lt;/h1&gt;

&lt;p&gt;Creating the profile isn't enough for it to apply. &lt;strong&gt;Assigning it to devices is required.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go back to &lt;strong&gt;Enrollment program tokens&lt;/strong&gt; and select the token from the list&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Devices&lt;/strong&gt; and check the devices you want to assign&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Assign profile&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Choose the enrollment profile you created → &lt;strong&gt;Assign&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h1&gt;
  
  
  [Step 6] Create a dynamic group (an operational tip)
&lt;/h1&gt;

&lt;p&gt;Since you'll want to target apps and policies only at devices enrolled through ADE, creating a dedicated dynamic device group makes ongoing operations much easier.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Groups&lt;/strong&gt; → &lt;strong&gt;New group&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Enter a group name and select &lt;strong&gt;Dynamic Device&lt;/strong&gt; for the membership type&lt;/li&gt;
&lt;li&gt;Set the following rule as the dynamic query
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(device.enrollmentProfileName -eq "the name of the enrollment profile you created")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Property&lt;/td&gt;
&lt;td&gt;enrollmentProfileName&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operator&lt;/td&gt;
&lt;td&gt;Equals&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Value&lt;/td&gt;
&lt;td&gt;The profile name you created in step 4&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;With this, devices enrolled with that profile automatically land in the group. From here on, you can target this group for app deployment and configuration profiles.&lt;/p&gt;




&lt;h1&gt;
  
  
  [Step 7] Set up an iPhone and verify the behavior
&lt;/h1&gt;

&lt;p&gt;Once the Intune side is ready, verify it on a real device. Have a new or wiped iPhone on hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to tell it succeeded
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;During initial setup, a screen showing &lt;strong&gt;"Enroll This iPhone" plus your company name&lt;/strong&gt; is displayed&lt;/li&gt;
&lt;li&gt;The lock screen shows &lt;strong&gt;"This iPhone is remotely managed"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The device appears under &lt;strong&gt;iOS/iPadOS devices&lt;/strong&gt; in Intune&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you've confirmed all of this, the ADE rollout is complete.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/intune/device-enrollment/apple/tutorial-automated-ios" rel="noopener noreferrer"&gt;Tutorial - Use Apple Business to enroll iOS/iPadOS devices in Intune - Microsoft Learn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/intune/device-enrollment/apple/create-mdm-push-certificate" rel="noopener noreferrer"&gt;Get an Apple MDM Push certificate for Intune - Microsoft Learn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/intune/fundamentals/setup-mdm-authority" rel="noopener noreferrer"&gt;Set the mobile device management authority - Microsoft Learn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://yjk365.jp/config/intune-apple-business-manager-ios-device/" rel="noopener noreferrer"&gt;How to manage iOS devices by integrating Microsoft Intune with Apple Business Manager (ABM) - yjk365&lt;/a&gt; (Japanese)&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>intune</category>
      <category>iphone</category>
      <category>ios</category>
      <category>mdm</category>
    </item>
    <item>
      <title>Device Preparation Policy for Windows 365 CloudPC in Intune</title>
      <dc:creator>KY3095</dc:creator>
      <pubDate>Mon, 14 Sep 2026 04:38:12 +0000</pubDate>
      <link>https://dev.to/ky3095/device-preparation-policy-for-windows-365-cloudpc-in-intune-34kd</link>
      <guid>https://dev.to/ky3095/device-preparation-policy-for-windows-365-cloudpc-in-intune-34kd</guid>
      <description>

&lt;p&gt;&lt;strong&gt;What you'll learn&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;What the &lt;strong&gt;Automatic mode&lt;/strong&gt; of a device preparation policy solves for Windows 365 (the benefits)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The supported Windows 365 SKUs and the prerequisites&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The end-to-end flow: create the Entra group → assign apps/scripts → create the device preparation policy → create the provisioning policy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How to monitor provisioning, and the pitfalls that trip people up&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Written as of&lt;/strong&gt;: September 2026 &lt;strong&gt;Assumptions&lt;/strong&gt;: A tenant with Windows 365 Enterprise / Flex (formerly Frontline) licenses and Microsoft Intune&lt;/p&gt;

&lt;h2&gt;
  
  
  What a device preparation policy in Automatic mode is
&lt;/h2&gt;

&lt;p&gt;It's a form of Windows Autopilot device preparation (commonly known as Autopilot v2), and it's a &lt;strong&gt;dedicated policy that you link to a Windows 365 provisioning policy&lt;/strong&gt;. By including the device preparation policy in the provisioning policy, you guarantee that &lt;strong&gt;the essential Intune apps and scripts are installed on the Cloud PC before the user signs in&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The SKUs you can provision in automatic mode are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Windows 365 Flex in shared mode&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Windows 365 Enterprise&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Windows 365 Flex in dedicated mode&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Windows 365 Cloud Apps&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Benefits
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. The Cloud PC is "ready for productive use" the moment the user first signs in
&lt;/h3&gt;

&lt;p&gt;Traditionally, a Cloud PC is marked &lt;strong&gt;Provisioned&lt;/strong&gt; as soon as Intune enrollment finishes, and users can connect from that point. App delivery runs afterward, so right after the first sign-in the Cloud PC often has neither Teams nor the line-of-business apps installed yet.&lt;/p&gt;

&lt;p&gt;With a device preparation policy, &lt;strong&gt;Windows 365 waits to complete provisioning until the specified apps and scripts have finished installing&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. You're freed from building and maintaining custom images
&lt;/h3&gt;

&lt;p&gt;Building your own "custom image with the required apps preinstalled" and keeping it updated piles up cost: image versioning, applying updates, and re-validating. A device preparation policy keeps the standard configuration of &lt;strong&gt;a gallery image plus Intune app delivery&lt;/strong&gt;, while &lt;strong&gt;reducing the management overhead that comes with custom images&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. You can choose not to hand a failed Cloud PC to the user
&lt;/h3&gt;

&lt;p&gt;If you enable &lt;strong&gt;Prevent users from connection to Cloud PC upon installation failure or timeout&lt;/strong&gt; in the provisioning policy, a Cloud PC that fails preparation is marked &lt;strong&gt;Failed&lt;/strong&gt; and users can't connect to it. If you leave it unselected, the Cloud PC is marked &lt;strong&gt;Provisioned with warnings&lt;/strong&gt; and users can connect. The key point is that &lt;strong&gt;you get to decide, as an operational policy, whether to hand out a half-configured device or block it&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Near real-time visibility at the individual app and script level
&lt;/h3&gt;

&lt;p&gt;In automatic mode, Cloud PC setup happens in the background, so you can't "watch" it on screen. Instead, the &lt;strong&gt;Windows Autopilot device preparation deployments report&lt;/strong&gt; lets you track the deployment status, phase, and deployment time per device, and even &lt;strong&gt;the status of each individual app and script (Installed / In progress / Skipped / Failed)&lt;/strong&gt;. Isolating "why is this one device missing its apps?" gets dramatically faster.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Enrollment Time Grouping makes delivery fast and reliable
&lt;/h3&gt;

&lt;p&gt;The device is added to a predefined device security group at the moment of enrollment, and the configuration is delivered immediately. Compared with the traditional approach of waiting for dynamic group membership to be evaluated, &lt;strong&gt;apps, scripts, and policies are delivered more quickly and efficiently&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Assignment management is simpler
&lt;/h3&gt;

&lt;p&gt;A device preparation policy in automatic mode &lt;strong&gt;has no Assignments page&lt;/strong&gt;. Assignment is handled when you create the Cloud PC provisioning policy, so there's no double management of "which group do I target this policy at?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Overall workflow
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Where&lt;/th&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Azure portal (Entra ID)&lt;/td&gt;
&lt;td&gt;Set up Windows automatic Intune enrollment (MDM user scope)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Intune admin center (Groups)&lt;/td&gt;
&lt;td&gt;Create an &lt;strong&gt;assigned&lt;/strong&gt; security device group and set Intune Provisioning Client as the owner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Intune admin center (Apps / Scripts)&lt;/td&gt;
&lt;td&gt;Assign the apps and PowerShell scripts you want to deliver to the device group from step 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Intune admin center (Enrollment)&lt;/td&gt;
&lt;td&gt;Create the device preparation policy with &lt;strong&gt;Automatic&lt;/strong&gt; and specify the apps/scripts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Intune admin center (Windows 365)&lt;/td&gt;
&lt;td&gt;Select the policy from step 4 in the Cloud PC provisioning policy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Intune admin center (Monitor)&lt;/td&gt;
&lt;td&gt;Monitor the deployment status&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  [Step 1] Set up Windows automatic Intune enrollment
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;If automatic Intune enrollment is already set up, skip this step and move on to step 2.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Sign in to the &lt;strong&gt;Azure portal&lt;/strong&gt; and select &lt;strong&gt;Microsoft Entra ID&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under &lt;strong&gt;Manage&lt;/strong&gt; in the left hand pane, select &lt;strong&gt;Mobility (MDM and WIP)&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under &lt;strong&gt;Name&lt;/strong&gt;, select &lt;strong&gt;Microsoft Intune&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under &lt;strong&gt;MDM user scope&lt;/strong&gt;, select either &lt;strong&gt;All&lt;/strong&gt; or &lt;strong&gt;Some&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*   If you select **Some**, specify the target Entra **user** groups from the link under **Groups**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Save&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  [Step 2] Create an assigned device group
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Dynamic groups can't be used.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Sign in to the &lt;strong&gt;Microsoft Intune admin center&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the left hand pane, select &lt;strong&gt;Groups&lt;/strong&gt; → &lt;strong&gt;All groups&lt;/strong&gt; → &lt;strong&gt;New group&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure it as follows&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Group type&lt;/td&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Group name&lt;/td&gt;
&lt;td&gt;e.g. &lt;code&gt;Windows Autopilot device preparation device group&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Group description&lt;/td&gt;
&lt;td&gt;Optional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Microsoft Entra roles can be assigned to the group&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Membership type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Assigned&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Owners&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Intune Provisioning Client&lt;/strong&gt; (AppId: &lt;code&gt;f1346770-5b25-470b-88bd-d5744ab7952c&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Members&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Create&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3pameh6etpjsld280z0z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3pameh6etpjsld280z0z.png" alt=" " width="800" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The group specified in the device preparation policy needs to be an &lt;strong&gt;assigned security device group&lt;/strong&gt;. Dynamic groups aren't used.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In some tenants, the service principal is displayed as &lt;strong&gt;Intune Autopilot ConfidentialClient&lt;/strong&gt;. &lt;strong&gt;As long as the AppId is&lt;/strong&gt; &lt;code&gt;f1346770-5b25-470b-88bd-d5744ab7952c&lt;/code&gt;&lt;strong&gt;, it's the correct&lt;/strong&gt; service principal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cloud PCs are automatically added to this group during the deployment. Adding them manually isn't necessary.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Microsoft recommends &lt;strong&gt;using separate device groups&lt;/strong&gt; for user-driven scenarios and automatic scenarios. :::&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  If you can't find Intune Provisioning Client
&lt;/h3&gt;

&lt;p&gt;If it appears neither in the list nor in search results, add it with PowerShell.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;Install-Module&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Microsoft.Graph.Authentication&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Install-Module&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Microsoft.Graph.Applications&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Connect-MgGraph&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Scopes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Application.ReadWrite.All"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-MgServicePrincipal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-AppID&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;f1346770-5b25-470b-88bd-d5744ab7952c&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  [Step 3] Assign applications and PowerShell scripts to the device group
&lt;/h2&gt;

&lt;p&gt;During OOBE (that is, while no user is signed in), you can deploy up to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;25 managed applications&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;10 PowerShell scripts&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The official tutorial's "Step 3" and the overview page state &lt;strong&gt;25 apps / 10 scripts&lt;/strong&gt;, while the "Step 4 (create the policy)" page states &lt;strong&gt;up to 10 apps&lt;/strong&gt;, so the numbers differ between articles. Check the admin center UI for the actual limit.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Supported application types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Line-of-business (LOB)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Win32&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Microsoft Store (&lt;strong&gt;only apps that support WinGet&lt;/strong&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Microsoft 365&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enterprise App Catalog&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Assigning applications
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Intune admin center → &lt;strong&gt;Apps&lt;/strong&gt; → &lt;strong&gt;Windows&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the target app → &lt;strong&gt;Properties&lt;/strong&gt; → &lt;strong&gt;Edit&lt;/strong&gt; next to &lt;strong&gt;Assignments&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under the &lt;strong&gt;Required&lt;/strong&gt; section, select &lt;strong&gt;Add group&lt;/strong&gt; → select the device group from step 2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Verify that &lt;strong&gt;Group mode is set to Included&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When applicable, verify that &lt;strong&gt;Install Context is set to Device context&lt;/strong&gt; (so the app installs in the System context)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review + save&lt;/strong&gt; → &lt;strong&gt;Save&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Assigning PowerShell scripts
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Intune admin center → &lt;strong&gt;Devices&lt;/strong&gt; → &lt;strong&gt;Scripts and remediations&lt;/strong&gt; → &lt;strong&gt;Platform scripts&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the target script → &lt;strong&gt;Properties&lt;/strong&gt; → &lt;strong&gt;Edit&lt;/strong&gt; next to &lt;strong&gt;Assignments&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add the device group from step 2 under &lt;strong&gt;Included groups&lt;/strong&gt; (also make sure it isn't listed under &lt;strong&gt;Excluded groups&lt;/strong&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review + save&lt;/strong&gt; → &lt;strong&gt;Save&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Because no user is signed in during OOBE, applications must be configured to install in the &lt;strong&gt;System context&lt;/strong&gt;. A PowerShell script runs in the System context when you set &lt;strong&gt;Run this script using the logged on credentials&lt;/strong&gt; to &lt;strong&gt;No&lt;/strong&gt; in its properties.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  [Step 4] Create the device preparation policy in Automatic mode
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Intune admin center → &lt;strong&gt;Devices&lt;/strong&gt; → under &lt;strong&gt;By platform&lt;/strong&gt;, select &lt;strong&gt;Windows&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under &lt;strong&gt;Device onboarding&lt;/strong&gt;, select &lt;strong&gt;Enrollment&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under &lt;strong&gt;Windows Autopilot device preparation&lt;/strong&gt;, select &lt;strong&gt;Device preparation policies&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Create&lt;/strong&gt; → &lt;strong&gt;Automatic&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt; page: select &lt;strong&gt;Next&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Basics&lt;/strong&gt; page: enter a name and description → &lt;strong&gt;Next&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Device group&lt;/strong&gt; page: search for and select the device group created in step 2 → &lt;strong&gt;Next&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configuration settings&lt;/strong&gt; page:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apps&lt;/strong&gt; section → &lt;strong&gt;Add&lt;/strong&gt; → select the essential apps → &lt;strong&gt;Save&lt;/strong&gt; (they appear under &lt;strong&gt;Allowed applications&lt;/strong&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scripts&lt;/strong&gt; section → &lt;strong&gt;Add&lt;/strong&gt; → select the essential scripts → &lt;strong&gt;Save&lt;/strong&gt; (they appear under &lt;strong&gt;Allowed scripts&lt;/strong&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6xk66nwll0cy1y8ctpfq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6xk66nwll0cy1y8ctpfq.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scope tags&lt;/strong&gt; page: specify if needed (optional) → &lt;strong&gt;Next&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Review + create&lt;/strong&gt; page: review the settings and select &lt;strong&gt;Save&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Unlike user-driven mode, a policy in automatic mode &lt;strong&gt;has no deployment settings or OOBE settings sections, and no Assignments page&lt;/strong&gt;. Assignment is handled in step 5 (the provisioning policy).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Also, the apps and scripts you select here must already be assigned to the device security group from step 2.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  [Step 5] Create the Cloud PC provisioning policy
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Intune admin center → &lt;strong&gt;Devices&lt;/strong&gt; → &lt;strong&gt;Cloud PC provisioning&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Provisioning policies&lt;/strong&gt; → &lt;strong&gt;Create policy&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;General&lt;/strong&gt; page&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*   Enter a name and description

*   **Experience**: Access a full Cloud PC desktop

*   **License type**: select the SKU you're using

*   **Join type**: Microsoft Entra Join or Hybrid Microsoft Entra Join

*   **Network**: Microsoft hosted network or Azure network connection

*   Select **Geography** / **Region**, and enable **Use Microsoft Entra single sign-on** if needed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Image&lt;/strong&gt; page: select the image you want&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configuration&lt;/strong&gt; page&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*   Select **Language &amp;amp; Region**

*   Configure **Apply device name template** if needed

*   Under **Windows Autopilot**:

    *   For **Autopilot device preparation policy**, select the policy from step 4

    *   For **Minutes allowed before device preparation fails**, enter a value between **30 and 360 minutes** (**minimum 30 minutes**, e.g. 60)

    *   Select **Prevent users from connection to Cloud PC upon installation failure or timeout** if needed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scope tags&lt;/strong&gt; page: optional&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Assignments&lt;/strong&gt; page&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*   Select **Add groups** and choose the target user group
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Review + create&lt;/strong&gt; → &lt;strong&gt;Create&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Intune admin center → &lt;strong&gt;Devices&lt;/strong&gt; → &lt;strong&gt;All Cloud PCs&lt;/strong&gt;, and wait for the Cloud PC to be provisioned.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once the Cloud PC is provisioned, connect to it and verify that the apps and scripts configured in the Autopilot device preparation policy are installed.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Monitor the deployment
&lt;/h2&gt;

&lt;p&gt;Monitoring is done in the admin center.&lt;/p&gt;

&lt;h3&gt;
  
  
  Status per Cloud PC
&lt;/h3&gt;

&lt;p&gt;Check the &lt;strong&gt;Status&lt;/strong&gt; column under &lt;strong&gt;Devices&lt;/strong&gt; → &lt;strong&gt;All Cloud PCs&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Provisioning&lt;/td&gt;
&lt;td&gt;The Cloud PC is being created and isn't ready for use yet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Preparing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Device preparation configuration is underway; not ready for use yet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Provisioned&lt;/td&gt;
&lt;td&gt;Completed successfully and ready to use&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failed&lt;/td&gt;
&lt;td&gt;The connection-blocking option is enabled and preparation failed, so it can't be used&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Provisioned with warnings&lt;/td&gt;
&lt;td&gt;Provisioning succeeded but some configuration failed; the Cloud PC can still be used&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Per-app and per-script details
&lt;/h3&gt;

&lt;p&gt;Open &lt;strong&gt;Devices&lt;/strong&gt; → &lt;strong&gt;Monitor&lt;/strong&gt; → &lt;strong&gt;Windows Autopilot device preparation deployments&lt;/strong&gt; in the list of reports.&lt;/p&gt;

&lt;p&gt;Information shown: Device name / Enrollment date / Deployment status (In progress, Success, Failed) / &lt;strong&gt;Phase&lt;/strong&gt; (Policy installation, Script installation, App installation) / Serial number / Deployment time / UPN&lt;br&gt;&lt;br&gt;
Below is an example of a failed deployment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4kiqd1cg5l80v710ukvv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4kiqd1cg5l80v710ukvv.png" alt=" " width="800" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecting a device name opens &lt;strong&gt;Device deployment details&lt;/strong&gt;, which lists the apps and scripts with their individual statuses, in addition to device information (Intune device ID, Entra device ID, &lt;strong&gt;deployment policy and policy version&lt;/strong&gt;, OS version).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fezuvo9edbpui84dymv69.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fezuvo9edbpui84dymv69.png" alt=" " width="566" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Installed&lt;/td&gt;
&lt;td&gt;Installed / ran successfully&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;In progress&lt;/td&gt;
&lt;td&gt;Currently running&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Skipped&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Selected in the policy, but &lt;strong&gt;not assigned to the device group specified in the policy&lt;/strong&gt; (or not applicable to the device)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failed&lt;/td&gt;
&lt;td&gt;Installation / execution failed. Check the logs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Checklist recap
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The device group is dynamic&lt;/strong&gt; → it won't work unless it's an Assigned security group.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Intune Provisioning Client isn't set as the group owner, or was removed later&lt;/strong&gt; → security group membership updates can fail and the device can fall out of compliance. Changing the group from static to dynamic after configuring the policy, or deleting the group, are also causes of failure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The apps/scripts aren't assigned to the device group&lt;/strong&gt; → they're reported as &lt;strong&gt;Skipped&lt;/strong&gt;. Selecting them in the policy alone doesn't deliver them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The script is still running in the user context&lt;/strong&gt; → set &lt;strong&gt;Run this script using the logged on credentials&lt;/strong&gt; to &lt;strong&gt;No&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Reference links (official Microsoft documentation)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Overview and requirements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/overview" rel="noopener noreferrer"&gt;Overview of Windows Autopilot device preparation&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/requirements" rel="noopener noreferrer"&gt;Windows Autopilot device preparation requirements&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/windows-365/enterprise/autopilot-device-preparation" rel="noopener noreferrer"&gt;Use Autopilot device preparation with Cloud PCs (Windows 365)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/known-issues" rel="noopener noreferrer"&gt;Windows Autopilot device preparation - known issues&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Procedure (the 6-step tutorial for Windows 365 automatic mode)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/tutorial/automatic/automatic-workflow" rel="noopener noreferrer"&gt;Overview: Windows Autopilot device preparation in automatic mode for Windows 365&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/tutorial/automatic/automatic-automatic-enrollment" rel="noopener noreferrer"&gt;Step 1: Set up Windows automatic Intune enrollment&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/tutorial/automatic/automatic-device-group" rel="noopener noreferrer"&gt;Step 2: Create an assigned device group&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/tutorial/automatic/automatic-assign-apps-scripts" rel="noopener noreferrer"&gt;Step 3: Assign applications and PowerShell scripts to device group&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/tutorial/automatic/automatic-autopilot-policy" rel="noopener noreferrer"&gt;Step 4: Create Windows Autopilot device preparation policy&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/tutorial/automatic/automatic-cloud-pc-provisioning-policy" rel="noopener noreferrer"&gt;Step 5: Create a Cloud PC provisioning policy&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/autopilot/device-preparation/tutorial/automatic/automatic-monitor" rel="noopener noreferrer"&gt;Step 6: Monitor the deployment&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>windows365</category>
      <category>intune</category>
      <category>autopilot</category>
      <category>mdm</category>
    </item>
    <item>
      <title>Endpoint management and virtual desktop admins who are considering Azure NetApp Files (ANF) as the profile storage location for AVD</title>
      <dc:creator>KY3095</dc:creator>
      <pubDate>Mon, 14 Sep 2026 04:25:09 +0000</pubDate>
      <link>https://dev.to/ky3095/endpoint-management-and-virtual-desktop-admins-who-are-considering-azure-netapp-files-anf-as-the-1j0o</link>
      <guid>https://dev.to/ky3095/endpoint-management-and-virtual-desktop-admins-who-are-considering-azure-netapp-files-anf-as-the-1j0o</guid>
      <description>&lt;h2&gt;
  
  
  About this article
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;What you'll learn&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  How to use ANF as the storage location for FSLogix profile containers&lt;/li&gt;
&lt;li&gt;  The FSLogix registry settings&lt;/li&gt;
&lt;li&gt;  How to verify that it works&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Test environment&lt;/strong&gt;: Azure Virtual Desktop / Azure NetApp Files (as of September 2026)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Assumptions&lt;/strong&gt;: An Active Directory Domain Services (AD DS) environment&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FSLogix stores a user profile in a &lt;strong&gt;VHD(X)-based container&lt;/strong&gt; and attaches it to the session host at sign-in. You use it to persist user settings and data in non-persistent VDI and multi-session environments.&lt;/p&gt;

&lt;p&gt;FSLogix containers are placed on an &lt;strong&gt;SMB file share&lt;/strong&gt;. There are various options, such as a shared file server in an on-premises environment, but this article covers storing them on Azure NetApp Files (ANF). As a managed SMB file server, Azure NetApp Files delivers &lt;strong&gt;low latency and high throughput&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Container types
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Profile Container&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Stores the complete user profile in a VHD(X). &lt;strong&gt;This is what this article uses&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ODFC Container&lt;/td&gt;
&lt;td&gt;Separates only Office-related data into a different container&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloud Cache&lt;/td&gt;
&lt;td&gt;Not a type, but an optional configuration for the containers above&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Overall workflow
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Where&lt;/th&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Azure portal&lt;/td&gt;
&lt;td&gt;Create a NetApp account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Azure portal&lt;/td&gt;
&lt;td&gt;Create a capacity pool&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Azure portal&lt;/td&gt;
&lt;td&gt;Configure an Active Directory connection&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Azure portal&lt;/td&gt;
&lt;td&gt;Create an SMB volume&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Session host&lt;/td&gt;
&lt;td&gt;Configure the registry&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Session host&lt;/td&gt;
&lt;td&gt;Verify that it works&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Other prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;An Azure account with contributor or administrator permissions&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A subnet delegated to Azure NetApp Files&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ANF can be accessed only from &lt;strong&gt;the same VNet, or a peered VNet in the same region&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Only one subnet per VNet can be delegated to ANF&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;One AD connection per NetApp account&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  [Step 1] Create a NetApp account
&lt;/h1&gt;

&lt;p&gt;Select &lt;strong&gt;Create a resource&lt;/strong&gt; → search for &lt;strong&gt;Azure NetApp Files&lt;/strong&gt; → select &lt;strong&gt;Create&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Name&lt;/td&gt;
&lt;td&gt;The display name of the NetApp account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Subscription&lt;/td&gt;
&lt;td&gt;Any subscription&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resource group&lt;/td&gt;
&lt;td&gt;Any resource group&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Location&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;The same region as the session hosts&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A NetApp account &lt;strong&gt;must be created in the region where the volumes will be deployed.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  [Step 2] Create a capacity pool
&lt;/h1&gt;

&lt;p&gt;In the NetApp account you created → &lt;strong&gt;Capacity pools&lt;/strong&gt; → &lt;strong&gt;+ Add pool&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Name&lt;/td&gt;
&lt;td&gt;The display name of the capacity pool&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Service level&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Standard / Premium / Ultra&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Size (TiB)&lt;/td&gt;
&lt;td&gt;Set as needed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QoS type&lt;/td&gt;
&lt;td&gt;Auto / Manual&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h1&gt;
  
  
  [Step 3] Configure an Active Directory connection
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Before creating an SMB volume, you need to create an Active Directory connection.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3-1. Prepare the account used for the domain join
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;An &lt;strong&gt;AD DS domain user account in the same domain&lt;/strong&gt; where the ANF computer accounts are created&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Permissions to create computer accounts&lt;/strong&gt; in the specified OU&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3-2. Create the Active Directory connection
&lt;/h2&gt;

&lt;p&gt;NetApp account → &lt;strong&gt;Active Directory connections&lt;/strong&gt; → &lt;strong&gt;Join&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Required fields
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Primary DNS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The IP address of the DNS server required for the domain join&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Secondary DNS&lt;/td&gt;
&lt;td&gt;Same as above&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AD DNS Domain Name&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The fully qualified domain name of the AD DS (for example, &lt;code&gt;contoso.com&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AD Site Name&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The default is &lt;code&gt;Default-First-Site-Name&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SMB server (computer account) prefix&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The naming prefix for the computer accounts that ANF creates in AD DS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Username / Password&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The account used for the domain join, and its password&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Organizational unit path
&lt;/h3&gt;

&lt;p&gt;Specify the &lt;strong&gt;LDAP path&lt;/strong&gt; for the organizational unit (OU) where the SMB server computer accounts will be created. The format is &lt;code&gt;OU=second level, OU=first level&lt;/code&gt;. If no value is provided, the &lt;code&gt;CN=Computers&lt;/code&gt; container is used.&lt;/p&gt;

&lt;h3&gt;
  
  
  Optional fields
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AES Encryption&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Enables AES encryption authentication support for the admin account of the AD connection&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LDAP Signing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Integrity verification for SASL LDAP binds between ANF and AD DS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LDAP over TLS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Secures communication between ANF and the AD LDAP server. &lt;strong&gt;Don't enable it with Microsoft Entra Domain Services&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backup policy users&lt;/td&gt;
&lt;td&gt;Grants privileges such as &lt;code&gt;SeBackupPrivilege&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security privilege users&lt;/td&gt;
&lt;td&gt;Grants &lt;code&gt;SeSecurityPrivilege&lt;/code&gt;. &lt;strong&gt;Supported only for SQL Server&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Registration complete&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjbbcttruxceycbnbksed.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjbbcttruxceycbnbksed.png" alt=" " width="798" height="166"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  [Step 4] Create an SMB volume
&lt;/h1&gt;

&lt;p&gt;NetApp account → &lt;strong&gt;Volumes&lt;/strong&gt; → &lt;strong&gt;+ Add volume&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4-1. Basics tab
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Volume name&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Any name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacity pool&lt;/td&gt;
&lt;td&gt;The pool created in step 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Quota&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Regular volumes are &lt;strong&gt;50 GiB to 100 TiB&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Virtual network&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The Azure virtual network from which you want to access the volume&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Subnet&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The subnet delegated to ANF&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Availability Zone&lt;/td&gt;
&lt;td&gt;None / the same zone as the session hosts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  4-2. Protocol tab
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Protocol type&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;SMB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Active Directory&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The connection created in step 3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Share name&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The share name that users see&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Enable Continuous Availability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ &lt;strong&gt;Enable it&lt;/strong&gt; (recommended for FSLogix)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SMB3 Protocol Encryption&lt;/td&gt;
&lt;td&gt;When enabled, &lt;strong&gt;clients that don't use SMB3 encryption can't access the volume&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Access Based Enumeration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Hides directories from users who don't have access permissions&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;After creation, the &lt;strong&gt;Mount path&lt;/strong&gt; is shown on the volume's &lt;strong&gt;Overview&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw1duyq2eaotz4ywvejcj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw1duyq2eaotz4ywvejcj.png" alt=" " width="799" height="332"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  [Step 5] Configure the registry
&lt;/h1&gt;

&lt;p&gt;Configure the following registry settings on the VMs that act as session hosts.&lt;/p&gt;

&lt;p&gt;Registry path: &lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Below is a list of settings taken from the official Microsoft documentation. &lt;code&gt;Enabled&lt;/code&gt; and &lt;code&gt;VHDLocations&lt;/code&gt; are required.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Value name&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Official classification&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Enabled&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DWORD&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Required&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;VHDLocations&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;MULTI_SZ&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;\\&amp;lt;anf-fqdn&amp;gt;\&amp;lt;share-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Required&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;VolumeType&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;REG_SZ&lt;/td&gt;
&lt;td&gt;&lt;code&gt;VHDX&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Recommended&lt;/td&gt;
&lt;td&gt;&lt;code&gt;vhd&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DeleteLocalProfileWhenVHDShouldApply&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DWORD&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Recommended&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;FlipFlopProfileDirectoryName&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DWORD&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Recommended&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LockedRetryCount&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DWORD&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Recommended&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LockedRetryInterval&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DWORD&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;Recommended&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ReAttachIntervalSeconds&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DWORD&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;Recommended&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ReAttachRetryCount&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DWORD&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Recommended&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ProfileType&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DWORD&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;Default&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SizeInMBs&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DWORD&lt;/td&gt;
&lt;td&gt;30000&lt;/td&gt;
&lt;td&gt;Default&lt;/td&gt;
&lt;td&gt;30000&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To configure them with PowerShell, use the following.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"HKLM:\SOFTWARE\FSLogix\Profiles"&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Enabled"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DWORD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"VHDLocations"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;MultiString&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"\\&amp;lt;anf-fqdn&amp;gt;\&amp;lt;share-name&amp;gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"VolumeType"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"VHDX"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"DeleteLocalProfileWhenVHDShouldApply"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DWORD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"FlipFlopProfileDirectoryName"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DWORD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"LockedRetryCount"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DWORD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"LockedRetryInterval"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DWORD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;15&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ReAttachIntervalSeconds"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DWORD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;15&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ReAttachRetryCount"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DWORD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;New-ItemProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$regPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"SizeInMBs"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-PropertyType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;DWORD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;30000&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Deploying the settings with Group Policy
&lt;/h3&gt;

&lt;p&gt;Get the ADMX / ADML files here: &lt;a href="https://learn.microsoft.com/en-us/fslogix/how-to-use-group-policy-templates" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-us/fslogix/how-to-use-group-policy-templates&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Destination (domain)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;fslogix.admx&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;%systemroot%\sysvol\domain\policies\PolicyDefinitions&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;fslogix.adml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;%systemroot%\sysvol\domain\policies\PolicyDefinitions\[MUIculture]&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Policy location: &lt;strong&gt;Computer Configuration → Administrative Templates → FSLogix&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  [Step 6] Verify that it works
&lt;/h1&gt;

&lt;h2&gt;
  
  
  6-1. Check the service and the settings
&lt;/h2&gt;

&lt;p&gt;Run the following at a command prompt on the session host.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sc query frxsvc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Confirm that it reports &lt;code&gt;STATE : RUNNING&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Next, run the following.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;reg query HKLM\SOFTWARE\FSLogix\Profiles
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Confirm that &lt;code&gt;Enabled&lt;/code&gt; is &lt;code&gt;0x1&lt;/code&gt; and that &lt;code&gt;VHDLocations&lt;/code&gt; contains the ANF mount path.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffvdx0wridd8adun2esob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffvdx0wridd8adun2esob.png" alt=" " width="697" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6-2. Check the file
&lt;/h2&gt;

&lt;p&gt;Connect to the session host and open the &lt;strong&gt;Mount path&lt;/strong&gt; in File Explorer.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;\\&amp;lt;anf-volume-fqdn&amp;gt;\&amp;lt;share-name&amp;gt;\&amp;lt;username&amp;gt;_&amp;lt;SID&amp;gt;\Profile_&amp;lt;username&amp;gt;.vhd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuuuv50adcppb6huk1t4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuuuv50adcppb6huk1t4e.png" alt=" " width="668" height="149"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6-3. Check that the profile roams
&lt;/h2&gt;

&lt;p&gt;Sign out of the first session host, sign in to a second session host, and if your desktop changes (wallpaper, file layout, and so on) carry over, it works.&lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/fslogix/how-to-configure-profile-container-netapp" rel="noopener noreferrer"&gt;Store FSLogix profile containers on Azure NetApp Files - Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/azure/azure-netapp-files/azure-netapp-files-create-volumes-smb" rel="noopener noreferrer"&gt;Create an SMB volume for Azure NetApp Files - Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/azure/azure-netapp-files/create-active-directory-connections" rel="noopener noreferrer"&gt;Create and manage Active Directory connections for Azure NetApp Files - Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/fslogix/how-to-install-fslogix" rel="noopener noreferrer"&gt;Install FSLogix Applications - Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/fslogix/how-to-configure-profile-containers" rel="noopener noreferrer"&gt;Configure profile containers - Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/fslogix/how-to-configure-storage-permissions" rel="noopener noreferrer"&gt;Configure the storage permissions for profile containers - Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/fslogix/reference-configuration-settings" rel="noopener noreferrer"&gt;Configuration settings reference - Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/fslogix/overview-prerequisites" rel="noopener noreferrer"&gt;FSLogix prerequisites (antivirus exclusions) - Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/fslogix/troubleshooting-old-temp-local-profiles" rel="noopener noreferrer"&gt;Troubleshoot old, temporary, and local profiles - Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>avd</category>
      <category>azure</category>
      <category>fslogix</category>
      <category>azurevirtualdesktop</category>
    </item>
  </channel>
</rss>
