In previous versions of Windows and early versions of Windows 10 RSAT was installed via an update package or
.msu file. Recent versions of Windows 10/11 have moved past this method to one that is a bit more difficult but more future-proof. The new method is called Features on Demand (FoD), it unifies how things like Language packs, OpenSSH, Powershell-ISE and other features are added/updated on Windows. One advantage of this method is RSAT will persist a major version upgrade, such as moving from 20H2 to 21H2.
When doing an online install of a feature you must be able to talk to Windows Update service, FoD’s cannot be pulled through WSUS. FoD’s are managed via DISM or in PowerShell via DISM wrapper cmdlets such as Add-WindowsCapability.
If you are on a gapped network or just want an offline installer to minimize downloads you will need to obtain an FoD ISO, officially you can only obtain these ISOs from the VLSC. In the VLSC the latest ISO will be for 20H2 but it works with every later release as well. You will also see a Disk1 and Disk2 image, only Disk1 is required for adding new features, Disk2 is only language packs. The FoD Disk1 ISO is over 5GB if you want to reduce the size you can extract it to a file then run the following command to extract only the RSAT parts from it, reducing the size to a couple hundred MB.
My script below can be used for online or offline installs. To install from online sources use
Install-Rsat.ps1 -online. This will check for WSUS and disable then re-enable it if needed. To install offline use
Install-Rsat.ps1 -offline -source ./fod_repo where the source path is either your custom repo or the fully extracted ISO. You should be able to point it at a mounted ISO driver letter as well.
It is not recommended to attempt the removal of RSAT, in my testing it was often broken and did not remove all components each time. Several reboots and re-running of the following function may be required.