Intune Tips & Tricks

Remote actions in Endpoint Manager

One question I get a lot from people that are fairly new to Microsoft Endpoint Manager is “which function should I use to reset a Windows device?” and what the different buttons actually do.

So here is a little cheat sheet what the different type of reset of a Windows device does. Some also applies for other platforms, which I will mention below.

One thing you will notice when clicking these options in the portal, you will always have to confirm your selection.


This is the first option you will glance at when looking at the remote actions available in the ribbon.

Retire is not a Windows unique feature and is maybe mostly used in a BYOD scenario, but could be applicable for some corporate scenarios as well.

Retire means that you will remove the connection to Microsoft Endpoint Manager and at the same time remove all data YOU put there through MEM, such as apps, profiles, policies etc. You could basically call this an “unenrollment” of the device.

A usefull scenario would be when a user is leaving the comapny and is keeping their iPhone which has been been enrolled through a more BYOD scenario. You will only remove corporate data, but leave all the users personal data.

This feature is maybe not that commonly used for Windows since these devices would typically be “locked” to the tenant using Autopilot. But for BYOD scenarios, this could be applicable.


Wipe is just what it sounds like. You will wipe all data from the device and put it back to factory defaults. This feature can be used on other platforms too. This is the feature I most frequently use, especially when testing things and needing to enroll things. This is equal to doing a factory reset from within the operating system. This is perfect for when a device is being decomissioned.

For Windows you get a few more options when triggering the option:

  • Wipe device, but keep enrollment state and associated user
  • Wipe decice and continue wipe even if device loses power

Typically, you dont need to select any of these but there are some cases where it could be usefull.

The wipe will also remove the device from Microsoft Endpoint Manager, IF not the first option is selected. The Azure AD object will remain and also the Windows Autopilot object, if you are using Windows Autopilot.

The “Wipe device, but keep enrollment state and associated user” will reset wipes all policies, but keeps user accounts and data, but not user files. It will reset user settings back to default. and resets the operating system to its default state and settings. This basically means that the device will be put back into the same state it was when it was first enrolled. If you are using Autopilot, use Autopilot reset instead.

The “Wipe decice and continue wipe even if device loses power” means that the device will continue to try to wipe untill its successfull. This is great for instance if the device is lost and you really want to make sure that the device is wiped for corporate data. This could in worse case leave the device unbootable if something happens. So use it with causion!


The delete option is exactly what it sounds like, you will delete the device form Microsoft Endpoint Manager. However, this will only remove the link and all data on the device will remain. However, the next time the device connects to Microsoft Endpoint Manager, corporate data will be removed.

This is mostly usefull when cleaning up any stale objects. Cleaning up stale object could with ease however we automated by using the automated clean-up rules in Microsoft Endpoint Manager found in Devices > Device clean-up rules.

Fresh start

Fresh start is a farily unknown feature in Windows which was introduced back in 2017.

What fresh start does is to remove any pre-installed software by the manufacturer (OEM) which is usally there. The computer will then run a more “Vanilla” version of Windows after the Fresh start.

When triggering this reset, there is an option to retain the user data, including enrollment, which would have little to no impact for the user. If this option is not selected, the device will be reseted and start up on the OOBE screen.

This could be usefull for cleaning out devices which has been delivered with an OEM image instead of a pure Windows image, or if the device is not purchased through your regular channels and getting the “wrong” image which includes pre-installed software.

Autopilot reset

Last out is the Autopilot reset, which is a really useful option if you are repurposing a computer from one user to another.

What Autopilot reset does is that it will restore the device back to a business ready state, meaning that all personal data is removed but all corporate settings are re-applied. All management information about the device is kept and so is the Azure AD object with all its device group memeberships. Doing this will also remove the primary user associated with the device.

When the device is handed to a new user, all they need to do is to sign in and the computer will finilize the setup for them. Users will not be able to use the device until the user enrollment parts are finilized, just like with any other Autopilot enrolled device.

Update: Got this pointed out to me by several people so I thought I would add this here as well. Autopilot Reset is NOT supported on Hybrid Azure AD Joined devices.

Key take aways

I hope this brings some clarity to the different remote actions and that you can figure out which to use when.

The ones I most commonly use are:

  • Wipe when testing things in my lab or completly changing what the device is used for, e.g. assigning a different Deployment Profile to the device.
  • Delete when I for some reason have ghost/stale objects
  • Autopilot reset when a device is being repurposed or changing user

The other ones are ofcourse useful, but maybe not something I frequently use.

Digital Transformation

7 things I learned working from home in 2021

This is somewhat of a forgotten post that got left behind in 2021, but I thought I would share this with you.

Since 2021 has been somewhat of a semi-weird year, where we started seeing a way back to the offices but also faced new trends and buzzwords. My favorite ones during 2021 were “hybrid work” and “digital fabric”, both heavily used in the Microsoft world.

I’m coming at this from a millennial’s perspective, maybe going back to my posts about being a millennial in the workplace.

1. Hybrid meetings are here to stay

Since we are seeing more people going back to offices, but in a more flexible way, hybrid meetings are here to stay! Hybrid means you will have people remote and in the room.

This comes with a lot of new challenges and a “do’s and don’ts” worthy of a blog post of its own. But it´s clear that some things will be challenging in this and I would say it comes down to culture and good meeting manners. But also the fact that you need a Teams-link in every meeting and you most likely can’t do an old school whiteboard session like you are used to, because most of our conference rooms are that fancy yet.

Having people remotely connected means that if there is a lot of people in the room, you can’t whisper things to your college since this will most likely be picked up by the mics in the room and you won’t hear the person actually speaking.

Another thing that might be on the list of things you didn’t think of is if someone brought “fika”/pastry to the meeting for those in the room. This is fairly common in Sweden and is usually delivered in some kind of paper bag made for bread. So it makes A LOT of noise. This is a BIG problem if you join through Teams since all you will hear is that bag.

Do have your pastry, even though I will be jealous, but please get rid of the bag before the meeting!

2. Being at an office

I’ve felt this before, but the pandemic and “the return to offices” has confirmed this and made my belief even stronger. If I’m going to an office I’m going there with a purpose. Not just because “that’s where I go to work”. This is a very personal thing, and I know a lot of people who prefer working from an office. But we are now seeing a shift in the “standard approach” and you are no longer the weird exception wanting to work remotely. If I look at the people I interact with daily, they are not based in the same part of Sweden as me anyway, so I won’t meet them at an office.

There is a point of showing up and having social interaction, but if I want to get stuff done I’m way more productive at home. However, going in for meetings and workshops is extremely valuable, but then again I’m going to the office with a purpose.

I keep coming back to this, some of my first posts touched upon this. During my time at Microsoft the phrase “work is not a place, it’s something you do” was something that was really pushed out. I think this is still relevant, and the pandemic has shown this.

However, I’ve picked up kind of a new take on that quote which is “The endpoint is the new workplace, and the workplace is hybrid”. I will come back to this in 2022!

3. Corporate life revolves around an office

One thing I think was pretty clear when we were seeing the light at the end of the tunnel of the pandemic was that everyone got REALLY excited about going back to offices again. I was excited too, this meant that you could meet people again and do things face to face, which is important and meaningful. However, as I stated in the second point, this whole thing “business as usual” at the office and going there every day is not for me but I respect that people feel the need for this.

The standard has always been that you show up at an office to work, working remotely has always been the exception. If you are the kind of person who thrives at an office, that’s great! But if you are the kind of person like me, whose stress is reduced significantly by not having to show up at an office every day, that should be okay going forward.

The two years we have spent working remotely show that we can be just as productive and creative in a remote setup. Since not everyone is the same, we should in the future embrace that we are all different with different needs. Not everyone feels great about being at an office 5 days a week.

Also, the coffee is usually better at home and the line to the microwave is a lot shorter.

4. Hangout on Teams

In my world, I’m really bad at small talk in general and I have always preferred chat over talk. I’m the generation that if I call you, it’s probably urgent (or I’m driving).

However, working from home missing daily social interaction from others other than my girlfriend and dog have actually gotten me to value to call people or just connect to social team hangouts. I’m not always the person driving the discussion in larger groups, but I enjoy the company and listening in.

I’ve actually increased the number of 1:1 calls I have with colleges discussing work and other stuff. I usually call people with a purpose, but I’ve caught myself calling people just to small talk. Big learning for Ola!

5. I miss traveling for work

I had a really intense period in a previous role traveling A LOT. I actually never counted the number of travel days I had per year, but I easily spent 3-4 days traveling per week during some periods.

I was so done with traveling for work, and I wanted to settle for something more predictable being more in the same place all the time.

Now I’ve reached a point where I actually miss traveling for work. Maybe not 4 days per week, but the occasional longer trip to see a customer or just attend a conference.

I really miss that and I want to do more of that when we get more into a controlled Covid situation.

6. I’m not used to people anymore

I don’t consider myself as an introverted person, my conclusion is that I’m somewhere in between introvert and extrovert.

But this whole thing with only meeting people through Teams has made meeting people IRL something that I get really exhausted by. It really drains my energy.

We had a 1,5-day gathering with all the people who work at Advania Knowledge Factory and I basically needed a day to recover from just meeting people.

Getting back to not being exhausted after meeting people several days in a row will take some time getting used to.

7. Learn to stop working

This is probably what I’m really bad at during the weekdays, but I try really hard NOT to be in front of the computer on the weekends.

My typical day starts at around 9:00 am, most meetings tend to start then. I work until about 12:00 where I have lunch and take my dog for a walk, hopefully being back until 13:00 where after lunch meetings usually start.

Then I’m stuck behind the computer until about 18:00 or something like that when it’s time to start cooking dinner. I might not do actually work that late, it usually involves catching up on tech news and community stuff.

There is always one more email to reply to, one more blog post to read, and one more tweet to re-tweet. But learning when to stop is key and this is something I need to improve in 2022 to actually keep me sane. One thing that I’ve promised myself to actually start using is the virtual commute in Viva Insights. This is a really cool feature and the days when I’ve used it I’m more disconnected from work and can focus on other stuff. If you haven’t tried it yet, I really recommend you do!

Tip of the week

Tip of the week – stop mirroring your camera

We have all done this. Showing something in the webcam in Teams and pointing in the wrong direction or mixing up left and right, since the camera is mirrored by default in Teams. It’s always been like this, but it’s still a tricky thing.

However, this might not be a problem for most users, but it could actually be usefull when for example showing physical things. Or it might just be that you want to see what your video feed looks like for everyone else.

This settings is set in the Device Settings panel in the meetings, click More actions (the three dots) and select Device settings. At the bottom you will find “Mirror my video” which is enabled. By disabling this, your video preview will not be mirrored anymore.

So before changing this, my camera is mirrored in my preview box like this.

When I disable the “Mirror my video” feature, it looks like this.

Like you can see, my preview is not mirrored anymore!


HoloLens multi-app kiosk

HoloLens got to be one of the cooler devices out there, but probably also one of the lesser-known devices how to manage.

What is a HoloLens really?

HoloLens is Microsoft’s device aimed for Mixed Reality, but at heart, it’s actually a Windows-based device but done in a more modern way. This means that the support for legacy protocols is limited, but also that the level of built-in security is maybe a bit higher than on your Windows-based PC. You can read more about the HoloLens as a platform here.

Given that it’s a Windows device, we can manage it using basically the same policies in Microsoft Endpoint Manager (MEM) as you would for the rest of your Windows devices. A lot of baseline profiles could be re-used (or duplicated) with ease which simplifies the configuration a bit.

There are a few things to keep in mind when it comes to Microsoft HoloLens 2, which has had an impact on the designs and implementations in my experience.

  • It doesn’t support EPP/EDR software of any kind
  • You can only run UWP based applications
  • You will need additional licenses to run e.g. Remote Assistance

HoloLens 2 as a kiosk

There are a lot of different applications and ways to implement and use a HoloLens 2. In this post, I’ll focus on how to set up the HoloLens 2 as a multi-app kiosk, but with user sign-in, using Microsoft Endpoint Manager.

Importing the device into Windows Autopilot

If your vendor or retailer didn’t import the HoloLens hardware ID for you, you can do this by following these four simple steps:

  1. While the HoloLens 2 device is powered on, press and release the Power and Volume down buttons together to trigger the hardware ID and diagnostic log collection process.
  2. Connect the HoloLens 2 device to a PC using a USB cable so that it shows up in File Explorer.
  3. Browse to Internal Storage > Documents  and extract This file/folder will contain a CSV file with a a file name that begins “DeviceHash…”.
  4. Upload the CSV file to the Windows Autopilot service

In order to simplify our management a bit and be able to create a dynamic device group with only HoloLens devices, assign a GroupTag to the device such as “Hololens”.

Creating a device group for HoloLens

Like all things in device management, we are really dependent on groups. In this case, we will use a device group to target only our HoloLens devices.

You can create a new Azure AD group by selecting Groups in the left hand side menu in the MEM portal. Then select “New group“.

Give your group a good name and select “Dynamic Device” as Membership type.

Next, click “Add dynamic query” at the bottom and add the following rule syntax, but replace the word Hololens used here with the name of your GroupTag.

(device.devicePhysicalIds -any _ -eq "[OrderID]:Hololens")

Click Save followed by Create to finish the creating of the group.

Setting up enrollment

First off, we need to create a new Deployment Profile for the HoloLens platform.

You will find the Deployment Profiles by navigating to Devices > Windows > Windows Enrollment and selecting Deployment Profile.

When you have selected the Deployment Profiles card, select “+ Create Profile” and choose HoloLens as the platform.

Give your profile a name in the Basic tab and press next. On the “Out-of-box experience (OOBE)”, you can really only have to change the name template if you are looking to use custom names for your HoloLenses. In my example, I’ve left all values to default. Press next to move to the next tab.

On the Assignment tab, select your HoloLens device group and press next.

Review your settings and hit Create to finish the creating of the deployment profile.

Creating a Filter for HoloLens

To make sure that we only target settings deployed towards users to their HoloLens devices, we need to create a filter we will use later on.

Navigate to Tenant administration > Filter. Create a new filter by clicking “+ Create” in the top ribbon. Give your filter a name, such as HoloLens, and select Windows 10 and later as the platform.

Since filters are kind of like dynamic groups, we need to add a syntax. The easiest way I’ve found to include HoloLens devices is to use our Deployment profile name, the attribute is called EnrollmentProfileName on the device. Enter the name of your Deployment Profile in the Value field.

Click next, then review and create the filter.

Configuring kiosk mode

You could basically already enroll your devices now and be done, but it will be like an unconfigured PC, your end-user will miss vital settings and applications.

Since this is a Windows-based platform, you can reuse or duplicate profiles you already have for Wi-Fi, certificates, and such. Not all profiles make a whole lot of sense to use on the HoloLens (such as settings for the Office suite or Chrome browser to give some examples).

The profile we need to create to set up the Kiosk-mode on HoloLens is a profile based on the Kiosk template.

Go to Devices > Windows > Configuration profiles and create a new profile by pressing “+ Create profile” in the top ribbon. Select Windows 10 and later as platform and Templates as Profile type. Scroll down and find the Kiosk template and click create.

As always, give your profile a name based on your naming convention on the basic tab and press next.

Based on your scenario, select either “Single app, full screen” or “Multi app kiosk” as kiosk mode and select “No” on the question if device is running S mode.

In my scenario, I will configure that users will use the device using their Azure AD accounts. Since I have to specify a group with eligible users, I’ve in my setup used a group containing most of my users meaning that all my users are allowed to sign in to the HoloLens. You can easily assign this to either a group of users or even a specific user. You can also add additional groups and/or users. Depending on your scenario, you can make different choices here.

Next up is to select what applications we will run on the device. This can be done by either selecting built-in applications or applications distributed through MEM. Keep in mind that Win32 applications DO NOT WORK on the HoloLens when selecting applications.

If you want to add built-in or system applications, this is done by adding the AUMID of the application. You can find all the HoloLens 2 applications AUMID on this MSFT Docs site.

In this example, I will add one built-in application and one store app. You add apps by pressing the “Add…” button under the Browser and application section.

When adding a app by using AUMID, you give the application a name (preferably what it’s called in the reference document) and the AUMID for the application.

When adding a store app, MEM will list the apps you have available for distribution. Also, keep in mind that you will need to make sure to target the application distribution towards the HoloLens group.

Leave the rest of the settings to the default value and click Next.

In order for the Kiosk mode to function properly when requiring Azure AD users to sign in, the profile needs to be targeted toward users otherwise nothing will happen in my experience. If you are not doing personal logins, you can target this towards a device group.

In order to not assign the Kiosk-mode to all the user’s devices, we will need to use a filter to limit what devices the profile is assigned to.

On the Assignment tab, select your group of users who will be allowed to use the HoloLens and then press “Edit filter” next to the group.

Select “Include filtered devices in assignment” and choose your filter then press Select.

Press next and leave the Application Rules to blank and review and create your profile.

Enroll and sign in!

Now it’s time to enroll your device, simply start the device and follow the on-screen instructions.

What I’ve seen is that sometimes, the kiosk mode does not kick in on the first login after enrollment. If this happens, simply sign in and out of the device, this has done the trick for me!

Tip of the week

Tip of the week – Backgrounds in Teams mobile app

One feature I really like in Teams on the desktop is the possibility to use different backgrounds in a meeting, to have your video background blurred or replaced by a picture. I think we all are familiar with this feature.

Now, this feature has finally reached mobile devices, which in my world could be really useful since you tend to be out and about while on your mobile device.

It’s really easy to get started with and to me, it’s really useful. I tend to connect through my phone when I’m out and about which then can remove any messy background since it’s not a controlled environment like my home office.

How to enable it?

When you connect to a meeting, you will get a new option at the top of the screen called “Background effects”.

When you click that, you will get the option to select a blurred background, a Teams standard background, or a custom background.

My personal favorite to use is the blurred background since it doesn’t take any attention from me so to speak. It makes it easier to focus.

But you could just as easily upload a picture from your camera roll and use that. Like faking you are out on the golf course.

Tip of the week

Tip of the week – Focus mode in Microsoft Word

Focusing while writing a long Word document can be really hard sometimes with distractions from other applications and windows. Or you just want to focus on the text and not the buttons around it.

Enter Focus mode. This isn’t a new feature, but I actually just learned about it.

Enabling focus mode

To enable focus mode you can either select View in the ribbon and then find Focus.

Or you can click “Focus” at the bottom of the window and this will also enable Focus mode Word.

When you enable Focus, Word will automatically go into full-screen mode, but you can still access the ribbon by moving your mouse to the top of the screen.

To exit out of the focus mode, you simply click the button again or just press the ESC button on your keyboard.

Changing backgroun color

When working on a Word document, you typically have some blank space around the document. Your background basically. This is usually white or black, depending on if you use dark mode or not.

By using Focus mode, you can actually change this color!

IMPORTANT NOTE: If you change the color of the background this will stick and you can only change it from within focus mode. However, when closing Word this will be reset back to default.

There are a few different colors to pick from, but they are quite nice!

Intune Tips & Tricks

Remove Quick Assist

Updated on the 29th of September 2022 due to changes in Quick Assist installation.

Like I mentioned in the blogpost about Remote Help, the build in Quick Assist tool in Windows 10 and Windows 11 is great for supporting friends and family. However, it’s not that great to support an organization since vital features are missing like handling UAC and logging. There is also a lot to wish for when it comes to how accounts are managed and the overall experience in a corporate setup using Quick Assist.

So, when we have deployed Remote Help to all our users, we want to remove Quick Assist to improve security (so unauthorized people cannot remotely connect) and to ease confusion about what remote support tool to use.

There are several ways of doing this, but I’m taking the approach that we don’t have a custom image since our devices has been enrolled through Windows Autopilot using vanilla images. So how can we remove the feature, and make sure that the end-user doesn’t get creative with enabling it again?

The answer to this is using proactive remediations.

What is proactive remediations?

Proactive remediations is a part of the Endpoint analytics section of Microsoft Endpoint Manager. You can find it by going to Reports > Endpoint Analytics > Proactive Remediations. By default you will have to script packages published by Microsoft.

Proactive Remediations is a script package where you can find and fix things on your clients, before this generates a ticket to your help desk.

However, since these are scripts running, you can do about anything to be honest. Each script package consists of a detection script and a remediation script. The scripts are then deployed to the devices through MEM and will report back. You can find reports on how many times a script has run, and how many times it has fixed an issue. Fixed and issue means that it has run the remediation script. You can read more about how they work and what you can do on e.g. Microsoft Docs.

One thing you could do is to detect if a Windows component is active, and if found active then disable it.

How do I remove new Quick Assist?

Due to an update, Quick Assist have now moved in to the Microsoft Store, meaning that we need a new way to remove the store app. Next chapter will cover the old application which was a Windows Capability.

There are several ways to remove pre-installed application from Windows, you could either get the application from the Business Store and assign it as “Uninstall” for all devices/users, or you could user PowerShell to remove applications.

For this, we will use Proactive Remediation to detect if the Quick Assist is installed, and if so we will remove it. This would remove the application even if the user installs it them self. There are other ways to do this as well, like only deploying the removal part and blocking the application with AppLocker.

I’ve put these scripts in my GitHub repository, for this part use the *_app files.

First we will do detection:

WinCap = Get-AppxPackage -name "MicrosoftCorporationII.QuickAssist"

try {
If ($WinCap.Name -like "*MicrosoftCorporationII.QuickAssist"){
Write-Warning "Quick Assist installed - running remediation script"
Exit 1
Write-Host "Quick Assist missing - exiting"
Exit 0
catch {
Write-Host "Quick Assist missing - exiting"
Exit 0

If our detection script finds the application, we will run a remediation script to uninstall it, just two lines of simple PowerShell code (thanks @LasseiLarod for the contribution to this).

$WinCap = Get-AppxPackage -name "MicrosoftCorporationII.QuickAssist"
Remove-AppxPackage -package $WinCap.PackageFullName

Now all that we need to do is to make sure that we run the script in User Context, since the application is installed in the user context.

How do I remove old Quick Assist?

One way to disable Quick Assist, even if the user enables it again, I have found is to use a proactive remediation which checks if Quick Assist is enabled on the device, and if it finds that it is Quick Assist is disabled.

Quick Assist isn’t an app installed from the store, it’s a Windows capability which means that we cannot uninstall the app.

To do this, we firstly need a script which will identify if Quick Assist is enabled. One way of setting that up is like this, a simple PowerShell script that my college helped me create (thank you Daniel).

I’ve put these scripts in my GitHub repository.

$WinCap = Get-WindowsCapability -online -name App.Support.QuickAssist*

If ($WinCap.State -match "NotPresent"){
    Write-Warning "Windows Capability - Quick Assist missing - exiting"
    Exit 0
else {
    Write-Host "Windows Capability - Quick Assist installed, Running Remediation script"
    Exit 1

This simple script will check if the Windows capability is enabled, if enabled it will run the remediation script which disables Quick Assist. It’s a one-liner:

Remove-WindowsCapability -online -name App.Support.QuickAssist~~~~

What could be good to keep in mind is that if the version of Quick Assist changes, this disable-part will stop working. I’ve’ tried using a more generic string, but I couldn’t get it to work. However, my PowerShell skills are quite limited.


RBAC in Intune- Who does what at the zoo

One thing that is important when working with IT infrastructure is to set the right level of permissions for the right people. Principle of least privilege is a good rule of thumb to follow, also in Microsoft Endpoint Manager.

It’s quite easy to just say that “okay, all admins gets the administrator role” which make everyone equal. But is it a good idea? No.

Microsoft Endpoint Manager (MEM) has a quite extensive Role Based Access Control (RBAC) function built in, and there are also Azure roles which applies to MEM. There is also the possibility to create your own custom roles if you want to define the roles yourself, or if you want to limit one of the built in.

Why use RBAC?

There is a simple answer to this. Improve security. Granting admin permissions to everyone administrating the system isn’t necessary. Your level of permissions should be related to what task you are performing. A Help Desk operator does not have the same needs as a third level support engineer; hence they should not have the same level of access.

Aiming for the principle of least privilege when looking at how to administrate MEM is important and implementing it at an early stage so that you assign roles accordingly.

For certain scenarios, there might be a need for users to have additional levels of access, being able to elevate Intune admin for example through Privileged Identity Management (PIM) but having a less privileged access as their normal level. Please note however, that PIM is an Azure AD P2 feature which you will need to make sure you are licensed for (it’s included in EMS and M365 E5 license SKU, but not in the E3 SKU).

Quick and dirty setup

So how to get going? One efficient way of doing it, which I like, is to firstly identify what roles you have in your organization and then map out what roles they should have. I prefer doing this in Excel, just listing the roles and then look at what Azure AD roles are related to MEM and then add the built in MEM roles. Then just simply add an X on who should have what roles. As you see in the example down below, some operational roles have several X in their row.

This should be adopted towards your organization and roles named what you are calling them.

Update: You can find my example Excel here.

Can I use PIM?

Using PIM, especially for admin roles should be a default when you are setting this up. You will need additional licenses, but you will not need this for all users only your admin users.

For Azure AD you can use PIM without any hassle, it’s easy to setup and you can set it to automatic approvals. Have look at this Microsoft Docs article on how to do it!

I would suggest having PIM for all roles which are called admin, so for MEM specific roles that is the Intune Administrator role and the Azure AD Joined Device Local Administrator role, but there are additional roles related to this area.

When it comes to using PIM on MEM specific roles, this isn’t as straight forward. You will need to take a different approach. PIM for Intune roles could be argued how beneficial this is, but it does improve security and resilience. However, you need to use a preview feature for this called Privileged Access Groups which is a part of PIM, and you will need to make sure to enable your Azure AD group for role assignment when creating it (this can’t be added creating the group). The people over at have create a great guide about how to set this up.

But in short what you need to do is to create a group which is enabled for Azure AD roles assignment.

Then enable Privileged Access on the group you created to add it to PIM.

Then you can assign your role in MEM to this group.

In this example I’m assigning PIM to my Help Desk Operator role.

Doing this, you could potentially enable PIM for all your MEM roles. I would however not use PIM for roles which are read only roles.

Key takeaway

There are a bunch of built-in roles in MEM which covers most scenarios. However, there might be instances where you need to tweak this a little bit. A good example of this is the Remote Help role which I wrote about in my previous post. Remote Help might be useful for people who are not working in Intune as part of their daily job, this could be application specific support personal for example who don’t need access in MEM but have the need to remotely support their users.

Getting RBAC in place at an early stage will simplify operations and getting the right permissions for everyone involved down the line, and you will decrease misshappenings. Or just simply shadow IT doing their own thing in your controlled environment without change control or the approvals from the governance forums.


Microsoft Remote Help tool

It finally happened. Microsoft released their own remote assistance tool called Remote Help at Ignite during the fall 2021. It was to be honest one of the things I got most excited about.

Licenses are still a bit unclear around this, Microsoft says it’s free to use during the preview but will come at an additional fee once GA hits. What this license model will look like, no one seems to really know at this point. So please be aware of that the licensing will change and that this is still public preview before putting this into production.

But the fact that it´s in public preview means that you can start assessing it and see if it will fulfil your needs!

The setup

To get going, you basically sign in to Microsoft Endpoint Manager, navigate to Tenant Administration > Connectors and Tokens > Remote Help and select Enable under the Settings tab.

And now it’s enabled!

You will also need to assign the correct rights to your support personal. If you are using the built in roles in Intune for this, this role is enabled by default for:

  • School administrator
  • Help Desk operator
  • Intune admin

If you want to add this role to a role, or create a specific custom role for Remote Help, you can do so by creating a new role and adding the Remote Help app” rights to that user.

You can create custom roles by going to Tenant administration > Roles and then select “+ Create“.

You will then have to assign your new role to an Azure AD group containing the users you want to add this role to by selecting Assignments on your newly created role and then “+ Assign”.

Give the assignment a name:

Add the group of users you want to assign this role to:

On the next blade you can select the scope for your support personal. You could for example only allow this group to remotely support a specific group of devices. But in this setup, I’m using “All devices” as the scope group.

If you are not using scope tags, just press next and then create your assignment.

Remote help app

The other part of this solution is the Remote Help app which you will need to distribute to your users.

To get the app, you simply download it from Microsoft at and you will get the application file.

Next step is to get this out to your computers through Intune, which means that you would need to package this as an Win32 app in Intune. Best way to do so is by using the IntuneWinAppUtil tool.

And create a detection rule based on that a file exist.

Once you have packaged it, uploaded it and distributed it to your clients, you are ready to go!

The experience

To connect, the admin or support personal needs to have the Remote Help app installed on their device (which should be deployed from Intune).

To launch a remote session with a user, there are two ways you can go at it. You as an admin can navigate to the device in the Microsoft Endpoint Management portal and go to Devices > Windows > Windows devices and find the device you want to support. On the device ribbon (where you see “Retire, Wipe, Delete”) find the three dots and select “New remote assistance session” and then click “Launch remote help”. This will open the Remote Help app.
Update: This being preview and all, it seems like the experience has changed a bit since when I originally started setting this up in my lab. The proper way to initiate a remote session is to go through the app, not Microsoft Intune. Check out the updated Docs for more information.

To initiate a remote session, launch the Remote Help app from your computer.

The first time you launch Remote Help, you will be asked to sign in and accept the user agreement.

Once signed in, you get a similar experience as the Quick Assist app where you can either choose to get or give help.

To give help, you simply select “Get a security code” which will generate a code that you can provide to the user you are helping.

When you have generated the code, share it the user you are helping. When the user enters the code in the “Get help” section, the admin will get a prompt showing which user they are trying to connect to, and they can select if they want to take full control or just view the screen.

Based on the support persons selection, the user will get a prompt showing who is going to help them and to allow or cancel their request to connect.

As you can see below, Remote Help will prompt if the device you are connecting to is not compliant and you can choose to either accept or leave the session since this could mean an increased risk. This status is also shown in the Microsoft Endpoint Manager portal on the device.

And now we can see the user’s desktop and perform our remote support tasks!

One little nice feature I found was that there is some options to do annotations on the users screen if you want to guide them to do something, and there is also a message feature you can send a receive messages in.

Why use Remote Help

What sets Remote Help apart from e.g. Quick Assist in Windows is that it’s built for enterprises, not consumer. This means that you have more control and possibilities, such as using corporate credentials and being able to accept UAC prompts with your admin credentials.

One other major thing here is that logging. You can see who helped whom and when.

You can also easily monitor how much the remote help is being utilized.

You can find all these things from Tenant Administration > Connectors and tokens > Remote Help (Preview).

Additional thoughts

I’m a huge fan of this new product and I’m really excited to see what this will become once general available.

One thing that could be a good idea is to remove the Quick Assist app if you have that installed on your device, to reduce confusion but also to improve security a little bit since with the Quick Assist anyone can remote your users’ computers if they are not cautious. This can easily be done by deploying a PowerShell script to the devices.

Remove-WindowsCapability -online -name App.Support.QuickAssist~~~~

Quick Assist isn’t built for enterprise use but is a great tool to support family and loved ones to be honest (I use it often to support family members).

Intune Tips & Tricks

Exclude devices from profile

One of the most common ways to assign Windows Autopilot profiles is to use the wildcard argument for Autopilot devices in an dynamic Azure AD group:

device.devicePhysicalIds -any (_ -contains "[ZTDId]")

This is a powerful way of gathering all devices imported to Autopilot into a single group to assign either enrollment profiles, configuration profiles or even applications without the need for any additional work or use of group tags.

However, this group being powerful makes things a bit harder when it comes to excluding devices that might need a different enrollment profile for testing, different device type or just a different use case.

There are different ways of doing this, but this is the way I found that works well and it assumes that you have another Azure AD group which you use to assign Enrollment Profiles, dynamic or assigned.

Let’s say we have two enrollment profiles:

  • Production profile
  • HoloLens profile

The “Production profile” is assigned using a group called “All Autopilot devices” which gets devices using the “device.devicePhysicalIds -any (_ -contains “[ZTDId]”)” string to gather all devices which are imported to the environment.

We have also imported the HoloLens devices in to our device list for Autopilot, which we are using a group tag to populate our “HoloLens devices” group with which is then used to assign the HoloLens profile.

Now comes the tricky part. Since we have the “catch all” group already, that will include the HoloLens’s which means that we will assign configuration profiles and applications that are assigned using that group.

Since our HoloLens’s are a different type of devices, we want to assign a separate set of configuration profiles and applications towards them, meaning that we need to exclude them from the “All Autopilot devices” group and add them a HoloLens specific group to assign our HoloLens profile.

Creating out groups

To add them to the HoloLens deployment profile you can create a dynamic group which is using Group Tags to populate. This will require you to add this group tag to all your HoloLens’s. In this case, we will use the Group Tag “Hololens”.

(device.devicePhysicalIds -any _ -eq "[OrderID]:Hololens")

This will assign the HoloLens specific deployment profile to the device.

However, we also want to make sure that we do not include these devices in the bigger group which is used to assign the “regular” Windows policies. This was a bit trickier than I thought to be honest.

After playing around with excluding the group tag, which for some reason didn’t work that great, the most effective way was to exclude devices from my big “All Autopilot devices” group by using the fact that it has a deployment profile assigned to it. This value can be used in the rules for the group by saying that we don’t want to include devices having a deployment profiled called “Autopilot HoloLens” assigned to them.

device.enrollmentProfileName -ne "Autopilot HoloLens"

The outcome

By changing the rule to say that in addition to “catch all” also no include anything that has the deployment profile “Autopilot HoloLens” assigned to it, we will now have a group which will exclude all HoloLens devices!

This can of course be used for other things than HoloLens, it applies for anything that has a deployment profile assigned to it.

There are other ways to accomplish this, but this is the easiest way I’ve found so far!