Using remediations to deploy a Quick Assist shortcut on the desktop

What’s up, everyone! 

There are a couple of ways to deploy a shortcut to the desktop of the user. In this post I will zoom in on using Intune remediations to check if the Quick Assist shortcut is available on the users desktop. And if it’s not, it will create a shortcut. There are a couple of small tricks in this post, so I hope you’ll like it!

Requirements

There are quite a bit of requirements to use rememdiations. So I’ve decided to link (here) to the Microsoft site instead of listing each requirement.

Make sure to check if you have the correct licenses. Microsoft will make sure that you verify before you can use remediations. Assuming that your licenses are good, go to the Microsoft Intune admin center, Tenant administration and toggle the I confirm that my tenant owns one of these licenses switch to On.

How do remediations work?

Remediations are based on two PowerShell scripts:

  • Detection script: Use this script to determine if the goal is met or not. Make sure to use exit 0 if the goal is met or use exit 1 if the goal is not met and the remediation script needs to be executed on the device.
  • Remediation script: Use this script to fix the issue at hand.

As an admin you can assign this remediation to All users, All devices or a custom group. You can decide to run the script only once of create an hourly or daily schedule.

Using remediations to deploy Quick Assist on the desktop

Let’s do a demo on how to deploy a shortcut for Quick Assist on the desktop of a user. I will need to perform the following steps:

  1. Get a working shortcut of Quick Assist.
  2. Create a detection script.
  3. Create a remediation script.
  4. Create the remedation in Microsoft Intune.
  5. Watch the magic happen!

Step 1: Get a working shortcut of Quick Assist.

Quick Assist is a modern app and creating a shortcut from the executable directly will give you all kinds of trouble when trying to start Quick Assist. Instead use the following command in the shortcut:

explorer.exe shell:appsFolder\MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe!App

Also make sure to use a tool of your choice to extract / generate the desired icon file and save that next to the shortcut. Open the shortcut and change the icon file to the newly saved icon. If you don’t do this step, you will end up with a blank icon.

I just copied all the files in C:\Temp since that is where the files will be extracted on the target devices and that also the place where I changed the icon in the shortcut.

Step 2: Create a detection script.

In this script I determined the location where the Quick Assist shortcut should be located. The script will return one of the following:

  • Exit code 0: if the shortcut is found and the remedation script should not run. 
  • Exit code 1: if the shortcut is not found and the remediation script should run.

Here is the PowerShell code I used:

# Detection script: check if the Quick Assist shortcut exists on the users desktop
$desktopPath = [Environment]::GetFolderPath("Desktop")
$fileName = "Quick Assist.lnk"
$check = $desktopPath + "\" + $fileName
$result = Test-Path $check
if ($result -eq "True") {
    # The file exist, exit with code 0 
    exit 0
}
else {
    # The file does not exist, exit with code 1 to allow the remediation script to copy the file
    exit 1
}

Step 3: Create a remediation script.

This script aims to create a shortcut for Quick Assist on the desktop. To do so I simply converted the Quick Assist.zip file to Base64 code. 

Just decode the Base64 to a variable and save the content to a file. 

Next up is to extract the shortcut from the zip archive and copy it to the desktop of the user.

Here is the script that I used:

# Remediation script: copy the Quick Assist shortcut on the desktop of the user
# Detect temp folder
$tempFolder = "C:\Temp"
$checkTemp = Test-Path -Path $tempFolder
if ($checkTemp -match "False") {
    New-Item -ItemType Directory -Path "C:\Temp" | out-null
} 
else {
    # Temp folder exist, moving on to next step
}
# Decode base64 code to file
$base64string = "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"
$FileName = "C:\Temp\Quick Assist.zip"
$bytes = [Convert]::FromBase64String($base64string)
[IO.File]::WriteAllBytes($FileName, $bytes)
# Extract .lnk from .zip file
Expand-Archive -LiteralPath "C:\Temp\Quick Assist.zip" -DestinationPath "C:\Temp\"
# Copy the .lnk file to the users desktop
$desktopPath = [Environment]::GetFolderPath("Desktop")
Copy-Item "C:\Temp\Quick Assist.lnk" -Destination $desktopPath

Step 4: Create the remediation in Microsoft Intune.

From the Microsoft Intune admin center, go to Devices, Scripts and remediations and select the + Create button.

Provide a name and optionally a description.

Use the folder icon to upload the previously prepared detection and remediation script. 

Make sure to run the script in the users context since we need to deploy the shortcut on their deskop.

Add scope tags if you like and continue to the Assignments tab. 

From the assignments tab, assign the remediation to all users, all devices or a custom group. In this demo I chose all devices and used a filter for my Cloud PCs.

Notice that there’s a schedule option. Click and and decide if you want to run this remediation only once, hourly or daily. 

Take a moment to admire your awesome work and save the remedation.

You will see the remediation in the overview once it’s created. 

There is more information available if you click on the remediation:

All that is left to do is to wait until the remediation is executed on the affected systems and the Quick Assist icon will pop up on the desktop.

Resources

I used the following resources for this post:

Remediations | Microsoft Learn

Leave a Reply

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