Friday, 20 October 2017 19:27

Removing Quick Assist App Using MDT

Written by
Rate this item
(11 votes)

image

Quite a few of my blog posts start off with a customer engagement - this one is no different. This week I held another Windows 10 deployment workshop in Munich where I emphasized how Microsoft Deployment Toolkit is a powerful OS deployment tool which allows a high grade of Windows 10 golden image customization. One of the questions was "Is it possible to remove the "Quick Assist" application from a Windows 10 "Fall Creators Update" (1709) image using Microsoft Deployment Toolkit? The answer was a resounding "yes" because #PowerShellIsKing

Initially introduced with last year's Windows 10 Anniversary Update, this remote-access application allows two computers to connect over the internet. Needless to say, in an Enterprise scenario, the usefulness of this application is somewhat limited. The good news is - unlike the new "Mixed Reality Portal" app, which is considered a system app and can’t be removed (believe me, I tried) - this particular app can be uninstalled. A couple of months ago, Michael Niehaus published a blog post detailing how to remove the "Contact Support" app from a Windows 10 image. This is a non-issue now as - starting with Windows 10 1709 - "Contact Support" became a provisioned application package, but the same methodology applies.

As you may or may not know. the "Quick Assist" app is a Features on Demand v2 (Capabilities) package, that can be added or removed at any time. There are several different ways when it comes to dealing with Features on Demand v2 - my favorite approach is to remove the "Quick Assist" app during the Post-Install phase of a Microsoft Deployment Toolkit build & capture task sequence. Simply run this PowerShell script as part of your MDT task sequence and the app should be gone:

# Determine where to do the logging 
$tsenv = New-Object -COMObject Microsoft.SMS.TSEnvironment 
$logPath = $tsenv.Value("LogPath")  
$logFile = "$logPath\$($myInvocation.MyCommand).log"
$ScriptName = $MyInvocation.MyCommand

# Create Logfile
Write-Output "$ScriptName - Create Logfile" > $logFile
 
Function Logit($TextBlock1){
	$TimeDate = Get-Date
	$OutPut = "$ScriptName - $TextBlock1 - $TimeDate"
	Write-Output $OutPut >> $logFile
}

# Start Main Code Here
$OSDisk = $tsenv.Value("OSDisk")
$ScratchDir = $tsenv.Value("OSDisk") + "\Windows\temp"
$RunningFromFolder = $MyInvocation.MyCommand.Path | Split-Path -Parent 
$ListOfCapabilities = @("App.Support.QuickAssist~~~~0.0.1.0")

. Logit "Running from $RunningFromFolder"
. Logit "Property OSDisk is now $OSDisk"
. Logit "Property ScratchDir is now $ScratchDir"

ForEach ($App in $ListOfCapabilities) {
    . Logit "Removing capability: $App"
    dism.exe /Image:$OSDisk /Remove-Capability /CapabilityName:$App /ScratchDir=$ScratchDir
}

RemoveCapabilitiesOffline.ps1

Note: As Michal notes in his blog post, once the app has been removed, it shouldn’t come back when a new feature update is installed.

Read 4262 times Last modified on Sunday, 22 October 2017 18:47
  1. Comments (0)

  2. Add yours
There are no comments posted here yet

Leave your comments

Posting comment as a guest.
0 Characters
Attachments (0 / 3)
Share Your Location

Recent Posts

  • Yet Another Windows 10 Optimization Script
    As a reminder, Microsoft will be ending support for Windows 7 SP1 on January 14, 2020. I've had multiple enterprise…
    Written on Monday, 25 June 2018 16:09
  • Automating Dell BIOS Configuration Using MDT
    It’s been a busy couple of weeks for me, so I’m slowly going through a backlog of things to cover.…
    Written on Thursday, 21 June 2018 08:11
  • Configuring HP BIOS Using MDT
    This is the second post in my series that explores one of the most common questions I’ve been asked from…
    Written on Tuesday, 19 June 2018 09:54
  • BIOS to UEFI - The Easy Way: MBR2GPT
    This article is the first blog post in a series I'll write over the coming days that will provide a…
    Written on Monday, 11 June 2018 17:08
  • Force LAPS Password Reset during MDT OSD
    My customers often send me exciting cases. This particular one is especially interesting because it is common in infrastructures that…
    Written on Friday, 08 June 2018 10:10
  • Localizing Inbox Apps during OSD
    As a reader of this blog, I suspect that most of you, like me, are frequenting Twitter. And I bet…
    Written on Monday, 04 June 2018 18:18