De plus en plus, les serveurs Windows se pilotent en ligne de commande. Moins de Bureau à distance et plus d’écrans remplis de ligne de code comme dans les films, cela fait penser à de l’administration système UNIX / Linux mais c’est surtout plus pratique pour ajouter des logiciels, gérer la maintenance ou simplement obtenir des informations sur une machine. Microsoft a déployé Windows PowerShell depuis de nombreuses années mais les versions abouties de la suite logicielle est vraiment efficace depuis Windows Server 2012, un OS qui ne brillait pas pour son interface graphique (similaire à Windows 8) mais par ces cmdlets complètes en PS. Ce tutoriel explique comment lister, installer et désinstaller des fonctionnalités système Windows Server avec des commandes PowerShell.

Ces commandes nécessites d’utiliser PowerShell avec les droits Administrateur pour l’élévation des privilèges demandée par ces opérations.

 

Liste des fonctionnalités Windows Server

Get-WindowsFeature

La commande Get-WindowsFeature dresse la liste complète des fonctionnalités de Windows Server. La colonne de droite indique le nom PowerShell de ces fonctions du système d’exploitation serveur.

On peut repérer celles qui sont installées par le sigle [X] devant chaque ligne ou en utilisant le filtre suivant :

Get-WindowsFeature | Where{$_.Installed -eq $true}

tutoriel PowerShell Windows Server get features

tutoriel PowerShell Windows Server get features

 

Installer une fonctionnalité Windows Server en PowerShell

Install-WindowsFeature -Name NOM

Le cmdlet Install-WindowsFeature permet d’ajouter une fonction au serveur. Par exemple « Install-WindowsFeature NET-Framework-Core » pour installer .NET Framework.

Install-WindowsFeature remplace Add-WindowsFeature qui était utilisée pour installer des rôles, des fonctionnalités et des services sous Windows Server 2008 R2.

Pour ajouter la fonction et ses dépendances (souvent utile), ajouter l’argument « -IncludeAllSubFeature » à la fin de la commande.

Pour lancer l’installation sur un serveur distant, ajouter « -ComputerName NOMSERVER » à la fin de la ligne.

Si un redémarrage est nécessaire, on peut l’automatiser avec « -Restart » sur le cmdlet.

Détails sur Install-WindowsFeature

Install-WindowsFeature
[-Name] <Feature[]>
[-Restart]
[-IncludeAllSubFeature]
[-IncludeManagementTools]
[-Source <String[]>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-LogPath <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]

 

Désinstaller un rôle Windows Server en PS

Uninstall-WindowsFeature

La commande Uninstall-WindowsFeature est à utiliser pour supprimer une fonctionnalité de Windows Server.

Par exemple « Get-WindowsFeature | Where-Object -FilterScript { $_.Installed -Eq $TRUE } | Uninstall-WindowsFeature » va désinstaller tous les rôles et fonctions actuellement installés sur Windows Server 2012 / R2 ou 2016.