Microsoft

Using Intune to deploy the new Microsoft Quick Assist

To follow up on my previous post we now know Microsoft is moving the Quick Assist app to the Microsoft Store. My first thought was no problem I will just go into the Windows Store for Business and make the app available so I can deploy it via intune. However, that was not the case. Once I assigned it to a device I noticed I was prompted with a UAT prompt just like I was when I manually went to the Microsoft Store to download it. That is when I initially said I will need to build a custom script using the offline package. The good thing about this is I could do the cleanup of the old version at the same time.

The goods

I have put together a ZIP containing the script’s and .intunewin files. If you do not want to use my pre-wrapped file then feel free to create your own using the script. Click here to download the ZIP

Note: The logs for this script save to “C:\ProgramData\Microsoft\IntuneManagementExtension” If you would like to modify this then open “Quick-Assist-Package.ps1” and look at the following lines.

#Log output results
function LogOutput($Message) {
    $LogFile = "C:\ProgramData\Microsoft\IntuneManagementExtension\Quick-Assist.log"
    "$(get-date -Format 'MM/dd/yyyy HH:mm') $($Message)" | Out-file -FilePath $LogFile -Append -Force
}

Creating the Intune app

I’m going to assume you know how to create an Intune app so I’m going to skip to the important tabs “Program” and “Detection Rules” since we are using a Powershell script.

Program

We will need to put in a specific command for the install and uninstall command fields since we are using a PowerShell Script.

Install command – This will be used to trigger the install portion of the script

powershell -executionpolicy bypass -file Quick-Assist-Package.ps1 -install

uninstall command – this will be used to trigger the uninstall portion of the script. This means if you ever wanted to uninstall it in the future you could using intune.

powershell -executionpolicy bypass -file Quick-Assist-Package.ps1 -uninstall

Detection Rules

For detection rules we are going to use a PowerShell script I created. You can find it in the ZIP above called “QuickAssistDetection.ps1“. Below is a quick look at the detection script.

Try {
$AppXStatus = Get-AppxPackage -allusers MicrosoftCorporationII.QuickAssist -ErrorAction Stop
    If ($AppXStatus.status -eq 'OK'){
            Write-Host "Quick Assist is installed"
            Exit 0
        } else {
            Write-Warning "Quick Assist not installed"
            Exit -1
    }
    } Catch [exception]{
        Write-Error "[Error] $($_.Exception.Message)"
}

The script simply uses Get-AppxPackage to validate that the Windows Store version of Quick assist is now installed. Below is a screenshot of what the detection rules page should look like.

Conclusion

You should now have the app in Intune and you are now ready to deploy it.

– DroidKid

Advertisement
Standard

32 thoughts on “Using Intune to deploy the new Microsoft Quick Assist

  1. Pingback: PowerShell Script to install the new Quick Assist silently. | DroidKid

  2. Pingback: Endpoint Manager Newsletter – 20th May 2022 – Andrew Taylor

    • KEVINH says:

      Its right at the beginning of the article. The second sections describes “The Goods”

      “I have put together a ZIP containing the script’s and .intunewin files. If you do not want to use my pre-wrapped file then feel free to create your own using the script. Click here to download the ZIP”

  3. James says:

    For Requirements do we put in Script Quick-Assist-Package.ps1 then ‘Integer’, value equals 0?

    New to this.

    Thanks for posting this solution.

  4. Steven Siu says:

    Hello, I assume you are taking the appxbundle and the script file and packaging it into an intunewin file?

  5. Laci says:

    Hi Droidkid,

    Thank you very much for these scripts. I modified your scripts with DISM Powershell commands and i able to deploy the new QuickAssist app without Intune via Group Policy startup script.
    Can i publish the modified script on my github? Of course with source.

    Bs,
    Laci

  6. Abe says:

    Hi DroidKid!

    This was really well done and I appreciate the work you put into it! We have a large amount of endpoints so it was fantastic to find this. I was about halfway through my own script when I came across this. I have two things that seem to occur and I’m curious on how you have resolved it.

    Intune is detecting that Quick Assist is successfully deployed on some machines but I’ve seen first hand that sometimes the new version isn’t on the machine and that the old one is still present. Resyncing the device doesn’t change the report. So far it’s happened to about a dozen users and I can’t find commonality. Have you seen this?

    The Quick Assist Icon – Have you found a way to deploy the Desktop icon or update the abandoned icon left behind after the uninstall?

    Thanks again!

  7. Tim White says:

    I modified the detection script slightly for my use. We had already deployed Quick Assist via Intune as a Microsoft Store app to most machines before finding out even that method prompts the user with a UAC prompt. The result is a quick assist that can be opened but can’t establish any remote control session.

    I’ve modified it to instead detect if the old version of quick assist is installed, and exit if it does. Once the old version is removed AND the new version is installed it successfully detects the installation as successful.

    if (-not(Test-Path -Path $oldversion -PathType Leaf)) {
    Try {
    $AppXStatus = Get-AppxPackage -allusers MicrosoftCorporationII.QuickAssist -ErrorAction Stop
    If ($AppXStatus.status -eq ‘OK’) {
    Write-Host “Quick Assist is installed”
    Exit 0
    } else {
    Write-Warning “Quick Assist not installed”
    Exit -1
    }
    } Catch [exception]{
    Write-Error “[Error] $($_.Exception.Message)”
    }
    }
    else {
    Write-Warning “Old version is currently installed”
    Exit -1
    }

  8. anthony says:

    I was having trouble with this line:
    ‘Get-AppxPackage -allusers MicrosoftCorporationII.QuickAssist | Remove-AppxPackage -allusers’

    – As others mentioned you can drop the -allusers at the end for better results but on my end that would uninstall quickassist but it would leave the provisioned package & cause the detection script to error out.

    I replaced it with this:
    Remove-AppxProvisionedPackage -online -packagename MicrosoftCorporationII.QuickAssist_2022.614.2314.0_neutral_~”

    That last bit is going to be different depending on the name of the package. I went ahead & downloaded my own offline installer instead of using the one provided so just swap my package name with yours.

  9. DroidKid Fan says:

    It looks like the links are dead for the full script download. I managed to get a functional working version from the snippets of code posted, but would like to see the full script. Does anyone have a mirror to the script download link?

  10. DroidKid Fan says:

    Sorry, my previous comment was for the wrong article. I posted again in the correct place. If you can simply delete my previous comment awaiting moderation (and if possible fix the link for my other comment for Question)

  11. barry says:

    This works great apart from with some users who have the app installed as “staged” so the detection rule thinks its already installed. (struggling to find out why they are staged). Even if i run the script manually on the machine it wont run because of the line in the script

    “If ($InstallAppX.status -eq ‘OK’){
    LogOutput “[Info] Windows Store version of Quick Assist is already installed””

    When the user installs the app it still asks for admin credentials.

    Anyone else come across this? … and figured out a solution

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s