Get-windowscapability -name Rsat* -online | Add-windowscapability -online Info

Add-WindowsCapability does accept pipeline input by property name from Get-WindowsCapability directly.

The command you've shown is close, but has a syntax issue.

If you run:

$results = Get-WindowsCapability -Name RSAT* -Online | ForEach-Object Add-WindowsCapability -Online -Name $_.Name

Get-WindowsCapability -Name RSAT* -Online | ForEach-Object Add-WindowsCapability -Online -Name $_.Name

Get-WindowsCapability -Name RSAT* -Online | Add-WindowsCapability -Online -Verbose -Verbose will show you what’s happening per capability. For a clean report after installation $installed = Get-WindowsCapability -Name RSAT* -Online | Where-Object State -eq Installed $installed | Select-Object Name, State Would you like a script that logs each install result to a CSV file as well?