Get-windowscapability -name Rsat* -online | Add-windowscapability -online ((new)) -

$results | Select-Object Name, State, RestartNeeded Or real-time progress:

Add-WindowsCapability does accept pipeline input by property name from Get-WindowsCapability directly. $results | Select-Object Name

The command you've shown is close, but has a syntax issue. $results | Select-Object Name

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