, ,

Intune Remote Help, the Complete Setup: From Attended to Unattended

Intune Remote Help, the Complete Setup: From Attended to Unattended

For years, Remote Help was the remote support tool that looked great on every Intune Suite slide and rarely made it into production. It cost extra per user, and on Windows it had one hard requirement that made it useless for half the tickets in a helpdesk queue: somebody had to sit in front of the machine and accept the connection.

Both excuses are gone now. Remote Help is moving into Microsoft 365 E3 and E5, and with the August 2026 Intune release Windows finally got unattended support with remote sign-in. Time to take another look, and this time properly.

This post covers the whole thing in the order I would build it: licensing, tenant setup, app deployment, RBAC, a Conditional Access design that actually holds up, attended sessions, and then the unattended part, which quietly pulls the Azure Virtual Desktop agent onto your physical endpoints. I went through all of it in my lab.

🧭 What Remote Help actually is

Remote Help is the cloud based remote support tool built into Intune. The difference to Quick Assist is not the screen sharing, it is everything around it: both parties authenticate with Entra ID, the helper’s permissions come from Intune RBAC, Conditional Access applies, the helper gets a warning when the device is non-compliant, elevation works through UAC, and every session lands in the Intune audit log. Before a session starts, both sides also see each other’s organizational profile with name, job title and verified domain, which takes a lot of the air out of the classic fake support call.

ModeWhat the helper can doTypical use
View onlySee the screen, use pen and laser pointerWalking a user through something
Full controlMouse and keyboard in the user’s sessionThe classic helpdesk fix
ElevationAnswer UAC prompts with admin credentialsInstalls, drivers, anything that needs admin rights
UnattendedConnect without user consent (Windows: separate remote sign-in session, Android: dedicated devices)Devices nobody is sitting at
ClientPlatformsNotes
Windows appWindows 10 and 11, Windows 365, Azure Virtual Desktop, on x86, x64 and ARM64Full feature set including elevation and Remote Launch
macOS appmacOS 13 or laterView only and full control, no elevation
AndroidAndroid Enterprise dedicated devices (Samsung Knox, Zebra)Unattended control for kiosk style devices
Web appAny modern browserSecurity code based. A browser helper gets view only and full control on macOS and Android sharers, a sharer in the browser only gets view only

A helper on the native Windows app can only help Windows sharers. Anything cross platform goes through the web app.

💳 Licensing: what changed this summer

Until now, Remote Help was a per user add-on, either standalone or as part of the Intune Suite. Microsoft is folding a set of Intune Suite capabilities into the enterprise bundles, and Remote Help is one of them: it is now part of Microsoft 365 E3 and E5. The rollout started in July 2026, so do not panic if it does not show up in your tenant on day one.

Two things people get wrong. First, the license is needed for every user who takes part in a session, helpers and sharers alike, not just your helpdesk. Second, assign it through groups, and for the helpers reuse that same group in the RBAC assignment later, so licensing and permissions never drift apart. Beyond the license you need Intune Plan 1 or higher, devices registered in Entra ID, and helpers, sharers and devices in the same tenant.

If you are not on E3 or E5 yet, a trial is available under Tenant administration > Intune add-ons.

⚙️ Step 1: Enable Remote Help in the tenant

Everything starts in Tenant administration > Remote Help > Settings. If you already run attended Remote Help, this is done and you can move on. If not, set Enable Remote Help to Enabled, which is off by default.

The other two switches matter for attended sessions only. Allow Remote Help to unenrolled devices is off by default, and I would leave it off unless you have a real use case, because auditing for unenrolled devices is limited. Disable chat is set to No by default, so in session chat is available. Neither has any effect on unattended sessions, which only work against enrolled devices and have nobody on the other end to chat with.

Intune admin center Remote Help settings page with Remote Help enabled
If Remote Help already shows Enabled here, Step 1 is done. My lab tenant allows unenrolled devices for testing, in production I would leave that off.

📲 Step 2: Deploy the Remote Help app

For attended sessions, both sides need the Remote Help app. For unattended sessions the target device does not, more on that later. Assign the app to device groups, not user groups.

Enterprise App Catalog

With E5, Enterprise App Management becomes part of the bundle too, and Remote Help is in the Enterprise App Catalog. Apps > All apps > Create > Enterprise App Catalog app, pick Remote Help, assign it as required to your device groups, done. Updates come through the catalog as well, which is the main reason I prefer this route.

Win32, the classic way

Without the catalog you wrap remotehelpinstaller.exe yourself:

Install:    remotehelpinstaller.exe /quiet acceptTerms=1
Uninstall:  remotehelpinstaller.exe /uninstall /quiet acceptTerms=1
Detection:  File C:\Program Files\Remote Help\RemoteHelp.exe, version greater than or equal to <file version of RemoteHelp.exe>

Three things that bite. acceptTerms and enableAutoUpdates are case sensitive. Add enableAutoUpdates=0 only if you really want to own the update cycle yourself. And for the detection rule, use the file version of the installed RemoteHelp.exe, not the version the installer reports: the two numbers do not match, and a rule built on the installer version never detects anything. Running (Get-Item "$env:ProgramFiles\Remote Help\RemoteHelp.exe").VersionInfo on a test device gives you the right value. The installer also adds the Microsoft Edge WebView2 Runtime if it is missing.

If your Windows Firewall restricts outbound traffic, allow RemoteHelp.exe, RHService.exe and RemoteHelpRDP.exe. Network wise everything goes out over 443 to remotehelp.microsoft.com plus the Azure Communication Services endpoints used for chat. Exclude those from SSL inspection.

macOS and Android

On macOS you deploy the PKG and preconfigure the Accessibility and Screen Capture permissions with a Privacy Preferences Policy Control profile from the settings catalog, otherwise the first session starts with the user clicking through system dialogs. Android runs through Managed Google Play and only covers dedicated devices, with OEMConfig permission profiles on Zebra and Knox plus display overlay permission on Samsung.

🛡️ Step 3: Build the RBAC roles

Remote Help permissions are stacked: Elevation includes Take full control, which includes View screen. On their own they do nothing. Every helper also needs Remote tasks > Offer remote assistance and Remote Assistance Connector > Read. The built in Help Desk Operator role covers all attended permissions, which is fine for a quick start and too broad for most real environments. This is the split I would build:

Custom roleRemote Help permissionWho gets it
Remote Help SupportView screen, Take full controlFirst level helpdesk
Remote Help ElevationElevationA small second level group
Remote Help UnattendedWindows unattended control remote sign-inTier 2 or 3 only, see below

All three also carry the two base permissions. Permissions are enforced server side when the session is set up, so a helper cannot work around a missing permission on the client.

The unattended role

This is the part I would spend the most time on. The capability hangs off a single dedicated permission, Remote Help app > Windows unattended control remote sign-in, and it exists in no built in role whatsoever. Help Desk Operator does include Android unattended control, which is easy to mix up, but not the Windows permission. You have to create a custom role.

Go to Tenant administration > Roles > All roles > Create and build a role that contains the permissions below. Remote Help needs a combination, not just the one permission, which trips people up on the first attempt.

PermissionWhy it is needed
Remote Help app > Windows unattended control remote sign-inThe actual unattended capability
Remote Tasks > Offer remote assistanceAllows the helper to start a session at all
Remote Assistance Connector > ReadLets the helper see that Remote Help is configured for the tenant

I deliberately leave View screen, Take full control and Elevation out of this role. Those belong to the attended scenario and to a different, broader group of people. Keeping the unattended role clean means a role assignment review later is a two minute job rather than an archaeology project.

Custom Intune role with the Windows unattended control remote sign-in, Remote assistance connectors Read and Offer remote assistance permissions
Three permissions, nothing else. View screen, full control and elevation stay in the attended role.

Scoping the assignment

The role itself is only half the control. The assignment is where you decide which devices this actually reaches. On the role assignment, put your Tier 2 or Tier 3 support group in the admin group, and then scope it to the specific device groups that are allowed to receive unattended support. Assigning All devices here defeats the entire purpose of the separate permission.

For helpdesks spread across sites, combine scope groups with scope tags, so a helper in Vienna only ever sees the Vienna devices. If you already use Autopilot group tags, dynamic device groups on those tags give you that split almost for free.

My recommendation for a real environment: start with a pilot device group, keep the helper group tiny, and only widen the scope once you have seen the session behavior in front of a real user.

🔐 Step 4: Conditional Access, done properly

This is the part I find most interesting, because the documentation sends you in two directions at once. The deployment guidance tells you to exclude Remote Help from your policies, the planning guidance tells you to protect helpers with MFA and compliant devices. Both are right, for different people, and you only get there with more than one policy.

Helpers now hold an account that can reach interactive sessions on managed endpoints at scale. That account deserves the same treatment as any other privileged identity: phishing resistant MFA, a compliant device requirement, and just in time access rather than a permanent assignment. Intune RBAC roles cannot be activated through PIM directly, so put the helper group into PIM for Groups and assign the role to that group.

Creating the service principal

To reference Remote Help in a Conditional Access policy, the service principal has to exist in your tenant first. It is not there by default. The documentation walks you through Graph PowerShell, but for a single one off call like this I reach for Graph Explorer instead. No module install, no session to keep track of, and you see the raw response.

Sign in to Graph Explorer with an account that can consent, grant yourself Application.ReadWrite.All on the Modify permissions tab, and fire this off:

POST https://graph.microsoft.com/v1.0/servicePrincipals

{
    "appId": "1dee7b72-b80d-4e56-933d-8b6b04f9a3e2"
}

A 201 comes back with the full object, and the displayName in the response confirms you hit the right one: RemoteAssistanceService. That app ID is the backend service behind Remote Help. If you want to check whether it already exists before you post anything, this tells you in one call:

GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq '1dee7b72-b80d-4e56-933d-8b6b04f9a3e2'

Once the service principal exists it shows up as RemoteAssistanceService in the Conditional Access resource picker, and you can include or exclude it in your policies like any other cloud app.

A policy design that holds up

The trick is to separate helpers from sharers. A sharer whose device is broken or non-compliant is exactly the person who needs help, so a blanket compliant device policy must not lock them out of Remote Help. A helper, on the other hand, holds a privileged capability and deserves the strictest policy you have.

PolicyUsersTarget resourceGrant and session
BaselineAll usersAll resources, excluding RemoteAssistanceServiceRequire compliant device
HelpersRemote Help helper groupRemoteAssistanceServiceCompliant device plus phishing resistant authentication strength, sign-in frequency Every time
Sharers (optional)All usersRemoteAssistanceServiceMFA only, no device requirement

The exclusion on the baseline applies to everyone in that policy, you cannot exclude RemoteAssistanceService for some users only. That is why the helper requirements live in their own policy. Sign-in frequency Every time makes sure every session starts with a fresh authentication instead of a token from this morning.

Two details that catch people. Conditional Access for Remote Help works on Windows and macOS only, Android sessions are not gated at all. And the compliance of the target device never blocks a session, it only shows the helper a warning banner. The device Conditional Access evaluates is the helper’s own. Which also means your helpdesk staff are end users too: if their laptop drifts out of compliance, the helper policy locks them out of Remote Help until it is fixed.

You could call PIM for Groups plus a strict Conditional Access policy belt and braces. For a capability that lands you on any device in scope, I take both: PIM decides who is a helper right now, Conditional Access decides how they prove it.

⚠️ Check which sign-in your policy actually sees. The service principal covers the attended flow. For an unattended session, the helper signs in to the Windows App web client, and that sign-in does not show up as RemoteAssistanceService. Microsoft says it plainly: Conditional Access for Remote Help only applies to sessions an end user accepts, not to unattended access. In my tenant the unattended sign-in shows up as Windows App – Web against Microsoft Graph instead, so a policy scoped only to RemoteAssistanceService never fires for it. Run one test session, open the helper’s sign-in log entry and look at the application and resource it was evaluated against. Then make sure the helper accounts are also covered there, ideally by a policy on All resources with phishing resistant MFA and a compliant device.

Entra sign-in log entry for the unattended session showing application Windows App - Web and resource Microsoft Graph
The unattended sign-in: Windows App – Web against Microsoft Graph. No RemoteAssistanceService in sight.

When a session gets blocked

Open the Entra sign-in logs, filter for RemoteAssistanceService and look at the Conditional Access tab: which policy applied, which grant control failed. Keep in mind that compliance changes take a while to reach Conditional Access, and an existing token can carry a helper through a session even after their device has gone non-compliant.

🤝 Attended sessions in practice

There are two ways into an attended session. The comfortable one is Remote Launch from the Intune admin center: open the device, choose New remote assistance session > Remote Help, and the user gets a notification to join. That requires an enrolled device with a healthy Intune Management Extension, and it is the moment you find out who runs Do Not Disturb or Focus mode, because both hide the notification. On Azure Virtual Desktop multi-session hosts I would skip Remote Launch entirely, since the notification can reach every user on that host.

The other way is the security code. The helper generates a code in the app and reads it out, the user types it into their Remote Help app, and the code expires after ten minutes. It works everywhere, also on unenrolled devices if you allowed them, and it is the only option for the web app.

If you need cross platform support or just a quick look without installing anything, there is a browser experience: sharers browse to aka.ms/rh, helpers to aka.ms/rhh. It works with the security code. If the sharer is the one in the browser, the helper only gets view only. A helper in the browser can still take full control of a macOS or Android device that shares from its native app. Keep it apart from unattended, which runs through a completely different browser client, the Windows App web client. Different URL, different session model, different permissions.

Elevation and the black screen

When a UAC prompt appears, it runs on the secure desktop. Without elevation the helper just sees a black screen with a pause symbol, and I would bet that is the most common “Remote Help is broken” ticket you will get. With the Elevation permission the helper starts an Admin Session and enters admin credentials, for example from Windows LAPS, without the user ever seeing them.

Two guardrails are worth knowing. The helper gets a persistent reminder to close elevated windows before leaving, and if the user ends the session while an Admin Session is active, they are signed out immediately. If you run Endpoint Privilege Management, the two complement each other nicely: EPM for what users may elevate themselves, Remote Help elevation for everything else.

🔓 Unattended remote sign-in: what actually changes

The important thing to understand is that this is not “attended Remote Help without the prompt”. It is a different connection model. Attended control mirrors the user’s existing desktop, which means you see what they see and you inherit the context of their logged on session. Unattended remote sign-in creates a separate authenticated Windows session on the target device. You sign in inside that session with an account you already have, and Windows enforces exactly the privileges that account holds. Signing in with a standard user account does not magically hand you administrator rights.

That distinction matters for the security conversation you will inevitably have with your CISO. Nobody is bypassing authentication here. The helper is authenticating twice, once against Entra ID to reach the Intune admin center and start the session, and then again inside the remote Windows session with a credential that has its own rights. What disappears is the end user’s consent click, not the authentication.

⚖️ Attended and unattended side by side

Attended controlUnattended remote sign-in
User consentRequired, alwaysNot required, prompt only if someone is signed in
Session modelMirrors the user’s active sessionSeparate, isolated Windows session
Client on the targetRemote Help appAVD agent plus bootloader, no Remote Help app needed
Helper clientRemote Help Windows appWindows App web client in the browser
Supported devicesx86, x64, ARM64, W365, AVDPhysical x64 only, Entra joined or hybrid joined
BYOD and unenrolledOptionally supportedNot supported
Privilege modelUser’s session plus optional UAC elevationWhatever the helper’s own account holds
Built into a standard roleYes, Help Desk OperatorNo, custom role only

The row I would highlight to anyone planning this is the last one. Microsoft deliberately left the Windows unattended permission out of every built in role, including Help Desk Operator. That is a good decision and I would not undo it by bolting the permission onto a role that half your first level staff already holds.

✅ Unattended prerequisites before you touch anything

AreaRequirement
LicensingMicrosoft 365 E3 or E5 (Remote Help is now included there, the rollout started in July 2026 and can take a while to reach your tenant), otherwise Intune Suite or the Remote Help standalone add-on on top of Intune Plan 1 or Plan 2, for helpers and sharers
Device typePhysical, x64, corporate owned, Intune enrolled, Entra joined or Entra hybrid joined
Not supportedWindows 365, Azure Virtual Desktop, any other VM, ARM devices, BYOD, unenrolled devices
Agents on the deviceIntune Management Extension, Azure Virtual Desktop agent, Azure Virtual Desktop agent bootloader
Device stateRemote Desktop enabled, powered on, connected to the internet. Sleeping, hibernating and powered off devices cannot be reached
ComplianceDevice should satisfy its assigned compliance policies, otherwise you get a warning banner
NetworkPort 443 outbound, no SSL inspection on the Remote Help endpoints
TenancyHelper, sharer and device all in the same tenant, no cross tenant sessions. Not available for tenants in the Switzerland North datacenter region

The Windows 365 and AVD exclusion catches people out. If your helpdesk workflow is built around Cloud PCs, unattended remote sign-in does not apply to them at all, only to the physical fleet. Attended Remote Help still works there.

Officially, the same applies to any other VM. In practice it looks like a support statement rather than a technical block: my Hyper-V lab VM runs unattended sessions just fine. Getting there cost me a few evenings, because every attempt first ended with the message that the device does not have the necessary clients installed. I was sure the clients were there. They were not: the bootloader was missing. If you see this message, check whether the RDAgentBootLoader service exists and search IntuneManagementExtension.log for AgentNotFound before you blame the device. For production I would still stick to physical devices, since that is what Microsoft supports.

Remote Help pane stating that unattended sessions are not supported because the device does not have the necessary clients installed
The message is right, even when it does not feel like it. In my case the bootloader was missing.

📦 Step 5: Deploy the AVD agent and bootloader

Here is the part that surprised me. Unattended remote sign-in does not use the Remote Help application on the target device at all. It rides on the Azure Virtual Desktop agent and the Azure Virtual Desktop agent bootloader, the same components that run on session hosts. You are, effectively, installing a slice of AVD infrastructure on your physical laptops.

Both come down as MSI files and both get packaged as Win32 apps. The order is not optional: the agent goes first, the bootloader depends on it. You enforce that with a Win32 app dependency rather than hoping the check in cycle happens to run in the right order.

App 1App 2
PackageMicrosoft.RDInfra.RDAgent.Installer-x64-<version>Microsoft.RDInfra.RDAgentBootLoader.Installer-x64-<version>
PublisherMicrosoftMicrosoft
Install commandAuto populated by Intune, do not modifyAuto populated by Intune, do not modify
Minimum OSWindows 10 1607 or laterWindows 10 1607 or later
DetectionMSI product codeMSI product code
DependencyNoneRemote Desktop Services Infrastructure Agent, automatically install
AssignmentYour unattended device groupThe same device group

Package both MSIs separately with the Microsoft Win32 Content Prep Tool. Keep the source and output folders apart, otherwise you will end up with one intunewin containing both installers and a detection rule that lies to you.

IntuneWinAppUtil.exe -c C:\Source\RDAgent -s Microsoft.RDInfra.RDAgent.Installer-x64-1.0.x.msi -o C:\Output\RDAgent
IntuneWinAppUtil.exe -c C:\Source\RDBootloader -s Microsoft.RDInfra.RDAgentBootLoader.Installer-x64-1.0.x.msi -o C:\Output\RDBootloader

When you add each app in Intune, the install and uninstall command lines populate themselves from the MSI and do not need touching. The detection rule is the MSI product code, which Intune reads out of the package for you. Stick with that. The agent updates itself, so a version based detection rule breaks the moment it does. On the bootloader app, the only manual step is the Dependencies page, where you point at the agent app, called Remote Desktop Services Infrastructure Agent, and leave Automatically install set to Yes.

Win32 app dependency page in Intune with the AVD agent set as a dependency of the bootloader
Point it at the agent and leave Automatically install on Yes.

Or you skip all of that

Now for my favorite detail of this whole rollout. Intune ships with Enterprise App Management and its Enterprise App Catalog, a curated collection of prepackaged Win32 apps maintained by Microsoft, which exists precisely so you never have to touch the Content Prep Tool again. Remote Help itself is in there. The two Microsoft components that Microsoft’s own new Microsoft feature depends on are, at the time of writing, not.

Patch My PC, on the other hand, already has both the Azure Virtual Desktop agent and the bootloader in its catalog. So if you run Patch My PC in your tenant, the entire packaging exercise above collapses into picking two apps from a list, assigning them, and going for coffee. Dependency and ordering handled, updates handled, no intunewin in sight.

I fully expect the Enterprise App Catalog to catch up, and when it does this section becomes three sentences long. Until then, it is a nice reminder that the third party catalog vendors are still moving faster than the first party one, on first party software, for a first party feature.

The INVALID_TOKEN thing

If you run the bootloader installer interactively to test it, it will ask for a registration token and pre-fill the field with INVALID_TOKEN. That looks like an error and it is not. Leave the value exactly as it is and continue. The device is not registering with an AVD host pool, so there is no real token to supply. No post installation configuration is needed either.

Updates you do not control

Worth knowing before you sign off on the change: once installed and online, the AVD agent updates itself. You cannot manage, delay or ring that update process, and the agent will always track the current version available to the AVD service. If your change management process expects every binary on the endpoint to be under your control, this is a conversation you need to have up front rather than after the first surprise version bump.

🖥️ Step 6: Enable Remote Desktop through the settings catalog

The agents alone are not enough. The device also has to accept remote connections, and on a normal managed client Remote Desktop is off. A settings catalog profile handles it.

Create a profile under Devices > Configuration, platform Windows 10 and later, profile type Settings catalog. Searching the settings picker for “Remote Desktop” returns a long list, and the one you want sits under Administrative Templates rather than in one of the modern CSP categories:

CategoryAdministrative Templates
SubcategoryRemote Desktop Services > Remote Desktop Session Host > Connections
SettingAllow users to connect remotely by using Remote Desktop Services
ValueEnabled

That subcategory carries 17 settings in total and Intune will politely tell you that 16 of them are not configured. That is intentional, leave them alone. Adding session time limits or security layer settings here because they happen to be in the same list is how a helpdesk enablement turns into an unrelated RDS hardening project.

Assign it to the same device group that gets the agents. After the next check in, you can verify it on the client under Settings > System > Remote Desktop, and in the portal under per setting status. If you want a harder check, HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services should contain fDenyTSConnections with a value of 0. The policy wins over whatever the local Remote Desktop settings say.

Settings catalog profile with Allow users to connect remotely by using Remote Desktop Services set to Enabled
One setting enabled, sixteen left alone. That info banner is exactly what you want to see here.

I would deliberately scope this profile to the unattended device group and nothing wider. Turning on RDP across the whole estate to enable a helpdesk feature on a subset of it is exactly the kind of scope creep that shows up badly in the next security assessment.

🔥 Step 7: Network for unattended

One thing that is easy to get wrong here: the settings catalog profile does not open anything inbound. It only sets fDenyTSConnections to 0 so the Remote Desktop listener accepts connections. No inbound firewall rule gets enabled and none is needed. The AVD agent uses reverse connect, which means the device builds the connection outbound to the broker, exactly like a session host does. No inbound rule, no port forwarding, nothing to punch through your hardened firewall baseline. I checked it on my test device: all three inbound Remote Desktop firewall rules disabled, and the unattended session still connected.

Everything that matters is outbound on port 443. Remote Help talks to the Remote Assistance Service and carries RDP inside a TLS 1.2 tunnel, and the AVD agent on the device needs to reach the Azure Virtual Desktop service endpoints (*.wvd.microsoft.com and the rest of the list a session host needs). If you run SSL inspection on your proxy, exclude both the Remote Help and the AVD endpoints, otherwise sessions fail with errors that point nowhere useful.

▶️ Starting an unattended session

With the plumbing in place, the session itself is refreshingly simple. Here is the full path from the click to the remote desktop, plus what the user on the other end experiences at the same time.

Diagram showing the unattended remote sign-in flow from the Intune admin center to a separate Windows session, and the parallel end user experience
The helper path and the end user experience running in parallel.

In the portal it goes like this. Open Devices > All devices, pick the device, and from the remote actions bar choose New remote assistance session > Remote Help > Continue. You then get two options, and this is where the split between the two models becomes visible in the UI: Initiate attended control and Initiate unattended control. This is the only entry point. The Remote Help app on the helper’s machine cannot start an unattended session.

Intune remote assistance session type selection with Initiate attended control and Initiate unattended control
This is where the two connection models split. Without the permission, the second option stays grayed out.

Intune validates before it connects, which I appreciate. If the permission is missing or the device is marked personal, the unattended option is simply grayed out. If a prerequisite such as the agent or Remote Desktop is not in place, the Remote Help pane tells you what is missing, and an offline device fails with a clear hint to check power and connectivity instead of a generic timeout. A non-compliant device produces a warning banner but does not block the session.

A progress panel then shows the orchestration in real time while Intune wakes the agent and brings the connection up. When it is ready, Open Remote Help launches the Windows App web client in a new browser tab.

Intune progress panel while the unattended Remote Help session is being established
Intune wakes the agent and builds the connection. Open Remote Help only shows up once this is done.
Intune Remote Help pane showing the unattended session started and Open Remote Help available
Session is up. Open Remote Help launches the web client.

Windows App opens in a new browser tab and reuses the account you are signed in with in the admin center. In my lab there was no extra sign-in at this point. Before it connects, it shows its In Session Settings: keyboard shortcuts, multiple displays and an alternative keyboard layout. What you will not find there is a switch for clipboard, file transfer or printer redirection. Microsoft lists those as session features, but neither this dialog nor the settings panel during the session let me turn them on or off. If clipboard access matters to you, and in an unattended session it should, test how your environment behaves before you put it into your support process.

Windows App web client In Session Settings dialog with keyboard shortcuts, multiple displays and alternative keyboard layout
Keyboard, displays and layout. No switch for clipboard or file transfer.

Next comes a sign-in prompt for the Windows session itself, with your admin center account already filled in. Three account types work:

  • Local Windows account, as ComputerName\UserName
  • Active Directory domain account, as Domain\UserName or UPN
  • Microsoft Entra ID account, as UPN

If somebody is signed in on the device, Windows asks you first: another user is signed in, continuing will disconnect them, do you want to sign in anyway? Only after you confirm does the user get their own prompt.

Sign-in prompt for the Windows session in the Windows App web client with the helper account filled in
The sign-in for the Windows session itself, admin center account already filled in.
Windows warning to the helper that another user is signed in and will be disconnected
Somebody is signed in. Windows asks the helper first, before the user gets a prompt.

Only one helper can hold an unattended connection to a device at a time, and only one unattended session can be active on a device at a time. So if two people are chasing the same ticket, the second one waits.

👤 What the user actually sees

This is the part I would put into your end user communication before you enable anything, because it is the part people will ask about.

If nobody is signed in, the session simply starts. No prompt, no notification, nothing to see.

If somebody is signed in, they get a Remote Desktop Connection prompt that names the helper account asking to connect. OK disconnects them right away and lets the helper in. Cancel keeps them connected and the helper stays out. And if they do nothing, the prompt stays for 30 seconds and then they are disconnected anyway. That timeout is the single most important detail in this whole feature and the one your works council or data protection officer will focus on, so do not bury it. The upside: the prompt shows exactly which account wants in, so the user at least knows who is coming.

Remote Desktop Connection prompt on the user device asking whether the helper account may connect, with a 30 second timeout
What the user sees. OK lets the helper in, Cancel keeps them out, no answer for 30 seconds and they are disconnected anyway.

After that, the user’s session is disconnected, not signed out. Their open work is preserved, and they see the normal Windows lock screen. They cannot observe anything the helper does in the separate session. They can, however, take their device back at any moment by signing in again from the lock screen, and the helper is notified when that happens and can either continue or disconnect. Nothing is lost on either side. When the session ends, the device returns to its previous state and the user picks up where they left off.

Windows lock screen on the user device while the helper works in a separate session
The user view while the helper works: the normal lock screen, nothing else.

🔎 Auditing and what gets logged

Every session, attended or unattended, lands in two places in Intune. Tenant administration > Remote Help has a Monitor tab with the active sessions and a Remote Help sessions tab with the history: helper, sharer, device and duration. You can add a session type column there, which shows Attended or Unattended. For unattended sessions the recipient stays empty, because there is no sharer. The Intune audit log adds which features were used, including whether elevation was invoked, and the helper’s authentication shows up in the Entra ID sign-in logs. Between those you can answer who connected to which device, when and with which rights, which is the minimum any auditor will ask for.

Intune Remote Help sessions tab with a session type column showing attended and unattended sessions
Add the session type column and attended and unattended sessions are easy to tell apart.
Intune audit log entry for an unattended Remote Help session
Every session lands in the audit log, including the session type.

Microsoft additionally retains a small amount of session telemetry for 30 days: start and end times, who helped whom on which device, and which in session features were used. Errors from Remote Help itself, such as unexpected disconnects, are written to the event log on the sharer’s device. What is explicitly not captured anywhere is the content of the session. No recordings are stored, and Microsoft cannot see actions or keystrokes.

If you want anything beyond 30 days, and for a privileged access capability you probably do, ship the Intune audit logs and the Entra sign-in logs into your own workspace and keep them under your retention policy.

When a session fails and you end up opening a support case, use the Capture logs button in the About panel of the Windows App web client. It sits right next to the session and support IDs, which is exactly what Microsoft support will ask for first.

🧰 Troubleshooting cheat sheet

SymptomLikely causeWhere to look
Helper gets a missing permission messageRBAC role, scope groups or scope tagsThe role assignment, not the role
Connection hangs or failsSSL inspection or blocked outbound 443Proxy exclusions
Remote Launch notification never appearsDo Not Disturb, Focus mode or an unhealthy Intune Management ExtensionThe client, then IME health
Black screen with a pause symbolUAC prompt on the secure desktopStart an Admin Session
Sign-in blocked before the sessionConditional AccessEntra sign-in logs: RemoteAssistanceService for attended, Windows App for unattended
Unattended option grayed outMissing permission or device marked personalRBAC and device ownership
Unattended fails before connectingAgents, Remote Desktop or device offlineRemote Help pane, then fDenyTSConnections
“Necessary clients not installed”Bootloader missingRDAgentBootLoader service, IME log (AgentNotFound)
Unexpected disconnectsAnything on the device sideEvent Viewer on the sharer device

🚨 The security decisions I would not skip

A capability that grants interactive access to endpoints without a human present is a security product whether it is marketed as one or not. A handful of decisions turn this from a risk into a controlled tool:

  • Tier the attended roles. View and control for first level, elevation for a small group, unattended in its own role. Help Desk Operator for everyone is the easy way and the wrong one.
  • One dedicated role, nothing else in it. Do not merge unattended with your attended Remote Help role. The separation Microsoft built in only helps if you keep it.
  • Scope by device group, always. The permission is only as narrow as the scope groups on the assignment.
  • PIM for Groups on the helper group. Intune roles cannot be activated in PIM directly, so make membership of the assigned group eligible rather than permanent, with justification and approval.
  • Conditional Access on the helper account. Phishing resistant MFA and a compliant device, at minimum. Make sure it covers the unattended sign-in path, not only RemoteAssistanceService.
  • Never sign in with a Global Admin or a tier 0 account inside the remote session. The session enforces the privileges of the account you type in, so type in the smallest one that solves the ticket.
  • Test clipboard and file transfer before you go live. The web client gave me no switch for them, so find out how your environment behaves before a helper pastes a credential into the wrong place. Enable them per session when the task actually needs them.
  • Offboard properly. When someone leaves the support team, the role assignment has to go with them the same day.
  • Clean up helper profiles. Every unattended session creates a real local profile for the helper account on the device, and it stays there after the session ends. Only the group membership is temporary: the helper account is added to the local Remote Desktop Users group for the duration of the session and removed afterwards. Plan a cleanup, especially on shared or high value devices.
  • Write it down for the users. The 30 second timeout, the lock screen behavior, and the fact that they can reclaim the device belong in your IT policy, not in a support ticket after the fact.

⚠️ Limitations worth knowing before you promise anything

Remote Help in general

  • No session recording. If your compliance team needs recordings, Remote Help is not your tool.
  • Session setup is slower than with some third party tools, because identity, RBAC and compliance are checked for every single session. That is by design.
  • Cross platform helpers work through the web app, and a sharer who joins from the browser instead of the native client only gets view only support.
  • No cross tenant sessions, which matters if you are an MSP working in customer tenants from your own.
  • Not supported in DoD tenants. If you are on GCC or GCC High, verify the unattended scenario specifically before you promise it.

Unattended on top of that

  • No virtual machines, at least not supported ones. Windows 365 and AVD are out, which rules out a large chunk of many modern estates. A plain Hyper-V VM worked in my lab, but that is nothing to build a support process on.
  • No ARM devices, so a fleet of Snapdragon based laptops is not covered.
  • No BYOD and no unenrolled devices, regardless of the tenant level unenrolled setting.
  • The device has to be awake and online. Sleeping, hibernating and powered off machines cannot be reached, which limits the classic overnight maintenance use case unless you have Wake on LAN or a modern standby policy sorted out.
  • One helper and one unattended session per device at a time.
  • Sessions end after 12 hours at the latest, and that limit is not configurable.
  • A restart triggered by the helper ends the session, and anything unsaved in it is gone.

💭 Final Thoughts

Remote Help has been “almost there” for a long time. This summer it got the two things it was missing: a license most enterprises already own, and a way to support a device nobody is sitting at. That combination makes it a serious candidate to replace a third party remote support tool, and I say that as someone who has spent years explaining to customers why Remote Help was almost but not quite enough.

The security model is more thoughtful than I expected. Entra ID on both sides, RBAC enforced server side, a dedicated unattended permission that lives in no built in role, a separate session instead of a hijacked one, and a user who can take the device back at any time. What I like less is the unattended delivery mechanism: the AVD agent and bootloader on every supportable endpoint, updating themselves outside your control, is a heavier footprint than the announcement implies.

My advice: roll out attended Remote Help now, since you are probably already paying for it. Get the RBAC tiers and the Conditional Access split between helpers and sharers right before anyone gets used to a wide role. Then add unattended on a small pilot ring and put the 30 second timeout in writing for your users. The technical setup is a couple of hours. The governance is what takes the time. The click is gone, and the accountability for who gets to skip it is now entirely yours.

Leave a Reply

Your email address will not be published. Required fields are marked *