On a Windows Server 2012 or 2012 R2 system you can install the ServerManager module and use the Get-WindowsFeature cmdlet to discover the installed features. They can be managed with Install-WindowsFeature and Uninstall-WindowsFeature .
These cmdlets don’t exist on Windows 8/8.1
However the Dism (Deployment Image Servicing and Management) module can help out. The Dism module is mainly concerned with managing wim files and virtual disks for deployment scenarios but it also contains these cmdlets:
Enable-WindowsOptionalFeature
Get-WindowsOptionalFeature
Disable-WindowsOptionalFeature
To discover the installed features
Get-WindowsOptionalFeature -Online | Format-Table –AutoSize
The output looks like this
FeatureName State
———– —–
Microsoft-Hyper-V-All Enabled
Microsoft-Hyper-V-Tools-All Enabled
Microsoft-Hyper-V Enabled
Microsoft-Hyper-V-Management-Clients Enabled
Microsoft-Hyper-V-Management-PowerShell Enabled
Printing-Foundation-Features Enabled
Printing-Foundation-LPRPortMonitor Disabled
Printing-Foundation-LPDPrintService Disabled
Printing-Foundation-InternetPrinting-Client Enabled
etc
For all of these cmdlets use –Online to access the local machine rather than an image.
Individual features can be enabled or disabled
Enable-WindowsOptionalFeature -FeatureName TelnetClient –Online
Disable-WindowsOptionalFeature -FeatureName TelnetClient –Online
Feature names are case sensitive.