Dans Windows Server 2012R2/2016/2019/2022, vous pouvez utiliser la console graphique du Gestionnaire de serveur pour installer et supprimer des rôles et des fonctionnalités.
Vous pouvez aussi le faire à partir de la console PowerShell.
un bon outils gratuit pour gérer les script PowerShell : Visual Studio Code
applet de commande pour afficher la liste des des rôles et fonctionnalités disponibles :
Get-WindowsFeature
Pour réduire la taille de dossier WinSxS, vous pouvez désinstaller un rôle ou une fonctionnalité.
Attention, dans ce cas, il faudra impérativement avoir un accès internet ou une iso d’installation pour réinstaller le rôle ou fonctionnalité désinstallé.
Pour désinstaller un rôle :
Uninstall-WindowsFeature –Name DHCP -Remove
Pour installer un rôle (accès internet requis) :
Install-WindowsFeature DHCP
Pour installer un rôle depuis le dossier sources WinSxs :
Install-WindowsFeature DHCP -Source E:\sources\sxs
Pour lister les rôle et fonctionnalités installés :
Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate
Sans connaitre le nom exact d’une fonctionnalité, il est possible de faire une recherche selon certain caractère, ici, recherche de la fonctionnalité DotNet FrameWork :
Get-WindowsFeature -Name NET-* | Where installed
Pour obtenir la liste des fonctionnalités d’un serveur distant, utiliser l’option : -ComputerName :
Get-WindowsFeature -ComputerName srvsql01 | Where installed | ft Name,Installstate
Il est possible de chercher un fonctionnalité spécifique sur des serveurs du domaine d’ans une Unité d’organisation avec l’applet Get-ADComputer du Module PowerShell ActiveDirectory :
Ici, on cherche les serveurs différents de Windows 2008 R2 et qui sont actifs, et présent dans l’unité d’organisation Serveurs :
import-module activedirectory
$Servers=get-adcomputer -properties * -Filter {Operatingsystem -notlike "*2008 R2*" -and enabled -eq "true" -and Operatingsystem -like "*Windows Server*"} -SearchBase 'OU=Serveurs,DC=test,DC=lan' | Select-Object Name
Foreach ($server in $Servers)
{
Get-WindowsFeature -name FileAndStorage-Services -ComputerName $server.Name | Where installed | ft $server.name, Name, Installstate
}
Installer des rôles fonctionnalités Windows Serveur
Utiliser l’applet de commande Install-WindowsFeature :
Ici, installation DNS plus Module PowerShell DNSServer :
Install-WindowsFeature DNS -IncludeManagementTools
Pour Afficher la liste des dépendances avant l’installation :
Install-WindowsFeature -Name UpdateServices -WhatIf
Option -Restart pour redémarrer le serveur après l’installation :
Get-WindowsFeature -Name SMTP-Server | Install-WindowsFeature
Installer les rôles d’un serveur sur X serveurs :
Créer un fichier CSV contenant les rôle et fonctionnalités d’un serveur modèle :
Get-WindowsFeature | where{$_.Installed -eq $True} | select name | Export-Csv C:\PS\InstalledRoles.csv -NoTypeInformation –Verbose
Utiliser le fichiers CSV pour installer les rôles et fonctionnalités :
Import-Csv C:\PS\Roles.csv | foreach{ Install-WindowsFeature $_.name }
Installer un rôle sur plusieurs serveurs :
$servers = ('ny-rds1', 'ny-rds2',’ny-rds3’,’ny-rds4’)
foreach ($server in $servers) {Install-WindowsFeature RDS-RD-Server -ComputerName $server}
Supprimer un rôle d’un serveur :
Remove-WindowsFeature Print-Server -Restart
Lister tous les contrôleurs de domaine :
Get-ADDomainController -Filter * | Select Name
Revenez voir de temps en temps pour consulter les commandes qui sont ajoutées ici.