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 1982 times Last modified on Sunday, 22 October 2017 18:47

Leave a comment

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.

Recent Posts

  • Automating Multi-node Tableau Server Environment
    After a few weeks off, I am delighted to announce that I have returned full time, once again delivering somewhat…
    Written on Monday, 19 February 2018 11:01
  • The Case of Missing TPM P@ssword
    As my regular blog readers will be aware (yes, all three of you), there is something increasingly traditional about me…
    Written on Thursday, 25 January 2018 10:04
  • The Case of "Just a Moment..."
    A key part of any complete end-to-end deployment project is analysis of the resulting logs to identify root causes for…
    Written on Tuesday, 16 January 2018 12:57
  • How to Automate Input Preferences during OSD
    A few days ago I stumbled upon a question on the Microsoft Deployment Toolkit (MDT) forum where a user asked…
    Written on Monday, 15 January 2018 12:36
  • Disabling Cortana Voice Support during OOBE
    Yesterday I came across a Twitter thread in which multiple users detailed their beef with the revamped setup experience of…
    Written on Tuesday, 12 December 2017 10:04
  • Fixing "Windows update reboot is pending" during OSD
    Automated OS deployment became common as IT professionals install systems using tools like Microsoft Deployment Toolkit or System Center Configuration…
    Written on Tuesday, 28 November 2017 08:44