<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://evil365.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://evil365.com/" rel="alternate" type="text/html" /><updated>2026-06-24T11:32:01+00:00</updated><id>https://evil365.com/feed.xml</id><title type="html">Welcome to the land of everything Microsoft Intune!</title><subtitle></subtitle><author><name>Mads Johansen</name></author><entry><title type="html">Using Autopatch’s ring system for your own benefit</title><link href="https://evil365.com/intune/UsingAutopatch-RingSystem/" rel="alternate" type="text/html" title="Using Autopatch’s ring system for your own benefit" /><published>2026-06-07T00:00:00+00:00</published><updated>2026-06-07T00:00:00+00:00</updated><id>https://evil365.com/intune/UsingAutopatch-RingSystem</id><content type="html" xml:base="https://evil365.com/intune/UsingAutopatch-RingSystem/"><![CDATA[<p>Here is one of those consultant secrets: when we make changes, we do not YOLO-roll out an app, policy, or script to every device at once. We also do not want a static Entra group manually maintained by one person, where half the devices are stale anyway. When Autopatch launched, I quickly noticed its ring system. You can create multiple rings and let Autopatch distribute devices dynamically based on percentages you define as IT admin.</p>

<p>Did you know Autopatch creates those defined rings as static Entra groups? It then handles dynamic assignment when devices are registered.</p>

<p>But let’s back up a bit. What is Autopatch in the first place?</p>

<p><img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/Thumbnail.png?raw=true" alt="Thumbnail" title="Thumbnail" /></p>

<h2 id="what-is-windows-autopatch">What is Windows Autopatch</h2>

<p>Windows Autopatch is Microsoft’s managed update service. It takes most patching overhead off IT teams. It is cloud-based and automates updates for Windows and other Microsoft software such as Edge, Microsoft Office, and anything supported by the Windows Update engine.</p>

<p>When Autopatch is enabled in your tenant and you create new “Autopatch groups,” it automatically creates the relevant policies for Windows patching, feature updates, Edge, Office, and more. That saves IT admins from a manual click-a-thon.</p>

<p>I still meet a lot of customers who are skeptical of Autopatch. What many people miss is that WUfB (Windows Update for Business) was merged into Autopatch a while back. If you spend a lot of time in the Intune admin console, you have probably noticed things moved around. That is mostly due to Autopatch maturing over the past few years.</p>

<p><img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/September2024-Autopatch-Unification.png?raw=true" alt="Announcement" title="September2024 WufB Unification" /></p>

<h2 id="getting-started-with-autopatch">Getting started with Autopatch</h2>

<p>To start configuring Autopatch, you need an Entra group for device onboarding. This can be static or dynamic. Also be sure to review the <a href="https://learn.microsoft.com/en-us/windows/deployment/windows-autopatch/prepare/windows-autopatch-prerequisites?source=recommendations">pre-reqs for Autopatch in the documentation.</a>
 Navigate to Tenant Administration &gt; Autopatch groups and click “Create” to start creating your autopatch group.
<img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/Autopatch-1.png?raw=true" alt="Autopatch" title="Getting started with autopatch" /></p>

<p>Give it a nice name and click Next.</p>
<blockquote class="notice--info">
  <p>The name you give your Autopatch group will be appended to all of the auto-generated policies and Entra groups.</p>
</blockquote>
<p><img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/Autopatch-2.png?raw=true" alt="Autopatch" title="Getting started with autopatch" /></p>

<p>Now for the important bits. First, add the Entra group that will onboard devices into your Autopatch setup. I recommend a dynamic group so you do not have to maintain it manually.</p>

<blockquote class="notice--warning">
  <p>I recommend against using cloud-synced groups from SCCM collections where possible. Try to work within the parameters of Entra dynamic groups to keep your setup simple. SCCM cloud sync makes things unnecessarily complicated and slow.</p>
</blockquote>

<p>Click “Add Deployment ring” for each ring you want. Five rings is a good starting point. Then adjust each ring percentage to control how many devices land in each ring. In my screenshot, the split is 5%, 15%, 20%, 30%, and 30%. That gives a balanced distribution in later rings while keeping enough volume early to catch noise sooner.</p>

<p>Once you are happy, click Next.</p>

<p><img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/Autopatch-3.png?raw=true" alt="Autopatch" title="Getting started with autopatch" /></p>

<blockquote class="notice--info">
  <p>The Test and Last rings are not populated automatically. An IT admin must populate them manually through the “Autopatch group membership” blade in Intune. The Test ring is commonly used by device team personnel to validate changes before Ring 1. Ring Last can be used for devices that need a longer deadline or grace period before reboot enforcement.</p>
</blockquote>

<p>In the update types section, I recommend disabling feature updates. If you enable them here, Autopatch creates a “feature update anchor policy.” That is an “Immediate Start” policy for the selected version, which can force immediate updates on devices that are not already up-to-date based on the version you specify in the autopatch policy. To control feature updates properly, use the Autopatch <a href="https://learn.microsoft.com/en-us/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-feature-update-overview#multi-phase-feature-update">multi-phase feature update rollout</a>.</p>

<p>Also, do not select Driver Updates if you are already managing driver updates with the OEM’s own solution, i.e., Dell Command | Update, HPIA, or Lenovo System Update.</p>

<blockquote class="notice--info">
  <p>If you do decide to enable driver updates, keep in mind that Deadline and Grace Periods also apply to driver updates released via Autopatch, and is shared jointly with the quality updates.</p>
</blockquote>

<p>Click Next again.</p>

<p><img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/Autopatch-4.png?raw=true" alt="Autopatch" title="Getting started with autopatch" /></p>

<p>In the next blade, you can choose which rings get Edge Beta and Edge Stable. Edge Beta for Ring Test is the default. Just be prepared for occasional browser weirdness, since you will receive features before the masses.</p>

<p>Click Next again.</p>

<p><img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/Autopatch-5.png?raw=true" alt="Autopatch" title="Getting started with autopatch" /></p>

<p>In the next section, you set timing for when quality updates are delivered to each ring. Before changing anything, make sure you understand these concepts:</p>

<table>
  <thead>
    <tr>
      <th>Setting</th>
      <th>What it controls</th>
      <th>Example</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>Client Deferrals</strong></td>
      <td>Number of days after a cumulative update release before it is offered to the device.</td>
      <td>Set to <code class="language-plaintext highlighter-rouge">10</code>: Autopatch waits 10 days before offering the update.</td>
    </tr>
    <tr>
      <td><strong>Deadline</strong></td>
      <td>Number of days before the update must be installed.</td>
      <td>Set to <code class="language-plaintext highlighter-rouge">3</code>: the device can wait up to 3 days before automatic install.</td>
    </tr>
    <tr>
      <td><strong>Grace</strong></td>
      <td>Minimum number of days after an update is installed and the device enters a pending-restart state before a restart is forced automatically. The countdown starts at pending restart, not at release — so a device that’s powered off (e.g. on vacation) only begins its grace countdown once it’s back online and the update has installed. Users receive increasingly prominent restart notifications during this window.</td>
      <td>Set to <code class="language-plaintext highlighter-rouge">3</code>: after the update installs and a restart is pending, the user has 3 days to reboot on their own terms before Windows forces it.</td>
    </tr>
  </tbody>
</table>

<p>Tuning these timers to your risk profile is extremely important. If you work in defense, security, or similar sectors, keep values as low as possible. Still leave enough room in later rings to absorb noise found early. Defaults are fine for many organizations, but if possible, lower deferral and raise grace. Many users reboot early anyway. That approach gives users flexibility while reducing exposure time. As always, there are trade-offs.</p>

<p>When you are done, click Next. Apply any scope tags if relevant, and then click Next and Finish.</p>

<h2 id="using-autopatch-rings-for-your-own-benefit">Using Autopatch rings for your own benefit</h2>

<p>Once set up, Autopatch starts registering devices from the Entra group you assigned. Almost immediately after creating the Autopatch group, you will see Entra groups for each ring.</p>

<p><img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/Autopatch-6.png?raw=true" alt="Autopatch" title="Getting started with autopatch" /></p>

<p>That is super valuable when you need to roll out a new policy, app, script, and so on. You can reuse those same rings for your own deployments.</p>

<blockquote class="notice--info">
  <p>If you create multiple Autopatch groups, they are consolidated under these groups: Modern Workplace Devices-Windows Autopatch-Test, Modern Workplace Devices-Windows Autopatch-First, Modern Workplace Devices-Windows Autopatch-Fast, and Modern Workplace Devices-Windows Autopatch-Broad. You can use these too, but the device split can be uneven between First and Fast.</p>
</blockquote>

<h2 id="manually-changing-devices-to-different-rings">Manually changing devices to different rings</h2>

<p>Once devices start registering, Autopatch will distribute them dynamically based on the percentages you configured. If you want to move specific devices, for example into Ring Test, Fast, or any other ring, go to Tenant Administration &gt; Autopatch Groups &gt; Autopatch Group Memberships.</p>

<p>Search for the device, select it, click “Assign ring,” and choose the ring you want it in.
<img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/Ring-1.png?raw=true" alt="Autopatch" title="Getting started with autopatch" />
<img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/Ring-2.png?raw=true" alt="Autopatch" title="Getting started with autopatch" /></p>

<p>The Autopatch Group Memberships blade is also where you can exclude devices from Autopatch. You can also review “Not registered” devices, which shows devices that failed registration. Common reasons include unmet prerequisites such as “Windows update workload not swung over” or “Devices must be managed by Intune or Co-mgmt.”</p>

<h2 id="the-end">The end</h2>

<p>Remember to also build a multi-phase feature update rollout for your target version. It is straightforward and works well in phases.</p>

<p><img src="/assets/images/2026-06-06-AbusingAutopatch-RingSystem/MultiPhase.png?raw=true" alt="Autopatch" title="Getting started with autopatch" /></p>

<blockquote class="notice--info">
  <p>Final word of advice: factor in delivery timing when testing policies, apps, or other major changes against Autopatch rings. After Autopilot enrollment, a device may take 10-30 minutes to register with Autopatch, depending on your environment. So if you are testing something that normally lands during ESP, targeting Autopatch rings will not fully test the new-device deployment scenario.</p>
</blockquote>

<p>That’s all for now. Hope you found it useful. Have an awesome day :)</p>]]></content><author><name>Mads Johansen</name></author><category term="Intune" /><category term="Autopatch" /><category term="Windows Autopatch" /><category term="Windows Patching" /><category term="Staggered rollout" /><category term="ring rollout" /><summary type="html"><![CDATA[Here is one of those consultant secrets: when we make changes, we do not YOLO-roll out an app, policy, or script to every device at once. We also do not want a static Entra group manually maintained by one person, where half the devices are stale anyway. When Autopatch launched, I quickly noticed its ring system. You can create multiple rings and let Autopatch distribute devices dynamically based on percentages you define as IT admin.]]></summary></entry><entry><title type="html">The YellowKey debacle</title><link href="https://evil365.com/intune/Yellowkey-Debacle/" rel="alternate" type="text/html" title="The YellowKey debacle" /><published>2026-05-29T00:00:00+00:00</published><updated>2026-05-29T00:00:00+00:00</updated><id>https://evil365.com/intune/Yellowkey-Debacle</id><content type="html" xml:base="https://evil365.com/intune/Yellowkey-Debacle/"><![CDATA[<p><strong>UPDATE 22nd of June 2026: The yellowkey vulnerability has been resolved in the June 2026 patch. The remediation shared in this blog post is no longer needed. <a href="https://www.bleepingcomputer.com/news/microsoft/microsoft-patches-yellowkey-greenplasma-miniplasma-zero-days/">Source</a></strong></p>

<p>It’s been almost 2 months since the individual known as “Nightmare-Eclipse” (aka “Chaotic Eclipse”) released 6 zero-day exploits, and I’ve been closely monitoring the debacle as it unfolds. On one side you have a disgruntled security researcher who firmly believes Microsoft has wronged him, and on the other you have Microsoft taking a no-BS approach, saying normal protocol wasn’t followed and that making the source code for all of these exploits publicly available was ruthless and irresponsible. They even went so far as to ban the GitHub repo where all of the source code was initially hosted.</p>

<p>You can read more about the details <a href="https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge">here</a> - the events are still unfolding, and I don’t think we’ve seen the last of it yet. Microsoft released a blog post 2 days ago (as of today’s date) in which they clearly distance themselves from the kerfuffle, and according to them the security researcher is 100% to blame. You can read Microsoft’s response <a href="https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure">here</a>.</p>

<p>Be that as it may, what about the BitLocker exploit dubbed “Yellowkey”?</p>

<h2 id="what-is-the-yellowkey-exploit">What is the YellowKey exploit</h2>

<p>The YellowKey exploit is a BitLocker bypass attack that allows an attacker with physical access to a device to gain access to the data on a hard drive, even though it’s encrypted with BitLocker. Mechanically, it involves placing specially crafted ‘FsTx’ files on a USB drive or EFI partition, rebooting into WinRE, and triggering a shell by holding down the CTRL key. It bypasses TPM-only BitLocker in particular, and the critical constraint is physical access — it cannot be abused remotely.</p>

<p>So it’s not great — in fact, I’d go so far as to say it’s pretty bad. One of the main features of BitLocker is data-theft protection in case a device gets stolen.</p>

<p>It’s worth noting that this vulnerability only affects Windows 11 24H2 and higher. It does not affect earlier versions of Windows 11 or Windows 10 — Windows 10 is in the clear due to differences in how it configures WinRE.</p>

<p class="notice--warning"><strong>Don’t forget your servers:</strong> the client side isn’t the whole story. Microsoft’s <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45585">MSRC advisory</a> lists the canonical affected products as Windows 11 24H2, 25H2 and 26H1 (x64), <strong>plus Windows Server 2025, including Server Core</strong>. Windows Server 2022 was thrown around as affected when the PoC first dropped, but it’s not in Microsoft’s official scope, so treat that as unconfirmed.</p>

<p>So what can we do about it?</p>

<h2 id="mitigation-using-intune">Mitigation using Intune</h2>

<p>Microsoft has released a PowerShell script as an interim fix that mitigates the attack until an official patch is released through normal channels. You can find it in their security update report for this incident <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45585">here</a>. The fix is relatively simple: mount the WinRE partition and remove the Autofstx.exe executable.</p>

<p>The PowerShell script can be deployed through Intune as a platform script, but there is no detection or logging mechanism, so if it fails you won’t know why. I recommend heading over to James Vincent’s blog post about this and grabbing his remediation scripts instead. You can find his blog post <a href="https://jamesvincent.co.uk/2026/05/21/mitigate-yellowkey-exploit-cve-2026-45585-using-intune/">here</a>.</p>

<p>Download both the <a href="https://github.com/jamesvincent/Intune/blob/main/CVE-2026-45585/Detect-CVE-2026-45585.ps1">detection</a> and the <a href="https://github.com/jamesvincent/Intune/blob/main/CVE-2026-45585/Remediate-CVE-2026-45585.ps1">remediation</a> script.
<img src="/assets/images/2026-05-26-Yellowkey-Debacle/Github-Scripts.png?raw=true" alt="Scripts" title="Github Scripts" /></p>

<p class="notice--info"><strong>Logging:</strong> Both the detection and remediation scripts log to the IntuneManagementExtension folder under <code class="language-plaintext highlighter-rouge">C:\ProgramData\Microsoft\IntuneManagementExtension\Logs</code>, so you’ll have something to check if a run fails.</p>

<p>Once downloaded, I also recommend you create a new device filter in Intune so you can target devices running Windows 11 24H2 or Windows 11 25H2. In Intune, navigate to Devices &gt; Assignment Filters and create a new filter. Set the property to “osVersion”, the operator to “starts with”, and the value to “10.0.26100”, then add an “or” rule with a second “osVersion” / “starts with” / “10.0.26200”. It should end up looking like this: <code class="language-plaintext highlighter-rouge">(device.osVersion -startsWith "10.0.26100") or (device.osVersion -startsWith "10.0.26200")</code>
<img src="/assets/images/2026-05-26-Yellowkey-Debacle/DeviceFilterExample.png?raw=true" alt="Scripts" title="Device Filter" /></p>

<p>Now head over to Intune &gt; Scripts and Remediations and click “Create”. Give it a nice name, e.g. “YellowKey mitigation”. Then add both the detection and the remediation script. Make sure to set “Run script in 64-bit PowerShell” to “Yes”. Click Next, apply scope tags if required, then hit Next again. Now for the important bit: I recommend you assign it to a few devices to test first, before starting the broad rollout. If you are already using Autopatch, you will already have these rings — just search for “Autopatch” and you should find the corresponding Autopatch Entra groups matching your rings.
<img src="/assets/images/2026-05-26-Yellowkey-Debacle/Remediation-1.png?raw=true" alt="Scripts" title="Remediation" /></p>

<p>Adjust the “Schedule” so it only runs every 7 days or similar. There is no reason to have it run daily. Then make sure to apply the Windows 11 24H2 or higher filter you created earlier.
<img src="/assets/images/2026-05-26-Yellowkey-Debacle/Remediation-2.png?raw=true" alt="Scripts" title="Remediation" /></p>

<p>You are now ready to start deploying to a test and an early ring. Once you are happy with the results, you can gradually continue the rollout by adding your remaining rings. Alternatively, if you don’t really care about testing and just want to deploy the mitigation to everyone immediately, you can deploy to “All Devices” with the Windows 11 24H2 or higher filter.</p>

<h2 id="thats-it-for-now">That’s it for now</h2>

<p>I hope you found it useful.</p>

<p class="notice--warning"><strong>Remember:</strong> only deploy to Windows 11 24H2 or higher (and Server 2025), or you’ll most likely see an error when trying to remediate, such as <code class="language-plaintext highlighter-rouge">REAGENTC.EXE: Operation failed: c142011c</code> / <code class="language-plaintext highlighter-rouge">REAGENTC.EXE: An error has occurred.</code></p>

<p>I’ve used this approach at two customers already with great results. We got a few errors in the beginning because we forgot to add the device filter, so Windows 10 and earlier versions of Windows 11 devices were targeted as well.
<img src="/assets/images/2026-05-26-Yellowkey-Debacle/Remediation-Results.png?raw=true" alt="Scripts" title="Remediation" /></p>

<p>Have an awesome day ahead :)</p>]]></content><author><name>Mads Johansen</name></author><category term="Intune" /><category term="YellowKey mitigation" /><category term="YellowKey vulnerability" /><category term="BitLocker vulnerability" /><category term="Remediation" /><summary type="html"><![CDATA[UPDATE 22nd of June 2026: The yellowkey vulnerability has been resolved in the June 2026 patch. The remediation shared in this blog post is no longer needed. Source]]></summary></entry><entry><title type="html">Multi-Admin Approval in Intune: What It Does (and Doesn’t) Protect Against</title><link href="https://evil365.com/intune/MultiAdmin-Approval/" rel="alternate" type="text/html" title="Multi-Admin Approval in Intune: What It Does (and Doesn’t) Protect Against" /><published>2026-04-07T00:00:00+00:00</published><updated>2026-04-07T00:00:00+00:00</updated><id>https://evil365.com/intune/MultiAdmin-Approval</id><content type="html" xml:base="https://evil365.com/intune/MultiAdmin-Approval/"><![CDATA[<p>Recently there was a major hack: the Stryker incident. You can read more about it <a href="https://www.stryker.com/us/en/about/news/2026/a-message-to-our-customers-03-2026.html">here</a>.</p>

<p>The TL;DR version:</p>

<ul>
  <li>Mass-wipe commands were sent using Microsoft Intune to all Windows-based devices</li>
  <li>Servers were also impacted - But not using Intune</li>
  <li>In total, around 200,000 devices, including servers, laptops, desktops and mobile devices were affected</li>
</ul>

<p>A compromised admin account (presumably a Global Admin, but we don’t know yet) was the culprit. Over the past several years, there’s been a strong push for reducing the amount of Global Admins, Conditional access policies and phish-resistant MFA for these accounts. Hell, phish-resistant MFA should be implemented for everyone, but Global Admins should definitely be the first in line.</p>

<p>One thing I noticed during the week the incident unfolded, was a seemingly knee-jerk reaction to enable MAA because that would prevent incidents like these. But would it? Let’s find out.</p>

<h2 id="multi-admin-approval-overview">Multi-Admin Approval overview</h2>

<p>Multi-Admin Approval (MAA) is a relatively new feature from Microsoft Intune that adds an extra approval layer for high-impact actions such as Device Wipe and Device Delete. Microsoft is also adding more device actions and policy types, for now it supports a few different policy types, such as modifying applications, running scripts or modifying a role. But the majority will probably look at enabling MAA for the following device actions: <strong>Delete</strong>, <strong>Retire</strong> and <strong>Wipe</strong></p>

<p>When you create any of these MAA policy types, it is a <strong>tenant-wide policy</strong>. Scope tags are not supported, and scoping a MAA-Policy only to certain devices or users is also not supported for now. When you create the MAA policy, you will need to assign an EntraID Group of who can approve requests and then it will need to be approved by another admin before the policy actually is in effect. Note that even Global Admins cannot approve their own MAA requests.
Once the request is approved by another admin, you will have to navigate back to the MAA Pane in Intune and finally click “Complete request”. The approach is the same for the other MAA actions, let’s break it down.</p>

<p><img src="/assets/images/2026-04-07-MAA/CreateNewPolicy-1.png?raw=true" alt="MAAPolicy" title="MAAPolicy Creation" />
<img src="/assets/images/2026-04-07-MAA/CreateNewPolicy-2.png?raw=true" alt="MAAPolicy" title="MAAPolicy Creation" />
<img src="/assets/images/2026-04-07-MAA/CreateNewPolicy-3.png?raw=true" alt="MAAPolicy" title="MAAPolicy Creation" />
<img src="/assets/images/2026-04-07-MAA/CreateNewPolicy-4.png?raw=true" alt="MAAPolicy" title="MAAPolicy Creation" /></p>

<h3 id="how-it-works-in-practice">How it works in practice</h3>

<p>Let’s run through a scenario where an admin wants to delete a device. In this example we will have 2 admins. <strong>Admin 1 is Bob</strong> and <strong>Admin 2 is Rachel</strong>.</p>

<ol>
  <li>Bob initiates a device wipe towards a device from Intune. Since there is an MAA-Policy deployed, it will need to be approved by a 2nd admin, and Bob will need to provide a justification included in the request.</li>
  <li>Rachel approves the request from the MAA Requests pane in Intune. Rachel also needs to provide an approval reason.</li>
  <li>Bob then has to go to the same Multi-Admin Approval pane, click his request, and finally hit the “Complete request” button to actually initiate that wipe. Bob will have to do this within 3 days after the approval was given, otherwise it will expire.</li>
</ol>

<p>If the action expires before clicking “complete request”, Bob will have to initiate a new wipe request and get it approved again.</p>

<p>It’s important to underline that the action doesn’t automatically complete once it’s approved, the requesting admin will have to go to click that “Complete request” button to finalize the action, so essentially a 3-step process. There is also no built-in notification system, so admins are not currently notified in any way when an approval request is sent to the portal or when a request is approved. It is possible to create your own notification tooling, e.g., Power Automate or an Azure Logic App to send notifications via email or to a Teams channel.</p>

<blockquote>
  <p>NOTE: Based on learnings from the field, I’ve found it can take between 15-30 minutes for MAA to actually process the request. Example: If you press “complete request” to delete or wipe a device, it doesn’t immediately process.</p>
</blockquote>

<h2 id="what-it-protects-against">What it protects against</h2>

<p>I want to be clear: this does NOT protect against a compromised Global Administrator (GA) account. In various posts I found on LinkedIn and Reddit, it was frequently misconstrued that by simply implementing MAA, you were protected against these mass-wipe attacks, but this is not the case if the compromised account is a GA. When you obtain GA you have full administrative rights in the tenant. The GA will be able to simply delete the MAA policy or create separate admin accounts to approve their own MAA requests. Alternatively, an overprivileged app registration can also tamper with these settings, which is an additional blind spot that many companies are unaware of.</p>

<p>However, and to be clear, MAA does protect against the following:</p>

<ul>
  <li>Accidental device wipe/deletion</li>
  <li>The disgruntled employee scenario: On their last day at work, the individual could initiate mass-wipes before heading out the door.</li>
  <li>Singular compromised Intune Administrator or similar (Think Custom RBAC Roles in Intune)</li>
</ul>

<h2 id="a-few-gotchas">A few gotchas</h2>

<ol>
  <li>MAA does not protect against a Compromised GA Account</li>
  <li>If you are using 3rd party or custom-written tools to process intune device deletions or wipes, they will most likely stop working after implementing an MAA policy, e.g., a custom-written PowerShell script or tools like IntuneOffboarding.</li>
  <li>When deleting devices using a script, you need to put a justification for the deletion request in the header when using Remove-MgDeviceManagementManagedDevice or use one of the new Graph cmdlets for managing approval requests (<a href="https://learn.microsoft.com/en-us/graph/api/intune-rbac-operationapprovalrequest-create?view=graph-rest-beta">source</a>). I also found a new tool from a fella named Mark Orr who wrote a PowerShell module for handling all aspects of MAA, you should check it out <a href="https://intune-maa.orr365.tech/">here</a></li>
  <li>Before implementing MAA, I would strongly recommend reviewing your processes for using actions like wipe and delete. They tie heavily into the device lifecycle process. It can heavily impact the daily operations in an IT ServiceDesk or an IT team that is managing devices in a multi-region company.</li>
  <li>Currently there is no option to assign an MAA Policy to a given set of devices or limit to specific scope tags or groups, it’s an all or nothing switch. If you decide to enable MAA in your tenant, be sure to communicate to all stakeholders in advance.</li>
  <li>Processing an action like Delete or Wipe is not immediate - Be patient :)</li>
  <li>If using Custom-RBAC Roles with Groups via PIM, sometimes the MAA pane doesn’t show all devices/requests - This can confuse support personnel. As a rule of thumb, wait 15 minutes after activating the group-based PIM role, and then reopen the Intune tab, to avoid this problem.</li>
</ol>

<h2 id="rounding-off">Rounding off</h2>

<p>There are definitely pros and cons for using MAA, and it needs to be well thought out before just blindly enabling it, since it can heavily affect your device lifecycle process, whilst there is also no option to scope an MAA Policy to just a group of test devices or test users, so it’s an all or nothing switch. MAA in its current shape and form, as of this date, is extremely rigid. It’s still very early days, and I’m sure Microsoft will give it some love over the coming months.</p>

<p>That’s all for now, I hope you found it useful. :)</p>]]></content><author><name>Mads Johansen</name></author><category term="Intune" /><category term="Intune" /><category term="Security" /><category term="Security Best Practices" /><category term="Process" /><category term="MAA" /><category term="Multi Admin Approval" /><summary type="html"><![CDATA[Recently there was a major hack: the Stryker incident. You can read more about it here.]]></summary></entry><entry><title type="html">Windows Locked Down, macOS Wide Open: A Security Leadership Problem</title><link href="https://evil365.com/security/macOS-Windows-Security/" rel="alternate" type="text/html" title="Windows Locked Down, macOS Wide Open: A Security Leadership Problem" /><published>2026-03-13T00:00:00+00:00</published><updated>2026-03-13T00:00:00+00:00</updated><id>https://evil365.com/security/macOS-Windows-Security</id><content type="html" xml:base="https://evil365.com/security/macOS-Windows-Security/"><![CDATA[<p>I’ve had many conversations with developers, IT administrators, and decision makers at large organizations about security on Windows and macOS devices—especially how security controls affect developer experience and local administrator access.</p>

<p>What I hear consistently across customers and enterprises is not surprising: more new hires—especially developers—are choosing macOS over Windows when they start a job.</p>

<h2 id="why-developers-prefer-macos">Why developers prefer macOS</h2>

<p>Common feedback from developers is straightforward: “macOS is easier and faster. Everything just works and I can do what I need without restrictions.” That perception is driving platform choice for many technical hires.</p>

<p>Many organizations apply heavy security controls on Windows devices, which can push employees toward macOS. At the same time, those same organizations often apply far fewer controls to macOS devices. This creates an uneven security posture across the estate.</p>

<p>I see a few root causes:</p>

<ul>
  <li><strong>Tooling gaps:</strong> IT teams often lack out-of-the-box tools to manage features such as application control and local administrator rights for both platforms. Third-party solutions are frequently required.</li>
  <li><strong>Process shortcomings:</strong> exemption and approval workflows are often slow or poorly defined, which encourages workarounds</li>
  <li><strong>Knowledge gap:</strong> Many IT admins in Windows-first organizations have limited macOS experience. When macOS is introduced as a platform option, training is often missing, and admins are expected to manage it like Windows. Teams need to build basic macOS skills before they can run advanced security controls.</li>
  <li><strong>Leadership awareness:</strong> Decision makers needs to be aware of all of the above, when introducing macOS as a platform choice into their estate.</li>
</ul>

<h2 id="a-real-world-example">A real-world example</h2>

<p>One of my good friends whose also a developer, switched jobs, and joined a large bank in Denmark recently. He was given a Windows device with no administrator rights. While that policy aligns with security best practices, it created productivity friction: requests for temporary admin access took three to four weeks to process.</p>

<p>The workaround? The team provided a Mac mini with root privileges, that could be accessed remotely, where he could do his “actual” work, while outlook/teams was to be used on his Windows laptop. He could do everything he wanted on the mac mini, since he had root access, while still being able to access the same network and files as on the Windows device, effectively bypassing the controlled Windows environment. In the end, he just chose a macOS Laptop as his main working device, where he also have root access.</p>

<h2 id="recommendations">Recommendations</h2>

<p>To address this imbalance, organizations should consider:</p>

<ul>
  <li>Raising knowledge and awareness of macOS management+security in the IT team managing devices</li>
  <li>Streamline the developer onboarding experience for Windows, so it’s similar to macOS</li>
  <li>Be realistic about things like Security Baselines and CIS Baselines for Windows: User productivity and Security needs to be balanced.</li>
  <li>Consider acquiring a cross-platform PAM Solution for Endpoints that works both for macOS and Windows for managing local administrator/root access.</li>
</ul>

<h2 id="conclusion">Conclusion</h2>

<p>The tension between developer productivity and enterprise security on windows is real. Rather than letting platform preference drive shadow IT, organizations should close the management gap between Windows and macOS—so that developers can be productive without creating unmanaged security risks.</p>

<p>macOS is definitely here to stay in the enterprise world, and adoption is growing rapidly as time progresses. When examining the hardware alone, specifically looking at the new macOS M5 chips, they have a major advantage over Windows-based offerings currently in the same space. ARM for Windows is slowly becoming a thing, but as of this date, Qualcomms chips is already falling behind from a performance perspective when compared to Apple. And we did not even cover the whole ARM-application and driver perspective for Windows yet, which is a huge problem for many orgs that prevents wide adoption</p>

<p>That’s all for now, have an awesome day :)</p>]]></content><author><name>Mads Johansen</name></author><category term="Security" /><category term="macOS" /><category term="Windows" /><category term="Endpoint Management" /><category term="Security Best Practices" /><category term="Process" /><summary type="html"><![CDATA[I’ve had many conversations with developers, IT administrators, and decision makers at large organizations about security on Windows and macOS devices—especially how security controls affect developer experience and local administrator access.]]></summary></entry><entry><title type="html">EPM and MSI Shenanigans</title><link href="https://evil365.com/epm/EPMandMSI-Shenanigans/" rel="alternate" type="text/html" title="EPM and MSI Shenanigans" /><published>2026-02-27T00:00:00+00:00</published><updated>2026-02-27T00:00:00+00:00</updated><id>https://evil365.com/epm/EPMandMSI-Shenanigans</id><content type="html" xml:base="https://evil365.com/epm/EPMandMSI-Shenanigans/"><![CDATA[<p>I recently faced an issue at one of my customers where a smaller amount of users reported they had no free disk space, even though they barely had any apps installed or documents stored locally.</p>

<p>If you have been using Microsoft EPM for a while, then spoiler alert: You might also be (unknowingly) affected by this problem.</p>

<p><img src="/assets/images/2026-02-27-EPMandMSI-Shenanigans/Thumbnail.png?raw=true" alt="Thumbnail" title="Thumbnail" /></p>

<h2 id="locating-the-problem">Locating the problem</h2>

<p>I jumped on a users device, where the disk space had mysterially disappeared, and a first glance I couldn’t find out where the disk space had disapeared off to, so I had to fire up treesize to see what was going on.</p>

<p><img src="/assets/images/2026-02-27-EPMandMSI-Shenanigans/Treesize.png?raw=true" alt="Treesize" title="Treesize overview" /></p>

<p>Looks like the following path was stuffed with MSI Files - More specifically 319GB of MSI Files: <code class="language-plaintext highlighter-rouge">C:\Windows\System32\Config\systemprofile\AppData\Local\MDM</code></p>

<p><img src="/assets/images/2026-02-27-EPMandMSI-Shenanigans/MSIFile.png?raw=true" alt="MSI" title="EPM MSI Files" /></p>

<p>After examining a few of the MSI Files, it was clear that it’s an EPM MSI. Examining EPM logs on the device showed that it was stuck in an update loop. It kept failing with error 1603 (Fatal error.) It seems EPM, or more specifically, the CSP/Provider that EPM uses to update the EPM Agent, is not cleaning up after itself. There might also be an underlying issue causing the MSI to fail with 1603, but nevertheless, it should know how to clean up after itself when things go wrong, to avoid this scenario.</p>

<p>I also wanted to check if more users had this problem, so I wrote a remediation / detection script only, to check if that MDM Folder was above 1GB, and if it was, it would return with issue. I also made sure that it would print the total disk space of the folder to the Intune console, to see how bad it really was, and boy it found some really bad ones. In the worst cases there was over 300GB of EPM MSI Files stuck in that folder. Luckily, the issue had only seem to hit a small percentage of their devices so far. But these types of issues can easily snowball very fast, and will impact end-users productivity.</p>

<p><img src="/assets/images/2026-02-27-EPMandMSI-Shenanigans/DiskSpace-remediation-output.png?raw=true" alt="Diskspace" title="Diskspace output" /></p>

<h2 id="the-fix">The fix</h2>

<p>I’ve already engaged the EPM team at Microsoft, and they are looking into the problem. But while we are waiting for a permanent fix, I’ve written a remediation to clean up the folder. It’s a very simple detection script that simply checks the size of the folder, and if it’s above 1GB in size, it will proceed to remediation, where the remediation script cleans up all the files if the folder.</p>

<p>You can find the scripts <a href="https://github.com/thisisevilevil/IntunePublic/tree/main/Remediations/Fix%20high%20diskspace%20consumption%20in%20MDM%20Folder">here</a>.</p>

<p>You actually also re-use this script and point it to any other folder i.e: temp folders etc. and have them clean it up if it gets above a certain size. In the detection script, adjust the folder variable and also decide how much the threshold (in GB) should be, before it proceeds to clean up the folder. Then in the remediation script, also make sure to adjust that folder accordingly.</p>

<h2 id="the-end">The end</h2>

<p>I’m sure this bug will be fixed in due time by Microsoft, and luckily it doesn’t seem like the issue is that widespread, otherwise I’m sure a lot more would have come forward by now.</p>

<p>That’s all for now folks. Have an awesome day! :)</p>]]></content><author><name>Mads Johansen</name></author><category term="EPM" /><category term="Microsoft Intune" /><category term="Endpoint Management" /><category term="Microsoft EPM" /><category term="Disk space management" /><summary type="html"><![CDATA[I recently faced an issue at one of my customers where a smaller amount of users reported they had no free disk space, even though they barely had any apps installed or documents stored locally.]]></summary></entry><entry><title type="html">When Removing VBScript Breaks Your AMD Chipset Driver</title><link href="https://evil365.com/vbscript/VBScript-Deprecation/" rel="alternate" type="text/html" title="When Removing VBScript Breaks Your AMD Chipset Driver" /><published>2026-02-03T00:00:00+00:00</published><updated>2026-02-03T00:00:00+00:00</updated><id>https://evil365.com/vbscript/VBScript-Deprecation</id><content type="html" xml:base="https://evil365.com/vbscript/VBScript-Deprecation/"><![CDATA[<p>I recently noticed that my <strong>AMD X870 chipset drivers</strong> had been stuck “installing” via AMDs auto-updater for <em>weeks</em>—yet never actually finishing.</p>

<p>After ignoring it long enough, I finally decided to troubleshoot it. Those drivers <em>had</em> to be updated.</p>

<p>So I manually downloaded the installer and launched it… only to be greeted with this:</p>

<blockquote>
  <p><strong>“This installer is intended to be deployed only on an AMD system. Existing installation as the requirement is not satisfied.”</strong></p>
</blockquote>

<p><img src="/assets/images/2026-03-02-VBScript-Deprecation/AMDChipset-Error.png?raw=true" alt="Error" title="Error" /></p>

<p>Unless someone broke into my house and secretly replaced my motherboard and CPU with Intel hardware, something was clearly wrong.</p>

<h2 id="following-the-trail-with-process-monitor">Following the Trail with Process Monitor</h2>

<p>I fired up <strong>Process Monitor</strong> to see what the installer was doing behind the scenes.<br />
Almost immediately, I spotted repeated attempts to launch: <code class="language-plaintext highlighter-rouge">C:\Windows\SYSWOW64\cscript.exe</code>
<img src="/assets/images/2026-03-02-VBScript-Deprecation/ProcessMonitor.png?raw=true" alt="Error" title="Process Monitor" /></p>

<p>This can only mean 1 thing: <strong>VBScript.</strong></p>

<h2 id="the-root-cause">The Root Cause</h2>

<p>Three months ago, I had removed VBScript support from my device.<br />
At the time, it seemed harmless—another legacy component retired.</p>

<p>It turns out AMD’s chipset installer still uses <strong>VBScript-based requirement checks</strong>.<br />
With VBScript removed, those checks fail silently, and the installer incorrectly assumes the system is <em>not</em> an AMD platform.</p>

<p>In short: <strong>No VBScript → broken detection logic → false hardware error.</strong></p>

<h2 id="why-this-is-a-bigger-problem">Why This Is a Bigger Problem</h2>

<p>VBScript is living on borrowed time.</p>

<p>Microsoft has officially announced that:</p>

<ul>
  <li><strong>VBScript will be deprecated in 2027 - FoD will be disabled by default</strong></li>
  <li>It will later be <strong>fully removed from Windows</strong></li>
</ul>

<p>That means every installer, automation script, and macro that still depends on it, is a future outage waiting to happen.</p>

<p>If you believe no one in your organization relies on VBScript anymore, I dare you to try running this on a test device:</p>

<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">DISM</span><span class="w"> </span><span class="nx">/Online</span><span class="w"> </span><span class="nx">/Remove-Capability</span><span class="w"> </span><span class="nx">/CapabilityName:VBSCRIPT~~~~</span><span class="w">
</span></code></pre></div></div>

<p>1 thing is almost certain: Decades worth of Excel macros will break, and will need to be re-written in Javascript, PowerShell or another language. But if you haven’t started already, it’s time to start communicating widely to your organization that this change is happening, so everyone can prepare accordingly.</p>

<h2 id="the-takeaway">The Takeaway</h2>

<p>VBScript was released almost 30 years ago.
Yet in 2026, it’s still being utilized by application packagers, drivers, excel macros etc.</p>

<p>If your packaging, deployment, or automation workflows still depend on VBScript, now is the time to audit and modernize them—before the platform removes it for you.</p>

<p>See this article from Microsoft regarding VBScript deprecation timelines and next steps: <a href="https://techcommunity.microsoft.com/blog/windows-itpro-blog/vbscript-deprecation-timelines-and-next-steps/4148301">https://techcommunity.microsoft.com/blog/windows-itpro-blog/vbscript-deprecation-timelines-and-next-steps/4148301</a></p>]]></content><author><name>Mads Johansen</name></author><category term="VBScript" /><category term="VBScript Deprecation" /><category term="VBScript out of support" /><summary type="html"><![CDATA[I recently noticed that my AMD X870 chipset drivers had been stuck “installing” via AMDs auto-updater for weeks—yet never actually finishing.]]></summary></entry><entry><title type="html">Use Intune and Company Portal to Install Windows OS Patches</title><link href="https://evil365.com/intune/Intune-CompanyPortal-OSPatches/" rel="alternate" type="text/html" title="Use Intune and Company Portal to Install Windows OS Patches" /><published>2026-01-22T00:00:00+00:00</published><updated>2026-01-22T00:00:00+00:00</updated><id>https://evil365.com/intune/Intune-CompanyPortal-OSPatches</id><content type="html" xml:base="https://evil365.com/intune/Intune-CompanyPortal-OSPatches/"><![CDATA[<p>This suddenly came up out of the blue: installing or offering Windows updates manually via Intune and the Company Portal.</p>

<p>I’ve previously done this for customers to patch stubborn devices—for example, when Windows Update is broken or misbehaving. In those scenarios, having a Windows update available through Company Portal can be very useful for troubleshooting purposes.</p>

<p>In this case, however, this blog post was prompted by the <strong>January 2026-01 Out-of-Band (OOB) patch</strong> released for Windows 11 by Microsoft. Microsoft decided <strong>not</strong> to release this update through the normal Windows Update channels, meaning it is not offered via <strong>Windows Update for Business (WUfB)</strong>. This OOB patch contains fixes that may significantly impact users—or even you as an IT admin.</p>

<blockquote>
  <p>Update 24th of January 2026: The OOB Patch has now been added so you can expedite it via Intune - No reasons to manually package it, but at least now you know how to manually add a patch to company portal :)</p>
</blockquote>

<p><img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/Thumbnail.png?raw=true" alt="Thumbnail" title="Thumbnail" /></p>

<h2 id="whats-in-the-january-2026-01-oob-patch">What’s in the January 2026-01 OOB patch?</h2>

<p>For <strong>Windows 11 23H2</strong>, the January 2026-01 OOB patch<br />
(<a href="https://support.microsoft.com/en-us/topic/january-17-2026-kb5077797-os-build-22631-6494-out-of-band-3fb07d6a-0e35-4510-8518-4e333ed78edc">KB5077797</a>)<br />
contains the following fixes:</p>

<ol>
  <li>
    <p><strong>[Remote Desktop] Fixed:</strong><br />
Some users experienced sign-in failures during Remote Desktop connections. This issue affected authentication steps for different Remote Desktop applications on Windows, such as the Windows App.</p>
  </li>
  <li>
    <p><strong>[Power &amp; Battery] Fixed:</strong><br />
Some devices with Secure Launch enabled restarted instead of shutting down or entering hibernation.</p>
  </li>
</ol>

<p>For <strong>Windows 11 24H2 and 25H2</strong>, only the <strong>Remote Desktop issue</strong> appears to be relevant; the shutdown issue does not apply. If your users suddenly experience generic authentication errors when connecting to <strong>AVD</strong> or <strong>Windows 365</strong>, there’s a good chance this January 2026-01 update is the cause.</p>

<h2 id="how-do-we-offer-this-patch-via-intune">How do we offer this patch via Intune?</h2>

<p>Short answer: <strong>not via WUfB</strong>.<br />
We need to package and deploy it manually 🙂</p>

<p>This is because Microsoft did not release it via WufB, only via Microsoft Update catalog.</p>

<p><img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/WufBPatch-Catalog-NotOffered.png?raw=true" alt="WindowsCatalog" title="Microsoft Update Catalog Only" /></p>

<h2 id="packaging-and-offering-the-update-in-company-portal">Packaging and offering the update in Company Portal</h2>

<p>It is technically possible to wrap updates for Windows 11 <strong>23H2, 24H2, and 25H2</strong> into a single package. However, I don’t recommend this due to the size of the updates.</p>

<p>Instead, we’ll create <strong>one Win32 app per Windows 11 version</strong>, where applicable. We’ll use <strong>requirement rules</strong> to ensure the update is only offered to relevant devices. Using a Win32 app also ensures we can take advantage of<br />
<a href="https://learn.microsoft.com/en-us/windows/deployment/do/waas-delivery-optimization">Delivery Optimization</a>, provided it’s setup and correctly configured of course.</p>

<p>In the example below, we’ll download the update for <strong>Windows 11 23H2</strong>, create a PowerShell script to install it, package it, and make it available in Company Portal for our end-users.</p>

<hr />

<h2 id="step-by-step">Step-by-step</h2>

<ol>
  <li>
    <p>Go to the <a href="https://www.catalog.update.microsoft.com/">Microsoft Update Catalog</a> and search for the KB number of the patch you want.</p>
  </li>
  <li>
    <p>Click <strong>Download</strong> and download all relevant files for the update. In the below example we are going with the January 2026-01 OOB Patch for Windows 11 23H2 x64</p>

    <p><img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/WufB-Catalog-Download-1.png?raw=true" alt="WindowsCatalog" title="Microsoft Update Catalog Download Windows update" /></p>
  </li>
  <li>
    <p>Create a PowerShell script to install the update and add the following line (Remember to adjust the name of the .msu file):</p>

    <div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Add-WindowsPackage</span><span class="w"> </span><span class="nt">-Online</span><span class="w"> </span><span class="nt">-PackagePath</span><span class="w"> </span><span class="s2">"</span><span class="nv">$PsScriptRoot</span><span class="s2">\windows11.0-kb5077797-x64_af2b9a9ab390d2081e3e4eb52a2f8b81b5be1d7f.msu"</span><span class="w">
</span></code></pre></div>    </div>
  </li>
  <li>
    <p>Wrap the files using the<br />
<a href="https://learn.microsoft.com/en-us/intune/intune-service/apps/apps-win32-prepare#convert-the-win32-app-content">Intune Content Prep Tool</a><br />
and generate an <code class="language-plaintext highlighter-rouge">.intunewin</code> file.</p>
  </li>
  <li>
    <p>Upload the <code class="language-plaintext highlighter-rouge">.intunewin</code> file to Intune as a <strong>Win32 app</strong> and give it a clear, descriptive name.<br />
In this example, we’re offering the <strong>Windows 11 23H2 January 2026-01 OOB update</strong> to Windows 11 23H2 devices.</p>
  </li>
</ol>

<hr />

<h2 id="win32-app-configuration">Win32 app configuration</h2>

<h3 id="install-and-uninstall-command">Install and uninstall command</h3>

<p><strong>Install command</strong></p>
<pre><code class="language-PowerShell">PowerShell.exe -ExecutionPolicy Bypass -NoProfile -File Install-WindowsUpdate-23H2_2026-01-OOB.ps1
</code></pre>

<p><strong>Uninstall command</strong></p>
<pre><code class="language-PowerShell">dism /online /remove-package /PackageName:Package_for_RollupFix~31bf3856ad364e35~amd64~~22631.6494.1.2
</code></pre>

<p>It’s otherwise always nice with a logo :) You can find a nice Microsoft logo or you can use the one I’ve stored <a id="raw-url" href="https://raw.githubusercontent.com/thisisevilevil/evilevil365/master/assets/Windows11Logo.png">here</a></p>

<blockquote>
  <p><strong>Note:</strong><br />
To find the correct uninstall package name for a specific update, use the following PowerShell command to list installed updates:</p>

  <div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Get-WindowsPackage</span><span class="w"> </span><span class="nt">-Online</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Where</span><span class="w"> </span><span class="p">{</span><span class="bp">$_</span><span class="o">.</span><span class="nf">PackageName</span><span class="w"> </span><span class="o">-like</span><span class="w"> </span><span class="s1">'*RollupFix*'</span><span class="p">}</span><span class="w">
</span></code></pre></div>  </div>
</blockquote>

<h2 id="requirement-rule">Requirement rule</h2>

<p>Use a <strong>registry requirement rule</strong> to ensure the app is only offered to relevant devices. You can also optionally add a disk space check (2000mb) before offering the update. This will make it easier for debugging purposes, in case of disk space issues, as it will clearly be listed in the intune portal if the disk space check has not passed.</p>

<p><strong>Rule configuration:</strong></p>

<ul>
  <li><strong>Key path:</strong><br />
<code class="language-plaintext highlighter-rouge">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion</code></li>
  <li><strong>Value name:</strong><br />
<code class="language-plaintext highlighter-rouge">CurrentBuild</code></li>
  <li><strong>Requirement type:</strong><br />
String comparison</li>
  <li><strong>Operator:</strong><br />
Equals</li>
  <li><strong>Value:</strong><br />
<code class="language-plaintext highlighter-rouge">22631</code></li>
</ul>

<p><img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/RequirementRule-23H2.png?raw=true" alt="WindowsCatalog" title="Requirement rule settings" /></p>

<blockquote>
  <p><strong>Notes:</strong></p>

  <ul>
    <li>Windows 11 <strong>24H2</strong> → <code class="language-plaintext highlighter-rouge">26100</code></li>
    <li>Windows 11 <strong>25H2</strong> → <code class="language-plaintext highlighter-rouge">26200</code></li>
  </ul>
</blockquote>

<h2 id="detection-rule">Detection rule</h2>

<p>Use a <strong>registry detection rule</strong> to confirm the update is installed.</p>

<p><strong>Rule configuration:</strong></p>

<ul>
  <li><strong>Key path:</strong><br />
<code class="language-plaintext highlighter-rouge">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion</code></li>
  <li><strong>Value name:</strong><br />
<code class="language-plaintext highlighter-rouge">UBR</code></li>
  <li><strong>Detection method:</strong><br />
Integer comparison</li>
  <li><strong>Operator:</strong><br />
Greater than or equal to</li>
  <li><strong>Value:</strong><br />
<code class="language-plaintext highlighter-rouge">6494</code></li>
</ul>

<p><img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/Detection-23H2.png?raw=true" alt="WindowsCatalog" title="Detection" /></p>

<blockquote>
  <p><strong>Notes:</strong></p>

  <ul>
    <li>Windows 11 <strong>24H2 and 25H2</strong> → use value <code class="language-plaintext highlighter-rouge">7627</code></li>
  </ul>
</blockquote>

<h2 id="reboot-behavior">Reboot behavior</h2>

<p>Make sure to carefully configure and observe the reboot behavior.</p>

<p>If you want to <strong>nudge users to reboot</strong> after installing the update, enable the following option on the Win32 app:</p>

<ul>
  <li><strong>“Intune will force a mandatory reboot”</strong></li>
</ul>

<p>Enabling this option unlocks the <strong>Restart Grace Period</strong> settings on your app assignments. This allows you to notify users and give them multiple reminders before the reboot is enforced.</p>

<p><img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/AppInstallBehaviour.png?raw=true" alt="RestartApp" title="Intune restart on Win32 app" />
<img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/AppRestart-graceperiod-1.png?raw=true" alt="RestartApp" title="Intune grace period on Win32 app" />
<img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/AppRestart-graceperiod-2.png?raw=true" alt="RestartApp" title="Intune grace period on Win32 app" /></p>

<blockquote>
  <p><strong>Important:</strong><br />
Always enable the <strong>Restart Grace Period</strong> when using<br />
<strong>“Intune will force a mandatory reboot”</strong>.</p>

  <p>If the grace period is not configured, installing the update will result in an <strong>immediate and abrupt reboot</strong>, which is a very poor user experience.</p>
</blockquote>

<h2 id="user-experience">User Experience</h2>

<p>The user can enter company portal and install the app. After installing the app, they will be prompted to reboot, as shown below:
<img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/UX-1.png?raw=true" alt="UserExperience" title="User Experience" />
<img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/UX-2.png?raw=true" alt="UserExperience" title="User Experience" />
<img src="/assets/images/2026-01-22-Intune-CompanyPortal-OSPatches/UX-3.png?raw=true" alt="UserExperience" title="User Experience" /></p>

<h2 id="wrapping-up">Wrapping up</h2>

<p>It’s far from ideal to have to offer updates this way, but I’ve received a large number of questions and concerns from customers regarding this January 2026 update. That’s why I felt compelled to write this post and demonstrate a practical approach for manually packaging and offering the update to end users.</p>

<p>By using a <strong>Win32 app</strong> and making it available in <strong>Company Portal</strong>, you can treat this update as a <em>fix-on-failure</em>—guiding users to install it only when needed. Of course, you can also push it proactively to all users if many are affected, but in that case, I strongly recommend increasing the restart grace period so users have more than 24 hours to complete the mandatory reboot.</p>

<p>That’s all for now.<br />
Have a great day ahead 🙂</p>]]></content><author><name>Mads Johansen</name></author><category term="Intune" /><category term="Windows Updates" /><category term="January 2026-01 Out-of-Band patch" /><category term="Company Portal" /><summary type="html"><![CDATA[This suddenly came up out of the blue: installing or offering Windows updates manually via Intune and the Company Portal.]]></summary></entry><entry><title type="html">Windows Updates in 2026</title><link href="https://evil365.com/intune/Windows-Updates-Early2026/" rel="alternate" type="text/html" title="Windows Updates in 2026" /><published>2026-01-14T00:00:00+00:00</published><updated>2026-01-14T00:00:00+00:00</updated><id>https://evil365.com/intune/Windows-Updates-Early2026</id><content type="html" xml:base="https://evil365.com/intune/Windows-Updates-Early2026/"><![CDATA[<p>It’s early 2026, our hangovers have barely passed, but life must go on. Microsoft is off to an early and great start in 2026 with some great new changes.</p>

<p><img src="/assets/images/2026-14-01-WindowsUpdates-Intune-Early2026/Thumbnail.png?raw=true" alt="WindowsUpdates" title="Windows Update during OOBE" /></p>

<h2 id="updates-during-esp">Updates during ESP</h2>

<p>Windows Updates during ESP is making a comeback (for the 3rd time), let’s hope this time it goes well, as Microsoft previous attempts of rolling it out hasn’t gone according to plan. The option to disable it in ESP has already been there for a while, but the button hasn’t really done anything as the feature was rolled back.</p>

<p><img src="/assets/images/2026-14-01-WindowsUpdates-Intune-Early2026/WindowsUpdate-OOBE.png?raw=true" alt="WindowsUpdates" title="Windows Update during OOBE" /></p>

<p>If you don’t want any updates during ESP, be sure to set this option to “No” in your ESP. Otherwise this functionality will be re-implemented in the January 2026 as pr. comms from Microsoft. Carefully consider the impact of using this feature, as it will most likely significantly increase the enrollment time of your windows devices.</p>

<p>More about this in this <a href="https://techcommunity.microsoft.com/blog/windows-itpro-blog/get-ready-for-windows-quality-updates-out-of-the-box/4434498">blog post from Microsoft</a></p>

<h2 id="gradual-rollout-functionality-is-back">Gradual rollout functionality is back</h2>

<p>The gradual rollout functionality was deprecated in October 2025, much to the dismay of a lot of IT Admins. The Gradual rollout functionality was great in many ways, as it allowed the update engine in Intune to carve out smaller groups of devices and offer feature updates in small chunks rather than offering it at the same time to all devices in a group. This allowed IT Admins more leeway in regards to testing and gauging impact of the rollout of a new feature update.</p>

<p>But Microsoft must have received a lot of pushback when they removed this feature, because they have decided to re-implement it. It’s already available today. I wasn’t even aware before a few of my customers reached out to me and asked about it. Looking at “What’s new” pages, it looks like it was just silently re-implemented. I would love to link to a blog post from Microsoft, but as of this date, also after confirming with a few folks from Microsoft, it seems to have been silently implemented again. I’m sure some comms will be sent out soon.</p>

<p><img src="/assets/images/2026-14-01-WindowsUpdates-Intune-Early2026/GradualRollout.png?raw=true" alt="GradualRollout" title="Gradual Rollout" /></p>

<p>That’s all for now.</p>

<p>Happy new years to everyone :)</p>]]></content><author><name>Mads Johansen</name></author><category term="Intune" /><category term="Windows Updates" /><category term="Intune" /><category term="Updates during ESP" /><summary type="html"><![CDATA[It’s early 2026, our hangovers have barely passed, but life must go on. Microsoft is off to an early and great start in 2026 with some great new changes.]]></summary></entry><entry><title type="html">Whats up with the Secure Boot certificates expiring in 2026?</title><link href="https://evil365.com/intune/SecureBoot-Cert-Expiration/" rel="alternate" type="text/html" title="Whats up with the Secure Boot certificates expiring in 2026?" /><published>2025-11-19T00:00:00+00:00</published><updated>2025-11-19T00:00:00+00:00</updated><id>https://evil365.com/intune/SecureBoot-Cert-Expiration</id><content type="html" xml:base="https://evil365.com/intune/SecureBoot-Cert-Expiration/"><![CDATA[<blockquote>
  <p><strong>UPDATED 25th of February 2026</strong>: Microsoft hosted 2 AMA’s that gave us a lot more information about how all of this is going to work. You can find the link for for the December 2025 <a href="https://techcommunity.microsoft.com/event/WindowsEvents/ama-secure-boot/4472784?after=MjUuOXwyLjF8aXwxMHwxMzI6MHxpbnQsNDQ3NjkwMCw0NDc2ODgw&amp;topicRepliesSort=postTimeDesc">here</a> and the February 2026 one <a href="https://www.youtube.com/watch?v=EscGJTKHPdw">here</a></p>
</blockquote>

<p>If you manage Windows devices, you might have noticed some alerts about Secure Boot certificates expiring in 2026. This is a common concern, but there’s no need to panic. I’ve noticed some conflicting information about to manage this issue, hence this blog post to clear things up.</p>

<p><img src="/assets/images/2025-09-03-SecureBoot-Cert-Expiration/Thumbnail.png?raw=true" alt="Thumbnail" title="Thumbnail" /></p>

<h2 id="what-you-need-to-know">What you need to know</h2>

<ul>
  <li>The existing 2011-era certificates (KEK CA 2011, UEFI CA 2011, and Production PCA 2011) are expiring in mid‑2026, which would disrupt Secure Boot security.</li>
  <li>Failing to update the boot certificates could result in the following implications:</li>
</ul>

<ol>
  <li>Lose the ability to install Secure Boot security updates after June 2026.</li>
  <li>Not trust third-party software signed with new certificates after June 2026.</li>
  <li>Not receive security fixes for Windows Boot Manager by October 2026.</li>
</ol>

<p><a href="https://techcommunity.microsoft.com/blog/windows-itpro-blog/act-now-secure-boot-certificates-expire-in-june-2026/4426856">Source</a></p>

<h2 id="deploying-the-updated-secure-boot-certificates">Deploying the updated Secure Boot certificates</h2>

<p>You have several options for deploying the secure boot certificates. The most interesting options are the following:</p>

<h3 id="option-1---automatic-rollout-via-high-confidence-buckets">Option 1 - Automatic rollout via High-confidence buckets</h3>

<p>This is the most hands-off approach, but it also requires a bit of faith that your device has been placed into one of Microsoft’s “high-confidence buckets.” If it hasn’t, the device won’t automatically receive the updated Secure Boot certificates. But otherwise note that this option is turned on by default, and is one you have to opt-out of, if you don’t want to be part of the automatic rollout.</p>

<p>Microsoft describes this process as follows:</p>

<blockquote>
  <p>“Microsoft may automatically include high-confidence device groups in monthly updates based on diagnostic data shared to date, to benefit systems and organizations that cannot share diagnostic data. This step does not require diagnostic data to be enabled.” <a href="https://support.microsoft.com/en-us/topic/secure-boot-certificate-updates-guidance-for-it-professionals-and-organizations-e2b43f9f-b424-42df-bc6a-8476db65ab2f#bkmk_automated_deployment_assists">(Source)</a></p>
</blockquote>

<p><strong>Microsoft hosted an AMA the 10th of December 2025 where they clarified the following:</strong></p>
<blockquote>
  <p>“A high-confidence device refers to one that Microsoft can reliably identify and update automatically through Windows Update without additional intervention. These devices typically meet criteria such as: Trusted diagnostic data signals confirming the device’s identity and compatibility, Secure Boot enabled and using supported UEFI firmware, Running a supported Windows version that can receive updates and No anomalies in the boot chain or firmware keys that could block the update process.”</p>
</blockquote>

<p>There should be no harm in letting Microsoft update devices via this channel, but if you want to opt-out of this option for whatever reason, you can set a policy to opt out using Intune.</p>

<p><img src="/assets/images/2025-09-03-SecureBoot-Cert-Expiration/SettingsCatalog-OptOut.png?raw=true" alt="Policy" title="High Confidence Opt-out" /></p>

<h3 id="option-2---automatic-rollout-via-microsoft-controlled-feature-rollout-cfr">Option 2 - Automatic rollout via Microsoft Controlled Feature Rollout (CFR)</h3>

<p>By deploying this policy you will participate in a Microsoft-managed rollout also known as Controlled-feature rollout (CFR). This rollout will be fully controlled by Microsoft, and usually CFRs involves a careful and staggered rollout approach based on certain criteria, grouping devices by hardware and firmware, monitoring feedback channels, and pausing if issues appear. In other words: With this option you are also completely in the hands of Microsoft with this one, but it differentiates slightly from the High-Confidence option. Expect the CFR-rollout option to be slower.</p>

<p>For this option to work you need to ensure you are sending required or optional diagnostic data to Microsoft. If you are already using WufB or Autopatch you probably already are doing it, but know that in March 2025 Autopatch revoked the policy they deploy by default to do this on your behalf (Ref: MC996580). If you want to be sure, you can craft your own policy and apply to devices in scope. Look for the “Allow Telemetry” setting in the settings catalog. <a href="https://learn.microsoft.com/en-us/windows/deployment/update/wufb-reports-configuration-intune#settings-catalog">Source</a></p>

<p><img src="/assets/images/2025-09-03-SecureBoot-Cert-Expiration/SettingsCatalog-TelemetryPolicy.png?raw=true" alt="Policy" title="Telemetry Settings Catalog Policy" /></p>

<p>If you want to let Microsoft managed the rollout via the CFR process, search for “Secure Boot” in the settings catalog to find the relevant policies.
<img src="/assets/images/2025-09-03-SecureBoot-Cert-Expiration/SettingsCatalog-MicrosoftManaged.png?raw=true" alt="Policy" title="Microsoft managed rollout of secure boot certs" /></p>

<h3 id="option-3---self-managed-rollout-using-intune-policies">Option 3 - Self-managed rollout using Intune policies</h3>

<p>If you want to manage the rollout of the secure boot certificates yourself, search for “Secure Boot” in the settings catalog to find the relevant policies.
<img src="/assets/images/2025-09-03-SecureBoot-Cert-Expiration/SettingsCatalog-SelfManaged.png?raw=true" alt="Policy" title="Self-managed rollout of secure boot certs" /></p>

<p>This option can be highly desirable if you want to be in complete control yourself, as this allows you to roll this policy out in your own rings/waves. This option also doesn’t require for you to send diagnostic data to Microsoft.</p>

<h3 id="monitoring-for-updated-certificates">Monitoring for updated certificates</h3>

<h4 id="intune">Intune</h4>

<p>Microsoft released a new report in Intune to monitor for the updated certificates. You can find it by navigating to the following blade: Reports &gt; Windows Quality Updates &gt; Reports &gt; Secure Boot Status</p>

<p><img src="/assets/images/2025-09-03-SecureBoot-Cert-Expiration/Intune-SecureBootReport.png?raw=true" alt="Monitoring" title="Monitoring for updated certs" /></p>

<p><img src="/assets/images/2025-09-03-SecureBoot-Cert-Expiration/SecureBootMonitoring.png?raw=true" alt="Monitoring" title="Monitoring for updated certs" /></p>

<h4 id="defender">Defender</h4>

<p>If you have Defender with E5, you can also monitor for the certificates in Defender, with the added benefit you also get servers here.</p>

<p><img src="/assets/images/2025-09-03-SecureBoot-Cert-Expiration/Defender-SecureBootReport.png?raw=true" alt="Monitoring" title="Monitoring for updated certs" /></p>

<h2 id="wrapping-up">Wrapping up</h2>

<p>Microsoft is already working with OEM’s to push out BIOS Updates, where the updated certificates are present. So if you are already keeping your BIOS Up-to-date in your org, chances are, you already received the updated certificates. You can find articles from <a href="https://www.dell.com/support/kbdoc/en-us/000347876/microsoft-2011-secure-boot-certificate-expiration">Dell</a> and <a href="https://support.hp.com/us-en/document/ish_13070353-13070429-16">HP</a> about how they are adressing things from their end. They are already updating the certificates from their end via BIOS Updates on newer models.</p>

<p>If your devices are in an air-gapped environment or with limited network connectivity, you will have to update these certificates manually. See <a href="https://techcommunity.microsoft.com/blog/windows-itpro-blog/updating-microsoft-secure-boot-keys/4055324">this article</a> for more information.</p>

<p>The full Microsoft guidance is available <a href="https://support.microsoft.com/en-us/topic/windows-devices-for-businesses-and-organizations-with-it-managed-updates-e2b43f9f-b424-42df-bc6a-8476db65ab2f">in this article</a></p>

<p>Plenty of scripts online suggest you need to handle this certificate update yourself. For most organizations, that’s not the case. Microsoft will take care of it or you can choose to take matters into your own hands with new easy-to-deploy intune policies. If you’re running hardware from major OEMs like Dell, HP, or Lenovo and keeping them updated, you’re likely already covered to a certain extent. Also, this is issue is also present on servers, so make sure to prepare accordingly for your servers as well.</p>

<p>Hopefully this clears up the confusion and saves you from chasing unnecessary “DIY fixes.”.</p>

<p>Thanks for reading — and have an awesome day :)</p>]]></content><author><name>Mads Johansen</name></author><category term="Intune" /><category term="Secure Boot certificates" /><category term="Certificate expiry" /><summary type="html"><![CDATA[UPDATED 25th of February 2026: Microsoft hosted 2 AMA’s that gave us a lot more information about how all of this is going to work. You can find the link for for the December 2025 here and the February 2026 one here]]></summary></entry><entry><title type="html">Intel vPro Integration with Intune</title><link href="https://evil365.com/intune/IntelvProPortal-Intune-Integration/" rel="alternate" type="text/html" title="Intel vPro Integration with Intune" /><published>2025-10-08T00:00:00+00:00</published><updated>2025-10-08T00:00:00+00:00</updated><id>https://evil365.com/intune/IntelvProPortal-Intune-Integration</id><content type="html" xml:base="https://evil365.com/intune/IntelvProPortal-Intune-Integration/"><![CDATA[<p>Intel vPro and Intel AMT (Active Management Technology) are probably some of the most overlooked features in enterprises. It also seems like many companies purchase Intel vPro–capable devices without actually activating or using the features. Why is that? A combination of lack of awareness, lack of documentation, complexity—and perhaps a hint of paranoia due to some old articles suggesting that the CIA, NSA, and aliens from outer space have backdoors into Intel AMT.</p>

<p>I helped configure Intel AMT in a retail environment some years back, but that was before any cloud functionality existed, so we maintained an Excel sheet with the IPs, users, and passwords for each workstation. That was fun (not really…). Over the years, the tools to configure Intel AMT have had many names and variations: Intel ACU, Intel SCS, and Intel EMA. Don’t be surprised if you hear about those. Many companies already purchase vPro-capable devices, but they’re not using the functionality. Some might also have a split estate where some devices are vPro-capable and others are not.</p>

<p>But let’s pause for a second and look at what Intel vPro and Intel AMT actually are:</p>

<ul>
  <li><strong>A business-centric PC platform</strong> providing enhanced hardware-based security, remote manageability, and business-grade performance.</li>
  <li><strong>Remote Management (Intel® AMT):</strong> Allows IT staff to remotely monitor, diagnose, and resolve issues on computers—regardless of their location or whether the operating system is running. For the server people out there, think of this like a miniature version of HPE iLO or Dell iDRAC.</li>
  <li><strong>Hardware-Enhanced Security:</strong> Provides multilayered security features built into the hardware to protect against malware, safeguard user credentials, and secure data—even at the firmware level.</li>
</ul>

<p>In other words: if organizations had these capabilities when the CrowdStrike debacle ensued, they would have been much better off recovering their devices remotely.</p>

<p>I exchanged a few emails and calls with the good folks at Intel supporting this new Intel vPro portal. They helped me set up my tenant and troubleshoot a few issues I encountered.<br />
Let’s take a look at how to configure Intel AMT with these new tools from Microsoft and Intel, while also gaining some insight into the direction this product is heading in the near future.</p>

<p><img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/Thumbnail.png?raw=true" alt="IntelvPro" title="Thumbnail" /></p>

<h2 id="configuring-intel-vpro-with-intune-integration">Configuring Intel vPro with Intune integration</h2>

<p>Microsoft recently announced Intel vPro Portal integration in Intune. <a href="https://learn.microsoft.com/en-us/intune/intune-service/fundamentals/whats-new#intel-vpro-fleet-services-integration-in-intune-partner-portal-">Released on September 15, 2025, for Intune service release 2509</a>, this feature allows you to integrate your Intune tenant with the <a href="https://vprofleet.intel.com/">Intel vPro portal</a>.</p>

<p>This automatically provisions your Intel vPro tenant as well.</p>

<p><img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/IntelvPro-Portal.png?raw=true" alt="IntelvPro" title="Intel vPro Intune Portal Integration" /></p>

<p>Some quick gotchas regarding the Intel vPro portal:</p>

<ol>
  <li><strong>Save your passphrase.</strong> The passphrase adds an extra layer of security to your user account and should not be confused with your login password. I highly recommend ticking the box “Store passphrase in browser” when signing in to avoid retyping it repeatedly.</li>
  <li>By signing up for Entra ID integration, you eliminate the need to use passwords when signing in to the portal. Users you onboard to the Intel vPro portal should only use their passphrase. In the future, we’ll also get the option to completely disable passphrases.</li>
  <li>If you want to provide access to someone else, you can manually create their user account in the vPro portal under <strong>User Management</strong>. In the future, we’ll get an option that allows automatic user provisioning in the Intel vPro portal based on Entra ID groups.</li>
  <li>Currently, it’s only possible to provision devices in what’s referred to as <strong>Client Control Mode (CCM)</strong>. If you want to remotely take over a device via the portal, the end user will need to provide a code to the IT Admin—similar to Quick Assist or Remote Help. However, in the near future, we’ll get the option to provision devices in <strong>Admin Control Mode (ACM)</strong> with this new portal. This mode is ideal for factory areas, retail spaces, or kiosk environments where unattended access is required, as the device has no user. Devices in ACM allow IT to take control without requiring user consent.</li>
</ol>

<blockquote>
  <p><strong>NOTE:</strong> If you’ve signed up for Entra ID integration, make sure the “Email” attribute is populated for the users you’re trying to onboard. Otherwise, SSO will not work, and you’ll see an error message in the Intel vPro portal when signing in. Intel is working on migrating to using the UPN instead of the Email attribute, as it’s common for admin accounts to have a blank email field in Entra.</p>
</blockquote>

<h3 id="onboarding-devices-to-vpro">Onboarding devices to vPro</h3>

<p>Onboarding devices to Intel vPro is super simple in the new setup flow:</p>

<ol>
  <li>Configure an endpoint group or use the default endpoint group—each endpoint group requires its own onboarding package/application.</li>
  <li>On the right-hand side, open the dropdown menu under <strong>Actions</strong> and select <strong>Download agent files</strong>.</li>
</ol>

<p><img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/DownloadeAgentFiles.png?raw=true" alt="IntelvPro" title="Download agent files" /></p>

<ol>
  <li>Download both files and create an Intune package using the Intune Content Prep Tool. Do not rename the files, and keep both files in the same folder when creating the <code class="language-plaintext highlighter-rouge">.intunewin</code> file.</li>
  <li>Finally, upload the app to Intune as a Win32 app. The default install/uninstall commands are prepopulated, and you can use the default MSI detection method as well.</li>
</ol>

<p>I created a PowerShell script based on some Intel-sample scripts, you can use as a custom requirement script, that ensures only targeting Intel vPro-capable devices. This will prevent devices that are not vPro capable to be onboarded in the Intel vPro portal. You can download the script from my github <a href="https://github.com/thisisevilevil/IntunePublic/blob/main/PowerShell%20Scripts/CSME-DiscoverySmbios-Mads.ps1">here</a>.
When you create the Win32 app, under the requirement section, you can add a script requirement.</p>

<p><strong>Output data type: Integer</strong> - <strong>Operator: Equals</strong> - <strong>Value: 1</strong></p>

<p><img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/CustomRequirement-Script.png?raw=true" alt="IntelvPro" title="Requirement script for Win32 app" /></p>

<p>Once the package is ready, you can start rolling it out to your vPro-ready devices. As always, test on a few devices first before rolling it out broadly. Also consider how you group your devices into Endpoint Groups. Endpoint Groups are important if you want to limit who can perform remote actions and take control of devices—assigning specific endpoint groups to specific IT admins.</p>

<p>Once the package is installed, the device will automatically onboard itself into the Intel vPro portal.</p>

<p>If everything works correctly, you will now be able to remotely power on, powercycle and remotely access the device amongst other things.</p>

<p><img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/IntelvPro-DeviceActions-1.png?raw=true" alt="IntelvPro" title="Intel vPro Intune Portal Integration" />
<img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/IntelvPro-DeviceActions-2.png?raw=true" alt="IntelvPro" title="Intel vPro Intune Portal Integration" /></p>

<h2 id="onboarding-and-troubleshooting-tips">Onboarding and troubleshooting tips</h2>

<p>There can be various causes to lack of connectivity to Cira, so here is a few tips/tricks to make sure the device will always be able to connect:</p>

<ol>
  <li>Ensure BIOS and Intel Management Engine drivers are fully up to date. If you’re running a very old version, it’s likely vulnerable and may not work correctly. Always stay up to date with drivers and BIOS updates from your OEM.</li>
  <li>Make sure your device is vPro-capable. It’s possible to onboard devices that aren’t vPro-capable, but they’ll never connect. The <strong>Intel Management and Security</strong> app in Windows will also look empty, since either vPro is not supported or Intel MEBx is disabled in BIOS.
<img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/IntelMEApp-vPro-notsupported.png?raw=true" alt="IntelvPro" title="Intel ME - vPro not supported" /></li>
  <li>Ensure the device is connected via Ethernet or Wi-Fi. However, be aware that <strong>802.1x connections (certificate-based authentication)</strong> are currently not supported. Support for this will be added later.</li>
  <li>If your device is hibernating or gone to sleep, it’s likely you will not be able to connect to the device remotely or perform any power actions. This is partially due to the fact that we want to prevent powering on devices that is in a bag, to prevent overheating. If you are managing a factory floor or kiosk devices, I recommend disabling sleep to retain connectivity towards AMT.</li>
  <li>If your device isn’t connecting, check the following:
    <ul>
      <li>Verify Intel MEBx is enabled in the BIOS. If you’ve previously modified it, you might need to unprovision it. Most OEMs ship devices in an unprovisioned state, allowing them to seamlessly onboard once the package is deployed.</li>
      <li>Open the <strong>Intel Management and Security</strong> app on the device and check the status. It should look similar to the examples below if everything is working as expected.</li>
    </ul>
  </li>
</ol>

<p><img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/IntelME_Configured_1.png?raw=true" alt="IntelvPro" title="Intel vPro Intune Portal Integration" /><br />
<img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/IntelME_Configured_2.png?raw=true" alt="IntelvPro" title="Intel vPro Intune Portal Integration" /></p>

<p>In the vPro portal, it should show <strong>“Cira Connected”</strong> and <strong>“Power On”</strong> with green indicators once it’s onboarded, as shown below:<br />
<img src="/assets/images/2025-10-10-IntelvPro-Intune-Integration/IntelvPro-Portal-DeviceConfigured-1.png?raw=true" alt="IntelvPro" title="Intel vPro Intune Portal Integration" /></p>

<h2 id="final-words">Final words</h2>

<p>Intel AMT has historically been a pain to configure, manage, and maintain—but with this new portal and the integration with Intune and Entra, things are really starting to look good. Intel AMT and the remote capabilities it provides can be a huge help in scenarios where the OS isn’t booting, allowing IT to take control remotely of the device even when it’s offline. The unattended access feature will also be a great alternative to TeamViewer or other remote support tools once it’s released.</p>

<p>If you are already using Intel EMA, you will find that this new portal is missing a lot of features. Intel EMA is a self-hosted appliance in Azure that’s been around for a few years, but I can only surmise that due to complexity and low adoption rates, Intel is pivoting towards this new cloud portal to make adoption and onboarding a breeze for IT Admins. So think of this new Intel vPro portal as version 1.0, with many more things to come.</p>

<p>With this new portal and integration, we now have a streamlined and simple approach to onboarding and configuring devices for Intel vPro and AMT—which is awesome!</p>]]></content><author><name>Mads Johansen</name></author><category term="Intune" /><category term="Intel vPro" /><category term="vPro Integration Intune" /><category term="Intel AMT" /><category term="Intel Cira" /><summary type="html"><![CDATA[Intel vPro and Intel AMT (Active Management Technology) are probably some of the most overlooked features in enterprises. It also seems like many companies purchase Intel vPro–capable devices without actually activating or using the features. Why is that? A combination of lack of awareness, lack of documentation, complexity—and perhaps a hint of paranoia due to some old articles suggesting that the CIA, NSA, and aliens from outer space have backdoors into Intel AMT.]]></summary></entry></feed>