Deploy RSAT (Remote Server Administration Tools) for Windows 10 v1909 using SCCM (System Center Configuration Manager) and Powershell

Introduction

Windows 10 v1909 was released to MSDN users last week, and true to tradition, I’m updating my Powershell script, enabling you to install RSAT for Windows 10 1909 automatically and unattended.

I received quite some feedback on my 1903 script, and thanks to that I made some improvements to the 1909 edition. That includes:

  • Added test for pending reboots. If reboot is pending, RSAT features might not install successfully
  • Added test for configuration of WSUS by Group Policy
    • If WSUS is configured by Group Policy, history shows that additional settings might be needed for some environments

Powershell

The script requires administrative rights as well as access to the Internet (RSAT is installed through Microsoft Update).

The script is built around Get-WindowsCapability, Add-WindowsCapability and Remove-WindowsCapability.

Yet again the script comes with 4 options:

  • -All (-All is installing ALL the features within the RSAT bundle)
  • -Basic (-Basic is only installing AD DS, DHCP, DNS, Group Policy Management and Server Manager)
  • -ServerManager (-ServerManager is only installing the Server Manager)
  • -Uninstall (-Uninstall removes all RSAT features again)

Below an example of running the script manually with the -Basic parameter on Windows 10 1909

And another example of running the script manually with the -Uninstall parameter on Windows 10 1909

Notice the extra logging if WSUS seems to be configured with Group Policy.

Configuration Manager

I’m putting the Powershell script to use with an application in SCCM. While this is pretty standard SCCM, I have included a few snippets of the application below.

The installation program:

powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File .\Install-RSATv1809v1903v1909.ps1 -Basic

The uninstall program:

powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File .\Install-RSATv1809v1903v1909.ps1 -Uninstall

Download

https://gallery.technet.microsoft.com/Install-RSAT-for-Windows-75f5f92f

ENJOY 🙂

8 thoughts on “Deploy RSAT (Remote Server Administration Tools) for Windows 10 v1909 using SCCM (System Center Configuration Manager) and Powershell”

      • Hi Martin,
        i have modified your script for our needs to install from FoD media. therefor i modified your param block and also the add -windowscapability part.

        My param blocks look like this:

        [CmdletBinding()]
        param(
        [parameter(Mandatory=$false, ParameterSetName = “Install”)]
        [ValidateNotNullOrEmpty()]
        [switch]$All,
        [parameter(Mandatory=$false, ParameterSetName = “Install”)]
        [ValidateNotNullOrEmpty()]
        [switch]$Basic,
        [parameter(Mandatory=$false, ParameterSetName = “Install”)]
        [ValidateNotNullOrEmpty()]
        [switch]$ServerManager,
        [Parameter(ParameterSetName = “Install”, Mandatory=$true)]
        [ValidateNotNullOrEmpty()]
        [string]$FoDMediaPath,
        [parameter(Mandatory=$false, ParameterSetName=”Default”)]
        [ValidateNotNullOrEmpty()]
        [switch]$Uninstall
        )

        and the add part:

        Add-WindowsCapability -Online -Name $RsatItem -Source $FoDMediaPath -LimitAccess

        Through set parameter the param FoDMediaPath is only needed within the installation switch
        Install-RSATv1809v1903.ps1 -FoDMediaPath [-All] [-Basic] [-ServerManager] []
        Install-RSATv1809v1903.ps1 [-Uninstall] []

        Thank you for your great scripts

  1. Thanks for this! I was able to get this working after making the Group Policy change. Just curious is you’ve tried this during a Windows 10 Task Sequence upgrade? I can get this to install during a regular Task Sequence just fine, but I get a generic 0X80004005 error during the TS upgrade. I’ll keep digging, but just curious if you’ve had any success with this.

  2. Hi Martin,

    the script is running if I run it manually on my machine. But with SCCM Application I get the error message:
    Unmatched exit code (4294770688) is considered an execution failure.
    in the appenforce.log.
    I thing it is the detection method
    Path: %windir%\system32\
    File or folder name: ServerManager.exe
    – Install for system
    – Whether or not a user is logged on
    – Normal
    What is here wrong?

Leave a Comment

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