Windows 10 in place upgrade Task Sequence, auto re-install RSAT.

UPDATE: 2020.03.11 (1909 Tested)

Windows has changed a lot since this post, how MS does RSAT has changed and they are now Features on Demand

I've had to update my method for detection, I've switched to using PowerShell:


if (Get-WindowsCapability -Online | Where-Object { $_.State -eq "Installed" -and $_.Name -match "Rsat.ActiveDirectory"})
{Write-Output "TRUE"}
{Write-Output "FALSE"}

This will set SMSTS_RSAT to True or False depending on if it finds the Windows Capability "Rsat.ActiveDirectory"

Once you have that detection, you can then call your install method.
I've created an Application Model App, which then gets called and has all of the required FoDs for RSAT in the Package.  I used this BLOG to find the files I needed.

However, I'd recommend checking out this POST from Martin, as it's what I am using in my lab and works really nice if your environment accommodates.  (I actually stole part of Martin's script to create my own for our Prod Environment, Thanks Martin!)

Hope that helps!  **Note, this will NOT be part of the WaaS Downloads**


ORGINAL POST... probably useless at this point...

I was testing the in place upgrade of 1511 to 1607, once I logged back in, I noticed my ADUC & Group Policy tools where missing, then remembered that the upgrade removes Remote Server Administration Tools (RSAT).  Since I already had it setup as an application, I figured I could add a couple steps to check if I have it, then reinstall it after the upgrade.

A nice overview of the Upgrade TS Option in CM1606 here:
And a quick overview here:

I’ve heavily modified the TS to include upgrading from Windows 7 and 8.1 computer if they already have bios set to UEFI.  However, I’ll go into that in a future post, for now, I just want to cover RSAT in 1511 to 1607.

  1. First step was to create at TS Variable if RSAT is installed.
    1. Create a step “Set Task Sequence Variable”, I called my variable “RSATInstalled” and set it to true.
    2. Have it run if the following conditions are met, WMI Query: select * from Win32_QuickFixEngineering where HotFixID like"KB2693643"
  2. Now, after it upgrades and installs 1607,
    1. Create an Install Application Step and point it to your RSAT Install for Windows 10.
    2. Set it to run if the TS Variable “RSATInstalled” equals true

You’re all set, after upgrading to 1607 using your Upgrade TS, you’ll see RSAT was reinstalled, and you’re ready to do your Remote Administration.

To make the application for RSAT, here is a good walk-through:

8 thoughts on “Windows 10 in place upgrade Task Sequence, auto re-install RSAT.”

  1. Thank you for this. I was just sitting here wondering about this. I use RSAT PowerShell AD feature on all my systems but like to disable all the other modules. I noticed in Windows 10 now when I install RSAT, every feature is installed but in Windows 7 all features were disabled after RSAT installation. Is there a way that I could also add the ability to disable all the RSAT features after installation except for the PowerShell AD feature?

  2. Hi Greg,

    I believe if you do a reboot after the step "Install RSAT (If previously installed)" and then run a Powershell script with the following command:
    Get-WindowsOptionalFeature -Online | Where{$_.Featurename -like 'RSATClient*' -and $_.FeatureName -notmatch 'RSATClient-Roles-AD-Powershell' -and $_.FeatureName -ne 'RSATClient'} | ForEach{Disable-WindowsOptionalFeature -Online -featurename $_.featurename -NoRestart}

  3. How would you detect RSAT that installed for Windows 1809 and later in task sequence since the Win32_QuickFixEngineering where HotFixID like"KB2693643" detection only works for Windows build less than 1809?

      • I've followed your updated post but somehow it is not working. smsts.log showed:
        Expand a string SMSTS_RSAT
        Expand a string TRUE
        The action(Install RSAT if Previously Installed) has been skipped because the condition is evaluated to be false.

        I've used the same method to detect if HyperV enabled and it works as expected though.


Leave a Reply to HOANG Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.