HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog
Windows 11 Quick AssistRemote HelpIntuneWindows 11AppLockerApp Control for BusinessSocial engineeringBlack BastaRBACConditional Access

Quick Assist vs Remote Help: the free one is a social-engineering vector, and the paid one is why

IA
Imran Awan
21 August 2026

There is an application on almost every Windows 11 device in your fleet that lets a complete stranger take full control of the screen, the keyboard and the mouse. It needs no domain membership, no Intune enrolment, no licence and no policy. The person being helped does not have to sign in to anything. The entire authorisation step is a six-digit number read out over the phone. It is called Quick Assist, Microsoft ships it, and it is the front door for an entire class of tech-support scam and at least one documented ransomware campaign.

Microsoft also ships the grown-up version. It is called Remote Help, it is part of the Intune Suite, and it authenticates both sides against your own tenant. This post explains what each tool actually is, how each one authorises a session, what each one writes to disk, and how to make a deliberate choice between them instead of leaving the free one switched on by accident.

The short version

Quick Assist is a preinstalled Microsoft Store app. The helper signs in with any Microsoft account, the sharer signs in to nothing, and Microsoft documents that no logs are created on either device. Remote Help is a licensed Intune Suite app where both helper and sharer must sign in with a Microsoft Entra account from your tenant, permissions come from Intune role-based access control, Conditional Access applies, and every session lands in a report. There is no Group Policy or CSP setting that disables Quick Assist by name, so removing it means uninstalling the MSIX package and backing that up with an AppLocker or App Control rule.

The problem: a six-digit code is the entire authorisation

Start with what these two applications are, in plain English, because the names are unhelpfully similar.

Quick Assist is a small remote-support app that Microsoft describes as an application that "enables a person to share their Windows or macOS device with another person over a remote connection". One person is the helper. The other is the sharer. The helper generates a code, reads it to the sharer, and once the sharer types it in and clicks Allow, the helper sees the screen. If the helper then asks for control and the sharer clicks Allow again, the helper has the sharer's keyboard and mouse.

Remote Help is a separate application that Microsoft describes as "a cloud-based remote support solution that allows IT support teams to connect securely to an end-user's device for real-time assistance". Same two roles, same screen sharing, completely different trust model: both parties must sign in with a Microsoft Entra ID account belonging to your organisation, for every session.

Here is the difference that matters, stated as bluntly as the documentation states it.

QuestionQuick AssistRemote Help
Who must authenticate?Helper only, with a Microsoft account or Microsoft Entra ID. The docs say plainly: "The sharer doesn't have to authenticate."Both. "Both the helper and the sharer must sign in with a Microsoft Entra account from your organization."
Can it cross organisations?Yes. Any Microsoft account holder anywhere can be the helper.No. "You can't establish a Remote Help session from one tenant to a different tenant."
Who decides what a helper may do?Nobody. "No roles, permissions, or policies are involved."Intune role-based access control, per permission, per scope group.
What is logged on the device?Nothing. "No logs are created on either the helper's or sharer's device."Session details are written to the Windows event log on both devices.
What is logged centrally?Session start and end times, plus errors, held by Microsoft for no longer than three days. Not visible to you.Who helped whom, on which device, for how long, in the Intune admin center for 30 days, plus Intune audit logs.
Does Conditional Access apply?No.Yes, on Windows and macOS, against the Remote Assistance Service app.
Licence needed?None.Yes, a Remote Help licence for every helper and every sharer.
Can the helper answer a UAC prompt?No. The sharer must respond to the elevation prompt themselves.Yes, if the helper holds the Remote Help - Elevation permission.

Read the "who must authenticate" row again. The sharer authenticating to nothing is not a bug, it is the design goal. Quick Assist exists so that a consumer with a broken laptop can be helped by a relative or by Microsoft Support, and consumers do not have tenants. The problem is that the same app is preinstalled on the managed Windows 11 device sitting on a corporate desk, where the design goal is exactly backwards.

This is an active, documented attack path, not a theoretical one. In May 2024 Microsoft published research on Storm-1811, a financially motivated group that deploys Black Basta ransomware. The documented chain starts with voice phishing or Microsoft Teams impersonation, moves to the victim granting remote access through Quick Assist, and continues with the attacker pulling payloads down using cURL and BITSAdmin, planting remote monitoring tools such as ScreenConnect and NetSupport Manager, and finishing with Black Basta deployed over PsExec. Microsoft's own advice in that write-up is to "Consider blocking or uninstalling Quick Assist and other remote monitoring and management tools if these tools are not in use."

Note what the attacker never has to do in that chain. No exploit. No credential theft. No signed driver, no token replay, no unpatched CVE. They phone a human being and read out a number.

Why it happens: Quick Assist was never built for tenant control

To manage something you first have to know what it is made of and where it comes from. Quick Assist has changed shape twice, which is why half the blocking advice on the internet is now wrong.

How Quick Assist is delivered today

Originally Quick Assist was a Feature on Demand, or FOD: an optional Windows component installed with DISM (Deployment Image Servicing and Management, the servicing tool built into Windows). Microsoft's Features on Demand reference still lists it, and it is explicit about the change:

Features on Demand reference, Quick Assist entry
Capability name: App.Support.QuickAssist~~~~0.0.1.0
Availability: "Windows 10, version 1607 until Windows 11 Insider Preview build 22572"
"Starting with Windows 11 Insider Preview build 22572, Quick Assist is a preinstalled app which is updated through the Microsoft Store. The Quick Assist Feature on Demand is no longer available."

So on Windows 11 there is no capability to remove and no quickassist.exe in System32. There is an MSIX package, preinstalled, kept current by the Microsoft Store, published under the identity MicrosoftCorporationII.QuickAssist. That single fact invalidates every DISM-based removal script written for Windows 10, and it is why the app can quietly come back after you remove it.

Gotcha: uninstalling is not blocking. Quick Assist has a public Microsoft Store listing. Any user who can install from the retail Store catalogue can put it back in under a minute, and the reinstalled copy is signed by Microsoft, so nothing looks suspicious. Removal without an app-control rule buys you the time it takes a scammer to say "search the Store for Quick Assist".

How a Quick Assist session is authorised, step by step

Microsoft documents the sequence. Following it makes clear where the only trust decision lives.

  1. Both people launch Quick Assist. On Windows 11 that is Start, All apps, Quick Assist, or the keyboard shortcut CTRL + Windows + Q.
  2. The helper selects Help someone and signs in with a Microsoft account or a Microsoft Entra ID account. Quick Assist contacts the Remote Assistance Service and gets back "a time-limited security code".
  3. An RCC chat session is created, and the helper's instance of Quick Assist joins it.
  4. The helper reads the six-digit code to the sharer, "over the phone or with a messaging system".
  5. The sharer types the code into the Security code from assistant box. Their Quick Assist instance uses the code to join that specific session.
  6. The sharer is prompted for permission and clicks Allow. Screen sharing begins.
  7. The helper may then select Request control, and the sharer gets a second Allow or Deny prompt.
  8. Quick Assist starts RDP control and connects to the RDP Relay service. Video flows to the helper over HTTPS on port 443; input flows back the same way.

Steps 6 and 7 are the whole security model: two clicks by a person who has just been told a convincing story. There is no step where the service checks whether the helper belongs to the same organisation as the sharer, because there is no organisation in the picture.

Context: why the transport looks so familiar. Quick Assist is not a bespoke protocol. It connects to the Remote Assistance Service at https://remoteassistance.support.services.microsoft.com using the Remote Desktop Protocol (RDP), encrypted with TLS 1.2, over port 443. Azure Communication Service carries the chat and the connection brokering, and the app's user interface is rendered by the Microsoft Edge WebView2 control. That is why a proxy that inspects TLS or blocks Skype and Azure Communication endpoints breaks Quick Assist in ways that look like an app bug.

What each tool needs to reach on the network

Both tools terminate at Microsoft-run relays. Microsoft publishes the required destinations for each, and the two lists overlap deliberately, which matters later when you decide how to block one without killing the other.

DestinationUsed byWhat it does
remoteassistance.support.services.microsoft.comQuick Assist and Remote HelpPrimary session-establishment endpoint. Documented as the thing to block to disable Quick Assist.
remotehelp.microsoft.comRemote HelpRemote Help service endpoint.
remoteassistanceprodacs.communication.azure.comBothAzure Communication Service for chat and party-to-party connection.
*.trouter.skype.com, edge.skype.com, api.flightproxy.skype.comBothAzure Communication Service signalling.
login.microsoftonline.comBothMicrosoft Entra sign-in.
*.live.comQuick Assist onlyMicrosoft account sign-in for the helper. This is the consumer identity path Remote Help does not have.
*.webpubsub.azure.comRemote Help onlyDocumented Remote Help web PubSub dependency.
Destructive risk: the documented "disable" method takes Remote Help down with it. Microsoft's guidance for disabling Quick Assist is to block traffic to https://remoteassistance.support.services.microsoft.com, and the very next line of that same article warns: "Blocking the endpoint will disrupt the functionality of Remote Help, as it relies on this endpoint for operation." If you have paid for Remote Help, do not reach for the firewall. Use app control instead.

What Remote Help gives you that Quick Assist structurally cannot

Microsoft's own Quick Assist article now carries an Important box recommending Remote Help for single-tenant organisations, and lists the reasons: Conditional Access enforcement, role-based access control, session logging and auditing, data sovereignty and tenant isolation, and integration with Microsoft Defender for Endpoint. In practice the documented capabilities break down like this.

CapabilityWhat the documentation says
Tenant enablementOff by default. "By default, Remote Help isn't enabled for Intune tenants." Enabling it is tenant-wide.
Tenant restrictionHelper, sharer and device must all be in the same tenant. Cross-tenant sessions are impossible, which explicitly complicates outsourced helpdesks.
Compliance signalBefore connecting, a helper sees a non-compliance warning if the target device fails its assigned compliance policies.
ElevationA helper with the Elevation permission can enter UAC credentials on the sharer's device. Note that use of elevation "isn't reported in the Remote Help sessions report".
Unattended accessDocumented for Android Enterprise dedicated devices only. There is no documented unattended mode for Windows sharers.
Remote launchA helper can trigger the session from Intune, sending a notification to the sharer's device. This depends on the Intune management extension being present and running.
Unenrolled devicesOff by default. Turning it on allows help to unenrolled devices, with the documented caveat that "For unenrolled devices, auditing the Remote Help sessions is limited."
Conditional AccessSupported on Windows and macOS, by creating a service principal for the Remote Assistance Service application and targeting it in policy.

Where Defender fits

Be precise here, because this is where a lot of blog posts overclaim. There is no attack surface reduction rule and no Defender setting named after Quick Assist. What Microsoft does document is detection of what happens after the session is granted. The Storm-1811 research names these detections, and they are the ones worth hunting for alongside any Quick Assist launch.

Defender detection nameStage in the documented chain
Trojan:Win32/QakbotInitial payload dropped during the remote session
Behavior:Win32/CobaltStrikeCommand and control after foothold
Behavior:Win32/SystemBCProxy and persistence
Behavior:Win32/Basta and Ransom:Win32/BastaBlack Basta ransomware deployment

How to verify: what is installed, what blocks it, what it leaves behind

Before changing anything, find out what a given device actually has. Everything in this section is read-only.

Is Quick Assist present, and how did it get here?

The first command asks the Appx subsystem whether the Quick Assist MSIX package is registered for the current user, and prints the identity fields you need for an app-control rule. The second asks DISM whether the old Feature on Demand exists at all on this build.

PowerShell - run elevated
Get-AppxPackage -Name MicrosoftCorporationII.QuickAssist | Select-Object Name, PackageFullName, PackageFamilyName, Version, InstallLocation Name : MicrosoftCorporationII.QuickAssist PackageFullName : MicrosoftCorporationII.QuickAssist_2.0.29.0_x64__8wekyb3d8bbwe PackageFamilyName : MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe Version : 2.0.29.0 InstallLocation : C:\Program Files\WindowsApps\MicrosoftCorporationII.QuickAssist_2.0.29.0_x64__8wekyb3d8bbwe # Healthy for a locked-down fleet: no output at all. Any output means the app is present. # PackageFamilyName is the string you will paste into an App Control PFN rule later. Get-WindowsCapability -Online -Name 'App.Support.QuickAssist*' # On Windows 11 this returns nothing - the FOD was retired after build 22572. # On Windows 10 it returns State : Installed or NotPresent. Empty output on Win11 is # CORRECT, not a failure. Do not write detection logic that treats empty as "removed".

Two follow-ups matter. Get-AppxPackage -AllUsers shows which profiles have it registered, and Get-AppxProvisionedPackage -Online shows whether the package is staged in the image, which decides whether a brand-new user profile gets it again. Both need elevation, and on a hardened device the provisioned query can still return Access is denied - which is a failed read, not a clean result.

The binaries involved

FileBelongs toRole in the flow
C:\Program Files\WindowsApps\MicrosoftCorporationII.QuickAssist_<version>_x64__8wekyb3d8bbwe\Microsoft.RemoteAssistance.QuickAssist\QuickAssist.exeQuick AssistThe application entry point declared in the package manifest. This is the process that starts a session.
C:\Windows\System32\quickassist.exeQuick Assist, legacy onlyThe old Feature on Demand binary. Absent on Windows 11. Rules written against this path do nothing today.
C:\Windows\System32\msra.exeWindows Remote AssistanceA different, older feature with its own Group Policy. Present on Windows 11 but not the same product as Quick Assist. Do not confuse the two.
C:\Program Files\Remote help\RemoteHelp.exeRemote HelpMain application. Its file version is what Microsoft's documented Win32 detection rule checks.
C:\Program Files\Remote help\RHService.exeRemote HelpService component. Named in Microsoft's firewall guidance for Remote Help.
C:\Program Files\Remote help\RemoteHelpRDP.exeRemote HelpCarries the RDP session. Also named in the firewall guidance.
Microsoft Edge WebView2 runtimeBothRenders the user interface. Built in on Windows 11. Remote Help installs it if missing, and does not remove it on uninstall.

Event Viewer: one tool logs, the other does not

This is the single most important operational difference, and it is worth stating without softening it. Microsoft publishes no Event IDs for Quick Assist, because Quick Assist writes nothing locally. The documentation says: "No logs are created on either the helper's or sharer's device." Remote Help, by contrast, "logs session details to the Windows Event Logs on the device of both the helper and sharer".

Event Viewer - navigation for Remote Help session detail
Event Viewer › Applications and Services Logs › Microsoft › Windows › RemoteHelp
The channel only exists once Remote Help is installed. On a device that has never had it,
the node is simply not there - which is itself a useful signal.

Because there are no first-party Quick Assist events, the useful Event IDs come from the app-control layer that blocks or permits the package. Those are documented, and they are how you prove a block is working.

Channel for all IDs below: Microsoft-Windows-AppLocker/Packaged app-Execution and Microsoft-Windows-AppLocker/Packaged app-Deployment
Event IDLevelMeaning
8020InformationPackaged app was allowed to run.
8021WarningAllowed to run, but would have been blocked if the policy were enforced. This is what Audit only mode produces.
8022ErrorPackaged app was prevented from running. This is the event that proves your Quick Assist block fired.
8023InformationPackaged app was allowed to be installed.
8024WarningInstall would have been blocked under enforcement.
8025ErrorPackaged app install was prevented.
8039WarningPackage family name and version would have been prevented from installing or updating by App Control policy in audit mode.
8040ErrorPackage family name and version was prevented from installing or updating due to App Control policy.
Gotcha: an empty AppLocker channel is ambiguous. Zero events in Packaged app-Execution can mean nobody tried to launch a blocked app, or it can mean you have no packaged-app rules at all, or it can mean the Application Identity service (AppIDSvc) is not running so nothing is being evaluated. Check the service state before you celebrate. Microsoft also warns that the AppLocker logs are verbose enough to need collection tuning, particularly EXE and DLL.

Log files on disk

Quick Assist has none. Remote Help has documented ones, and there is a delightful piece of archaeology in the file names.

Path and patternWritten whenWhat to look for
C:\Users\<username>\AppData\Local\Temp\Remote_help_*.logRemote Help install or uninstallConfirms the app was deployed and when. The * is a date and time stamp.
C:\Users\<username>\AppData\Local\Temp\Remote_help_*_QuickAssist_Win10_x64.msi.logRemote Help install or uninstallYes, the Remote Help MSI log really carries QuickAssist in its name. The two products share lineage. Do not read this file name as evidence that Quick Assist was installed.
C:\Users\<username>\Documents\Remote Assistance Logs\Only if the legacy Remote Assistance session-logging policy is enabledLegacy msra.exe sessions, not Quick Assist. The policy help text states log files live "in the user's Documents folder under Remote Assistance".

Services and scheduled tasks

NameDisplay nameWhy it matters here
AppXSvcAppX Deployment ServiceRegisters and deregisters the Quick Assist MSIX package. Expected Running.
AppIDSvcApplication IdentityEvaluates AppLocker rules. If it is Stopped, your packaged-app block is not being applied.
IntuneManagementExtensionMicrosoft Intune Management ExtensionRequired on the sharer's device for the Remote Help remote-launch notification. Microsoft's troubleshooting table names it directly.
\Microsoft\Windows\RemoteAssistance\RemoteAssistanceTaskScheduled taskPresent on Windows 11 and belongs to the legacy Remote Assistance feature, not Quick Assist. Observed on a live Windows 11 26200 device; Microsoft does not document its purpose, so do not build detection on it.

Neither Quick Assist nor Remote Help installs a scheduled task of its own that Microsoft documents. Remote Help ships RHService.exe, but Microsoft documents only its file path in firewall guidance, not a service short name, so treat the binary as the reliable artefact.

Registry: what actually exists, and what does not

There is no registry key that turns Quick Assist off. What exists are the app-deployment and Store policies that decide whether a user can install or launch a Store app at all, plus the legacy Remote Assistance policy that is frequently mistaken for a Quick Assist control.

Shared parent key for every value below: HKLM\SOFTWARE\Policies\Microsoft
Subkey and valueBacking policyEffect
WindowsStore\DisableStoreAppsApplicationManagement/DisableStoreOriginatedAppsSet to 1 to stop all Store-originated apps launching, preinstalled ones included. Enterprise and Education editions only. Blunt, but it does stop Quick Assist.
WindowsStore\RequirePrivateStoreOnlyApplicationManagement/RequirePrivateStoreOnlySet to 1 to hide the retail Store catalogue, leaving only your private store. Stops the casual reinstall.
Windows\Appx\BlockNonAdminUserInstallApplicationManagement/BlockNonAdminUserInstallSet to 1 so standard users cannot initiate MSIX installs. Note the documented carve-out: "All users will still be able to install Windows app packages via the Microsoft Store, if permitted by other policies."
Windows\Appx\AllowAllTrustedAppsApplicationManagement/AllowAllTrustedAppsControls sideloading of signed packages. Relevant if you are worried about an MSIX arriving outside the Store.
Windows NT\Terminal Services\fAllowToGetHelpConfigure Solicited Remote AssistanceLegacy msra.exe only. Does nothing to Quick Assist.
Windows NT\Terminal Services\fAllowUnsolicitedConfigure Offer Remote AssistanceLegacy msra.exe only.
Windows NT\Terminal Services\LoggingEnabledTurn on session loggingLegacy msra.exe only. Writes the Documents-folder logs described above.

Run the exposure report

The companion script for this post pulls all of the above together into one read-only pass, and refuses to report a clean result if any read failed. Download it, then run it elevated.

PowerShell - run elevated
.\Get-RemoteAssistanceExposure.ps1 -EventDays 30 # Reports: Quick Assist presence and delivery mechanism, Remote Help presence, # which app-control or Store policies would block either, and any local artefacts # of past remote-assistance activity. .\Get-RemoteAssistanceExposure.ps1 -TestEndpoints # Adds a read-only TCP 443 probe of the documented service endpoints. # Healthy on a Remote-Help-only fleet: remoteassistance... reachable (Remote Help needs it), # with Quick Assist itself stopped by an app-control rule rather than by the firewall. # Exit 0 means every read succeeded. Exit 1 means the report is incomplete - never # treat an exit 1 as an all-clear, because a failed read looks exactly like a clean one.

The fix: pick one tool on purpose and enforce the choice

There are only three defensible end states. Remote Help licensed and deployed with Quick Assist blocked. Quick Assist deliberately retained with users trained and Defender for Endpoint watching. Or no remote-support tool at all. The indefensible state is the default one: Quick Assist present because nobody removed it.

Step 1: turn on Remote Help in the tenant

Remote Help is off until you enable it, and it needs licences for helpers and sharers alike. Do this first, so your helpdesk has something to use before you take Quick Assist away.

intune.microsoft.comTenant administrationRemote Help
  1. Sign in to the Microsoft Intune admin center.
  2. Go to Tenant administration, then Remote Help.
  3. On the Settings tab, set Enable Remote Help to Enabled. It is Disabled by default.
  4. Decide on Allow Remote Help to unenrolled devices. Leave it Disabled unless you genuinely need it, because auditing on unenrolled devices is limited.
  5. Decide on Disable chat. Chat is on by default, with this setting at No.
  6. Select Save.
  7. Wait. Microsoft documents that new or trial licences can take from 30 minutes to 8 hours to activate, and sessions may keep reporting Remote Help as not enabled in the meantime.

Step 2: grant only the permissions each tier needs

This is the control Quick Assist has no equivalent for. Remote Help permissions are Intune role-based access control permissions, assigned through a role assignment with scope groups.

PermissionWhat it allows
Remote Help - View screenView the sharer's screen without taking control.
Remote Help - Take full controlTake full control of the sharer's device.
Remote Help - ElevationInteract with User Account Control prompts on Windows.
Remote Help - UnattendedConnect to Android Enterprise dedicated devices without the sharer accepting each time.
Remote Tasks - Offer remote assistanceOffer remote assistance to users at all.
Remote Assistance Connector - ReadSee whether Remote Help is configured for the tenant when starting a session.

Microsoft is explicit about the combination required: a helper needs Remote Tasks - Offer remote assistance, plus Remote Assistance Connector - Read, plus at least one of the Remote Help permissions. The built-in Help Desk Operator role contains all of them. The built-in School Administrator role contains all except Unattended.

Tip: split your tiers, do not just assign Help Desk Operator to everyone. Microsoft's own planning guidance recommends least privilege here: "level-1 support might get view-only rights, while tier-2 gets full control rights". Build a custom role with only View screen plus the two prerequisites for your first line, and keep Take full control and Elevation for a smaller group. Also remember the scope trap: the All Devices scope group does not include unenrolled devices, so use a user scope group if you support those.

Step 3: deploy the Remote Help app to Windows devices

Remote Help must be installed on every device that will take part, helper or sharer. The simplest route is the Enterprise App Catalog. The documented manual route is a Win32 app.

intune.microsoft.comAppsWindowsAdd
  1. Download the installer from https://aka.ms/downloadremotehelp and rename the file to remotehelpinstaller.exe. The command lines below depend on that exact name.
  2. Repackage it as a .intunewin file with the Microsoft Win32 Content Prep Tool.
  3. In Intune, add a Windows app (Win32) and upload the package.
  4. For Install command line, enter remotehelpinstaller.exe /quiet acceptTerms=1.
  5. For Uninstall command line, enter remotehelpinstaller.exe /uninstall /quiet acceptTerms=1.
  6. To opt out of the app updating itself, append enableAutoUpdates=0. Both switches are case sensitive.
  7. On Detection rules, choose Manually configure detection rules, then add a File rule: path C:\Program Files\Remote Help, file RemoteHelp.exe, detection method String (version), operator Greater than or equal to, and the version you are deploying.
  8. Assign to device groups. Microsoft notes Remote Help is applicable when targeting device groups, not user groups.

To get the version string for that detection rule, install it once by hand and read the file version.

PowerShell - reference device
(Get-Item "$env:ProgramFiles\Remote Help\RemoteHelp.exe").VersionInfo # Take the FileVersion value from the output and use it as the detection rule Value. # Broken looks like: Get-Item : Cannot find path ... - the app is not installed, # or it landed under 'Remote help' with a lower-case h. Check both spellings.

Step 4: apply Conditional Access to Remote Help

Because helpers gain interactive access to user devices, Microsoft recommends requiring multifactor authentication or compliant-device status for helper accounts. Conditional Access targets Remote Help through a service principal you create once.

  1. Open PowerShell as administrator with the Microsoft Graph PowerShell module available.
  2. Run Connect-MgGraph -Scopes "Application.ReadWrite.All" and sign in with an account that can consent.
  3. Create the service principal for the Remote Assistance Service application ID 1dee7b72-b80d-4e56-933d-8b6b04f9a3e2. The resulting display name is RemoteAssistanceService.
  4. Run Disconnect-MgGraph.
  5. In the Microsoft Entra admin center, build or edit a Conditional Access policy and target Resources (formerly cloud apps), selecting RemoteAssistanceService.
  6. Require MFA, or compliant device, or both, for your helper group.

Step 5: remove Quick Assist

Microsoft documents exactly one removal command, and it is an Appx removal, not a DISM one.

PowerShell - run elevated - THIS ONE CHANGES THE DEVICE
Get-AppxPackage -Name MicrosoftCorporationII.QuickAssist | Remove-AppxPackage -AllUsers # Microsoft's documented uninstall. -AllUsers deregisters it for every profile. # Healthy result: no output, and Get-AppxPackage afterwards returns nothing. # Broken result: "Access is denied" means not elevated, or an App Control policy # is protecting the package. It does NOT mean the app is gone. # This is the only command in this post that modifies the device. Everything # else here, and the companion script, is read-only.

The equivalent for a fleet is a detection-and-remediation script pair in Intune, under Devices, Scripts and remediations: detect the package with Get-AppxPackage and exit 1 when found, then remediate with the command above. The manual route for a single machine is Settings, Apps, Installed apps, Quick Assist, the ellipsis, then Uninstall.

Step 6: block it, because removal alone does not hold

Now the honest part about policy coverage.

There is no Group Policy setting and no Configuration Service Provider policy that disables Quick Assist by name. Not in Administrative Templates, not in the Intune settings catalog. Microsoft's Quick Assist article offers exactly two documented options: block the service endpoint, or uninstall the app. The Group Policy node at Computer Configuration > Administrative Templates > System > Remote Assistance looks like the answer and is not: those settings write to HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services and govern the legacy msra.exe feature. Setting Configure Solicited Remote Assistance to Disabled has no effect on Quick Assist whatsoever.

So enforcement comes from app control. The Group Policy route uses AppLocker packaged-app rules.

gpedit.mscComputer ConfigurationWindows SettingsSecurity SettingsApplication Control PoliciesAppLockerPackaged app Rules
  1. Open the Group Policy Management Editor on a policy that targets your Windows clients.
  2. Navigate to Computer Configuration, Windows Settings, Security Settings, Application Control Policies, AppLocker, Packaged app Rules.
  3. If the collection is empty, right-click and choose Create Default Rules first. Without an allow rule, enforcing packaged-app rules blocks every Store app, and AppLocker logs event 8027 to tell you so.
  4. Right-click, choose Create New Rule, set the action to Deny for Everyone.
  5. Choose Use an installed packaged app as a reference and pick Quick Assist, or enter the publisher CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US with package name MicrosoftCorporationII.QuickAssist.
  6. Set the version range to any version, so a Store update does not walk around your rule.
  7. In AppLocker properties, set Packaged app Rules to Audit only first. Confirm you see 8021 events for Quick Assist and nothing else, then switch to Enforce rules.
  8. Confirm AppIDSvc is running on the clients, or none of this is evaluated.
Gotcha: Intune has no AppLocker user interface. AppLocker is delivered to Intune-managed devices through a custom profile and the AppLocker CSP, not the settings catalog. The OMA-URI is ./Vendor/MSFT/AppLocker/ApplicationLaunchRestrictions/<Grouping>/StoreApps/Policy, where <Grouping> is a name you choose - Microsoft's guidance is to use a generated GUID. Data type is String, and the value is the <RuleCollection Type="Appx" EnforcementMode="Enabled"> XML exported from your AppLocker console. Note the documented reboot behaviour for that node: Automatic.
intune.microsoft.comDevicesConfigurationCreateWindows 10 and laterTemplates - Custom
  1. Go to Devices, Configuration, then Create.
  2. Platform Windows 10 and later, profile type Templates, then Custom.
  3. Name the profile, for example AppLocker - deny Quick Assist.
  4. Add a row. Set OMA-URI to ./Vendor/MSFT/AppLocker/ApplicationLaunchRestrictions/{aaaaaaaa-0b0b-1c1c-2d2d-333333333333}/StoreApps/Policy.
  5. Set Data type to String and paste your exported Appx rule collection XML as the value.
  6. Assign to a pilot device group first. Because the node reboots the device automatically, schedule accordingly.
  7. Verify on a client with Get-AppxPackage still returning the package, but launching Quick Assist failing and event 8022 appearing in Packaged app-Execution.

If you already run App Control for Business - the feature formerly called Windows Defender Application Control - you can deny the package family name instead. That is a stronger control, but read the warning first.

Destructive risk: one PFN rule changes how your whole App Control policy works. Microsoft states it plainly: "If any Package Family Name (PFN) rule is used in your App Control base policy or one of its supplemental policies, then all packaged apps must be controlled exclusively using PFN rules." You cannot mix PFN rules with signature-based rules inside a base policy's scope, and the documentation warns this "will affect many inbox system apps like the Start menu". Adding a single deny rule for MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe to an existing signature-based policy is a good way to break Start. Build and test the PFN model deliberately, in audit mode, or use AppLocker for this one job instead.

Step 7: stop the reinstall

Removal plus a launch block still leaves the Store listing. Close that loop with the Store and Appx policies from the registry table, configured properly through policy rather than by editing keys.

gpedit.mscComputer ConfigurationAdministrative TemplatesWindows ComponentsStore / App Package Deployment
  1. For the retail catalogue, go to Windows Components, Store, and enable Only display the private store within the Microsoft Store.
  2. For standard-user installs, go to Windows Components, App Package Deployment, and enable Prevent non-admin users from installing packaged Windows apps. This is Enterprise and Education only.
  3. If you want the blunt instrument, Windows Components, Store, Disable all apps from Microsoft Store stops every Store-originated app launching. Test this hard; it hits far more than Quick Assist.
  4. In Intune, the same settings appear in the settings catalog under the ApplicationManagement area, matching the CSP names in the registry table above.

If you decide to keep Quick Assist

That is a legitimate choice for organisations without Intune Suite licensing, but it has to be an active decision with compensating controls. Microsoft's own user-facing guidance is the baseline: never allow a connection from someone claiming to be IT support unless you initiated the contact, do not grant access to anyone claiming urgency, and never share credentials during a session. Microsoft also states it will never contact users unsolicited to request device access. Pair that message with Defender for Endpoint coverage for the post-access detections listed earlier, and with the reporting route Microsoft publishes for tech-support scams.

Proof it worked: reading the exposure report

Below is a genuine run of the companion script on a live Windows 11 Enterprise device, build 26200, with the computer name, user name and App Control policy identifiers replaced. It is the "before" picture for a typical unmanaged-for-this-risk device: Quick Assist present, no Remote Help, nothing blocking it.

Get-RemoteAssistanceExposure.ps1 - real run, identifiers replaced
1. Quick Assist - is it present, and how was it delivered? Store MSIX package : MicrosoftCorporationII.QuickAssist_2.0.29.0_x64__8wekyb3d8bbwe Package family name : MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe Entry-point binary : ...\Microsoft.RemoteAssistance.QuickAssist\QuickAssist.exe Installed for profiles: 2 profile(s) Feature on Demand : App.Support.QuickAssist not offered on this build Legacy in-box binary : quickassist.exe not present in System32 READ FAILED: Get-AppxProvisionedPackage -Online reason: Access is denied. VERDICT Quick Assist : EXPOSED # The FOD line and the missing System32 binary together confirm the Store-app delivery # model. A Windows 10 DISM removal script would have reported success and done nothing. 2. Intune Remote Help Install folder : Remote Help is not installed Remote Help event channel : no Microsoft-Windows-RemoteHelp channel registered VERDICT Remote Help : ABSENT 3. App-control and Store policy AppLocker service (AppIDSvc) : Stopped / Manual AppLocker enforcement : AppIDSvc is not running - AppLocker rules are not being enforced AppLocker Appx rules : no AppLocker packaged-app policy on this device App Control policies : 8 active .cip policy file(s) RequirePrivateStoreOnly : not configured BlockNonAdminUserInstall : not configured VERDICT App control : REDUCED # This is the finding that matters. Eight App Control policies are active, and none of # them stops Quick Assist. "We have WDAC" is not the same as "Quick Assist is blocked". 4. Local evidence of past remote-assistance activity (last 14 days) Microsoft documents that Quick Assist creates NO logs on either device. QuickAssist.exe process starts : no 4688 events naming QuickAssist.exe in the window VERDICT Session evidence : REDUCED INCOMPLETE REPORT - the following reads failed: - Get-AppxProvisionedPackage -Online -- Access is denied. # Exit code 1. The script refuses to call the device clean when one read failed, even # though it was running elevated. Access denied is not the same as absent.

After you have deployed Remote Help, removed the package and applied an AppLocker deny rule, the same script should report Quick Assist as ABSENT, Remote Help as PRESENT, and App control as BLOCKED with the rule named. The independent confirmation that the block is live comes from the AppLocker channel: a user attempting to launch Quick Assist produces event 8022 in Microsoft-Windows-AppLocker/Packaged app-Execution, naming the package.

On the Remote Help side, your central evidence lives in Intune rather than on the device.

intune.microsoft.comTenant adminRemote HelpMonitor / Remote Help sessions
  1. The Monitor tab shows a count of active sessions and historical data.
  2. The Remote Help sessions tab lists past sessions with the helper (Provider ID), the sharer (Recipient ID), the device, the start and end times, and the type of control session.
  3. Records persist for 30 days on Microsoft servers, and only metadata is stored - no screen images and no keystrokes.
  4. Cross-check with Tenant administration, Audit logs, where Remote Help session audit entries are also written.
  5. Remember the documented gap: use of the Windows elevation capability is not reported in the Remote Help sessions report.

Compare that with what you can prove about a Quick Assist session after the fact: nothing on the device, and nothing you can query centrally. That asymmetry is the argument. It is not that Quick Assist is malware; it is that when a Quick Assist session goes wrong, you have no record that it happened.

Context on licensing, verify it yourself. Microsoft's Remote Help planning documentation states that the feature "requires a subscription in addition to Microsoft Intune Plan 1 or Plan 2", and that a licence is needed for helpers and sharers alike. Separately, community reporting through mid-2026 describes Intune Suite capabilities being folded into Microsoft 365 E3 and E5. Licensing changes faster than documentation, so check your own entitlement in the Microsoft 365 admin center and against Microsoft's current Intune pricing page before you plan a rollout on either assumption.

References

Community deep-dives, each fetched and confirmed to be on topic:

AuthorArticleWhy it is worth reading
Martin BengtssonRemove Quick Assist (and other built-in apps) across your enterprise automatically using PowerShell and Microsoft IntuneA working detection-and-remediation script pair for the Intune remediations route, written directly in response to the Storm-1811 research.
Simon Skotheimsvik (MSEndpointMgr)Intune Remote Help - The Deep Dive Now That It's Included In Your E5A current end-to-end Remote Help walkthrough, plus the licensing change that makes the Remote Help decision easier for E3 and E5 tenants. Verify the entitlement against your own tenant.
Martin BengtssonGetting started with Remote Help with Intune and Microsoft Endpoint ManagerThe original hands-on setup walkthrough, useful for seeing the helper and sharer experience side by side.
PowerShell — companion script

Download it from Imran76Awan/Windows-11-Scripts — no sign-in required. It is read-only: it reports and never changes a device or anything in Intune. Validate it in your own environment before relying on the output.

Get-RemoteAssistanceExposure.ps1 — Read-only audit of remote-assistance exposure on a Windows device: Quick Assist,
View all scripts on GitHub
Was this post helpful?
React below — no account needed
Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Windows 11
WDAC or AppLocker: which application control to actually deploy,…
Windows has two application control stacks with overlapping purpose and different…
Windows 11
Smart App Control: the Windows 11 security feature you cannot…
Smart App Control blocks unsigned and unknown code using the same engine as App Control…
Windows 11
Attack Surface Reduction rules broke a line-of-business app:…
An ASR rule in Block mode kills an app and tells you nothing but a GUID. Here is the…