
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Remove Windows Features Using PowerShell
To remove windows features, we can use command Remove-WindowsFeature command is used along with feature name.
Remove-WindowsFeature Search-Service -Verbose
VERBOSE: Uninstallation started... VERBOSE: Continue with removal? VERBOSE: Prerequisite processing started... VERBOSE: Prerequisite processing succeeded. Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {Windows Search Service} VERBOSE: Uninstallation succeeded.
If the windows feature has the management tools like as in Web-Server (IIS) feature, you can add the same in the command line. If the server requires restart then you can add the -Restart parameter. For example,
Remove-WindowsFeature Web-Server -IncludeManagementTools -Restart -Verbose
If we check the -Name parameter, it supports the string array. This means we can remove multiple roles and features together.
help Remove-WindowsFeature -Parameter Name -Name <Feature[]>
Example of removal of multiple features together and with -LogPath parameter to log the output on the local computer.
PS C:\Users\Administrator> Remove-WindowsFeature Windows-Server-Backup, Search-Service -LogPath C:\Temp\Uninstallfeatures.txt -Verbose VERBOSE: Uninstallation started... VERBOSE: Continue with removal? VERBOSE: Prerequisite processing started... VERBOSE: Prerequisite processing succeeded. Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {Windows Search Service, Windows Server Ba... VERBOSE: Uninstallation succeeded.
To remove windows features on the remote computer, you need to use -ComputerName parameter. For example,
Remove-WindowsFeature Windows-Server-Backup, Search-Service -ComputerName Test1-Win2k16 -Verbose
Output
PS C:\Scripts\IISRestart> Remove-WindowsFeature Windows-Server-Backup, Search-Service -ComputerName Test1-Win2k16 -Verbose VERBOSE: Uninstallation started... VERBOSE: Continue with removal? VERBOSE: Prerequisite processing started... VERBOSE: Prerequisite processing succeeded. Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {Windows Search Service, Windows Server Ba... VERBOSE: Uninstallation succeeded.
This -ComputerName parameter is a string parameter, not an array as shown below with the help command.
help Remove-WindowsFeature -Parameter ComputerName -ComputerName [<String?]
So to remove the windows features from the multiple computers, we need to use the foreach loop and -ComputerName parameter or through the Invoke-Command. Using Invoke-Command will be easier.
Invoke-Command -ComputerName Test1-Win2k16,Test1-Win2k12 -ScriptBlock{Remove-WindowsFeature Windows-Server-Backup,Search-Service}
The above command will ensure to remove multiple features on the multiple remote computers.