I would like to develop a powershell script to select a bunch of these Server features and Roles to be repeatable as many of the servers I work with need the same settings selected pre-setup. I am having difficulty finding these in RegEdit. Could someone point me in the right direction of where these Roles reside? I'm thinking I may not be looking in the right location.
CodePudding user response:
this can be easily done with powershell using the command Get-WindowsFeature
PS C:\> Get-WindowsFeature | where installed
Display Name Name Install State
------------ ---- -------------
[X] File and Storage Services FileAndStorage-Services Installed
[X] File and iSCSI Services File-Services Installed
[X] File Server FS-FileServer Installed
[X] Storage Services Storage-Services Installed
[X] Web Server (IIS) Web-Server Installed
[X] Web Server Web-WebServer Installed
[X] Common HTTP Features Web-Common-Http Installed
[X] Default Document Web-Default-Doc Installed
[X] Directory Browsing Web-Dir-Browsing Installed
[X] HTTP Errors Web-Http-Errors Installed
[X] Static Content Web-Static-Content Installed
[X] HTTP Redirection Web-Http-Redirect Installed
[X] WebDAV Publishing Web-DAV-Publishing Installed
[X] Health and Diagnostics Web-Health Installed
[X] HTTP Logging Web-Http-Logging Installed
[X] Custom Logging Web-Custom-Logging Installed
[X] Logging Tools Web-Log-Libraries Installed
[X] Tracing Web-Http-Tracing Installed
[X] Performance Web-Performance Installed
[X] Static Content Compression Web-Stat-Compression Installed
[X] Dynamic Content Compression Web-Dyn-Compression Installed
[X] Security Web-Security Installed
[X] Request Filtering Web-Filtering Installed
[X] Basic Authentication Web-Basic-Auth Installed
[X] Centralized SSL Certificate Support Web-CertProvider Installed
[X] Client Certificate Mapping Authentic... Web-Client-Auth Installed
[X] Digest Authentication Web-Digest-Auth Installed
[X] IIS Client Certificate Mapping Authe... Web-Cert-Auth Installed
[X] IP and Domain Restrictions Web-IP-Security Installed
[X] URL Authorization Web-Url-Auth Installed
[X] Windows Authentication Web-Windows-Auth Installed
[X] Application Development Web-App-Dev Installed
[X] .NET Extensibility 3.5 Web-Net-Ext Installed
[X] .NET Extensibility 4.6 Web-Net-Ext45 Installed
[X] Application Initialization Web-AppInit Installed
[X] ASP Web-ASP Installed
[X] ASP.NET 3.5 Web-Asp-Net Installed
[X] ASP.NET 4.6 Web-Asp-Net45 Installed
[X] CGI Web-CGI Installed
[X] ISAPI Extensions Web-ISAPI-Ext Installed
[X] ISAPI Filters Web-ISAPI-Filter Installed
[X] Server Side Includes Web-Includes Installed
[X] WebSocket Protocol Web-WebSockets Installed
[X] Management Tools Web-Mgmt-Tools Installed
[X] IIS Management Console Web-Mgmt-Console Installed
[X] .NET Framework 3.5 Features NET-Framework-Features Installed
[X] .NET Framework 3.5 (includes .NET 2.0 and 3.0) NET-Framework-Core Installed
[X] .NET Framework 4.6 Features NET-Framework-45-Fea... Installed
[X] .NET Framework 4.6 NET-Framework-45-Core Installed
[X] ASP.NET 4.6 NET-Framework-45-ASPNET Installed
[X] WCF Services NET-WCF-Services45 Installed
[X] HTTP Activation NET-WCF-HTTP-Activat... Installed
[X] Message Queuing (MSMQ) Activation NET-WCF-MSMQ-Activat... Installed
[X] Named Pipe Activation NET-WCF-Pipe-Activat... Installed
[X] TCP Activation NET-WCF-TCP-Activati... Installed
[X] TCP Port Sharing NET-WCF-TCP-PortShar... Installed
[X] Message Queuing MSMQ Installed
[X] Message Queuing Services MSMQ-Services Installed
[X] Message Queuing Server MSMQ-Server Installed
[X] Remote Differential Compression RDC Installed
[X] SMB 1.0/CIFS File Sharing Support FS-SMB1 Installed
[X] Windows Defender Features Windows-Defender-Fea... Installed
[X] Windows Defender Windows-Defender Installed
[X] GUI for Windows Defender Windows-Defender-Gui Installed
[X] Windows PowerShell PowerShellRoot Installed
[X] Windows PowerShell 5.1 PowerShell Installed
[X] Windows PowerShell 2.0 Engine PowerShell-V2 Installed
[X] Windows PowerShell ISE PowerShell-ISE Installed
[X] Windows Process Activation Service WAS Installed
[X] Process Model WAS-Process-Model Installed
[X] .NET Environment 3.5 WAS-NET-Environment Installed
[X] Configuration APIs WAS-Config-APIs Installed
[X] WoW64 Support WoW64-Support Installed
and to install it to another machine, you just need to pipe the result to Install-WindowsFeature with property ComputerName
Get-WindowsFeature | where installed | Install-WindowsFeature -ComputerName $computername
Another option is install the windows features using ConfigurationFilePath
PS> $servers = ('server1', 'server2')
PS> foreach ($server in $servers) {Install-WindowsFeature -ConfigurationFilePath D:\ConfigurationFiles\ADCSConfigFile.xml -ComputerName $server}
The configuration file was created by clicking Export configuration settings on the Confirm installation selections page of the Add Roles and Feature Wizard in Server Manager. On the first line, the value of the $servers variable is set; on the second line, the installation instructions in the ADCSConfigFile.xml configuration file are applied to each of the servers that has been named in $servers.

