Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PARTIE 4 Ingénieur 3

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 18

PARTIE 4 : ADMINISTRATION DE WINDOWS SERVEUR

I. ADMINISTRER LE SERVEUR AVEC POWERSHELL


voi
L'administration de Windows Server Core passe par l'utilisation de PowerShell, de commandes
MS-DOS mais aussi de certains outils précieux pour la gestion d'un système Windows sans
interface graphique.
Aujourd'hui, la gestion d'un serveur en mode "Core" peut être effectuée via plusieurs solutions
différentes, notamment :
- Le langage PowerShell, que ce soit en local ou à partir d'une session PowerShell
distante.
- La console Gestionnaire de serveur installée sur un autre serveur (ou un poste de
travail).
- La solution moderne Windows Admin Center (full web).
- Le Bureau à distance, qui donnera accès à la console PowerShell.
- La connexion SSH pour prendre le contrôle à distance du serveur et l'administrer via
PowerShell.

1. POURQUOI INSTALLER WINDOWS SERVER CORE ?


Lorsque l’on installe Windows Server, deux options s’offrent à nous : une installation complète
comprenant l’interface graphique, et une installation minimale – presque – sans interface
graphique (core).
Installer Windows Server en mode « core » ne signifie pas qu’on pourra faire moins de choses
avec son serveur. La base du système d’exploitation reste identique, c’est la manière de
l’utiliser qui va changer et se rapprocher un peu plus de l’approche Linux, en manipulant la
ligne de commande. PowerShell va devenir votre meilleur allié au quotidien et c'est surement
grâce à lui que Microsoft a pris la décision de créer une version de Windows Server sans
interface graphique.
Encore que, même avec Windows Server Core il est possible d’accéder à certaines interfaces,
ou de gérer à distance son serveur par les Outils d’administration ou un outil comme Windows
Admin Center qui est relativement récent.
Installer Windows Server Core présentera plusieurs avantages par rapport à une installation
standard :

a) Système plus léger


Une installation minimale de Windows Server étant une version complète avec des
composants en moins, donc le système Windows est plus léger.
En effet, d’une part il n’y a pas d’interface graphique, mais cela implique également la
suppression de tous les outils et logiciels installés de base et qui s’appuie sur cette interface.
À titre d’exemple, on pourrait citer : Internet Explorer, la console MMC, l’Observateur
d’événement ou encore l’Explorateur.
Néanmoins, le rendu graphique reste présent puisqu’il est possible d’accéder à divers outils
natifs de Windows : Bloc-Notes, l’éditeur de registre, ou encore certains panneaux de
configuration.
En conséquence, le système requiert moins d’espace disque par rapport à une installation
complète. C’est ce que nous allons voir dans le second point.

b) Économie des ressources


Moins de services signifient moins de processus, et donc moins de ressources consommées.
Ainsi, deux éléments de votre serveur seront les premiers satisfaits : la mémoire vive (RAM)
et le disque dur.
La mémoire vive sera moins sollicitée et le disque dur se remplira moins vite, déjà car
l'installation de base est plus légère. Le gain de ressources avec Windows Server Core est
réellement intéressant et permet d’optimiser au mieux l’utilisation des ressources pour des
services plus importants.

c) Réduction de la surface d’attaque


La surface d’attaque représente tous les points d’entrées possibles sur votre serveur, c’est-à-
dire qui peuvent être potentiellement utilisé par un attaquant pour compromettre votre
serveur. Grâce à une installation en mode core, la surface d’attaque logicielle sera réduite
puisqu’il y a moins de composants d’installer, donc moins de points d’entrés.
À titre d’exemple, des vulnérabilités sont découvertes régulièrement au sein du navigateur
Internet Explorer, comme il n’est pas installé lors d’une installation core, vous n’êtes pas
concerné. De ce fait, la surface d’attaque est réduite.
En résumé, Windows Server Core améliore la sécurité du système en réduisant le nombre de
composants installés.
2. LES OUTILS PERMETTANT DE GÉRER UN SERVEUR SANS INTERFACE GRAPHIQUE
Au sein de ce cours, nous allons apprendre à gérer un serveur Windows sans interface
graphique, mais alors qu’allons-nous utiliser ?
- SCONFIG : Un utilitaire intégré à Windows Server Core et qui permet d’effectuer des actions
de configuration basiques.
- PowerShell : La console PowerShell sera votre meilleur allié pour gérer votre serveur en ligne
de commande, un incontournable
- La gestion à distance : Les outils d’administration Windows permettent de gérer un serveur
à distance, notamment grâce à la console MMC.
- Outils tiers

NB :
Avec la sortie de Windows Server 2016, Microsoft a introduit un nouveau mode d'installation
encore plus léger que la version "Core" : Nano Server. Une image encore plus épurée, avec le
strict minimum au niveau des composants : une image de Nano Server fait environ 500 Mo.
Désormais, cette version ne s'installe plus en mode bare-metal (sans système d’expoitation)
et elle est destinée exclusivement à la création de containers. Pour mettre en place un serveur
de production, il est préférable d'utiliser Windows Server Core.
Les serveurs Windows Core sont principalement utilisés en tant qu’hyperviseur Hyper-V
(virtualisation), en tant que contrôleur de domaine, mais aussi en tant que serveurs de fichiers
ou d’impression.
3. INSTALLATION DE WINDOWS SERVEUR CORE DANS UN ENVIRONNEMENT DE
PRODUCTION (TP)

4. CONFIGURATION DE BASE D’UN SERVEUR CORE AVEC POWERSHELL

a) Configurer la date et l’heure


PowerShell intègre plusieurs commandes pour manipuler la date et l'heure. Tout d'abord,
nous avons Get-Date pour récupérer la date et l'heure, et puis il y a aussi la commande Set-
Date pour modifier la date et l'heure sur notre système.
Pour utiliser cette commande, c'est tout simple. On va utiliser le paramètre -Date et préciser
la date et l'heure souhaitée.
Voici un exemple.

 Set-Date -Date "27/09/2021 17:52"


Si vous souhaitez changer seulement la date, vous pouvez faire :

 Set-Date -Date "27/09/2021"


De la même façon, on peut ajuster l'heure sans modifier la date :

 Set-Date -Date "18:00"


b) Modifier la résolution de l’écran
La résolution d’écran utilisée par Windows n’est pas toujours optimale, c’est pourquoi un
ajustement peut être nécessaire. Même si nous n'avons pas d'interface graphique, cela
n'empêche pas de se mettre à l'aise ! Pas de panique, Microsoft a prévu le coup et propose
un commandlet spécialement prévu pour effectuer cette action !

Pour changer la résolution d’écran, nous utiliserons la commande Set-DisplayResolution. En


fait, c’est simple d’utilisation puisqu’il suffit de préciser la largeur et la hauteur de l’écran qui
définiront la résolution.
Par exemple, si l’on veut définir une résolution 1920×1080 :

 Set-DisplayResolution -Width 1920 -Height 1080


Ou

 Set-DisplayResolution -Width 1920 -Height 1080 –force (forcer a validation sans le


faire manuellement)
Si vous souhaitez connaître la résolution actuelle de votre écran, utilisez cette commande :

 Get-DisplayResolution
Cela vous retournera la résolution sous la forme <largeur>x<hauteur>.
Voici un récapitulatif des résolutions courantes au format 16/9 :
• 1024 x 576
• 1280 x 720
• 1600 x 900
• 1920 x 1080
• 2560 x 1440
A vous de choisir, tout en sachant que vous pouvez toujours changer si cela ne vous convient
pas.

c) Renommer et Redémarrer un serveur


Depuis PowerShell 3.0, il existe une commande toute simple pour renommer une machine
Windows, grâce à l’utilisation du commandlet « Rename-Computer »
Pour renommer le serveur avec Rename-Computer, il suffit de spécifier le paramètre -
NewName, suivi du nom que l'on souhaite. Cela donne la commande suivante

 Rename-Computer -NewName "ESIAC2022"


Remarque : La commande équivalente en Powershell 2.0 est la commande suivante : (Get-
WmiObject -Class Win32_ComputerSystem).rename("nom")
Enfin, on termine simplement avec une commande pour redémarrer le serveur.

 Restart-Computer
L'alternative consiste à utiliser la commande "shutdown" et l'option "/R" pour redémarrer
shutdown /R

d) Modifier le mot de passe « Administrateur »


Il est fortement recommandé de modifier régulièrement les mots de passe des comptes
utilisateur, notamment quand il s'agit d'un compte avec des privilèges élevés, comme c'est le
cas du compte "Administrateur". Sur un serveur membre d'un domaine, c'est également
intéressant de changer le mot de passe de l'utilisateur "Administrateur". C'est ce que nous
allons voir.
Depuis Windows PowerShell 5.1, Windows dispose des commandes nécessaires pour gérer
les groupes et utilisateurs locaux avec PowerShell. Ces commandes permettent de créer des
utilisateurs, des groupes, de gérer les membres des groupes, mais aussi de modifier les
utilisateurs.
La commande qui permet de modifier les utilisateurs (et donc de changer le mot de passe) se
nomme "Set-LocalUser". Avant cela, intéressons-nous à une autre commande : "Get-
LocalUser", qui permet de lister les utilisateurs locaux du serveur.

 Get-LocalUser
Pour définir un mot de passe, il faut utiliser une chaîne sécurisée, c'est-à-dire une
SecureString. Commençons par créer la chaîne sécurisée en stockant la valeur dans une
variable nommée $NewPassword.

 $NewPassword = Read-Host -AsSecureString


Lorsque vous allez exécuter cette commande, le prompt va changer de ligne : il sera en attente
d'une saisie donc c'est à ce moment-là que vous devez saisir le mot de passe. En plus, il ne
s'affiche pas en clair dans la console. Lorsque la saisie est terminée, appuyez sur "Entrée".
Il ne reste plus qu'à affecter ce nouveau mot de passe au compte "Administrateur". Nous
allons utiliser la commande Set-LocalUser avec deux paramètres : -Name et -Password. Ce qui
donne :

 Set-LocalUser -Name "Administrateur" -Password $NewPassword


e) Renommer le Compte Administrateur
Comme pour le chapitre précédent, c'est une commande du module "LocalAccounts" de
Windows PowerShell 5.1 qui va nous rendre service. Cette fois-ci, nous n'allons pas utiliser
Set-LocalUser mais plutôt Rename-LocalUser. C'est commande est super simple à utiliser ! Il
suffit de préciser le nom actuel de l'utilisateur (-Name) et le nouveau nom (-NewName).

 Rename-LocalUser -Name "Administrateur" -NewName "ESIAC"


Ensuite, si on liste les utilisateurs avec la commande Get-LocalUser, on peut vérifier que le
compte "Administrateur" est bien devenu "ESIAC". Cette commande pourrait s'appliquer à
n'importe quel autre utilisateur.
Exemple : Utilisons le nom Florian

f) Créer un nouveau compte utilisateur local


La création d’utilisateurs locaux est également une tâche que l’on a besoin de réaliser de
temps à autre, notamment pour exécuter un service sous un utilisateur spécifique. De ce fait,
il faut être capable de créer un utilisateur rapidement.
En complément, il s'avère utile d'être capable de créer un groupe et d'affecter l'utilisateur à
ce groupe local.
Nous allons créer un utilisateur nommé "IT-Connect" et l'ajouter à un nouveau groupe
nommé "Externes".
La commande New-LocalUser permet de créer un nouveau compte utilisateur local avec
PowerShell. Ce cmdlet accepte plusieurs paramètres, dont :
-Name : l'identifiant de l'utilisateur
-Description : la description du compte utilisateur
-Fullname : le nom complet de l'utilisateur
-Disabled : compte désactivé
-PasswordNeverExpires : le mot de passe n'expire jamais
-Password : le mot de passe du compte
Nous allons utiliser seulement deux paramètres :

 New-LocalUser -Name "IT-Connect" -Description "Compte d'administration pour IT-


Connect"
Vous remarquerez que l'on n'a pas spécifié de mot de passe. Ce n'est pas grave car après avoir
exécuté la commande, il vous sera demandé de saisir le mot de passe.

L'utilisateur est créé ; vous pouvez le vérifier avec la commande Get-LocalUser.

g) Créer un groupe local avec New-LocalGroup


Passons maintenant à la création de notre groupe avec le cmdlet New-LocalGroup. Il suffit de
préciser le nom du groupe, et éventuellement, une description (-Description).

 New-LocalGroup -Name "Externes"


Ensuite, si on liste les groupes, on peut voir qu'il est bien créé :

 Get-LocalGroup

h) Ajouter l'utilisateur à un groupe local avec Add-LocalGroupMember


Nous avons l'utilisateur et le groupe, il ne reste plus qu'à ajouter l'utilisateur dans le groupe
avec le cmdlet Add-LocalGroupMember. Ce cmdlet est simple à utiliser puisqu'il n'y a qu'à
préciser le nom du groupe (-Group) et l'utilisateur à ajouter (-Member).

 Add-LocalGroupMember -Group "Externes" -Member "ESIAC2022\IT-Connect"


Petite subtilité au moment de préciser le nom de l'utilisateur : il faut préciser "ESIAC2022" en
préfixe, c'est-à-dire le nom du serveur pour indiquer que c'est un compte local. Comme c'est
aussi le nom NetBIOS de mon domaine, cela pourrait porter à confusion... À l'inverse, pour
ajouter un compte du domaine Active Directory dans un groupe local, il faudrait spécifier le
domaine.
Dans notre exemple nous allons utiliser CORE01 comme préfixe (le nom du serveur pour
indiquer que c'est un compte local).

Enfin, la commande "Get-LocalGroupMember" permet de lister les membres du groupe et


confirmer ce que l'on vient de faire.

5. CONFIGURATIONS TCP/IP EN POWERSHELL


Définir une configuration TCP/IP correcte sur une carte réseau fait partie des choses simples
à savoir-faire. PowerShell propose des commandlets adéquats pour parvenir à configurer une
interface réseau.
Quant aux commandes, elles sont intégrées à PowerShell depuis la version 4.0, nous les
retrouvons donc sans aucun problème sur les dernières versions de Windows Server.

a) Lister les cartes réseaux disponibles


Commençons par lister les cartes réseau disponibles sur la machine, cela permettra de repérer
le numéro d’index de la carte que l’on souhaite modifier. Ce numéro sera utile lors de la phase
de configuration, car il permet d’avoir un numéro unique pour identifier chaque carte réseau.
Deux choix s’offrent à vous :

 Get-NetIPInterface : obtenir la liste des configurations IP (IPv4 et/ou IPv6) de chaque


interface.
 Get-NetAdapter : obtenir les propriétés basiques des adaptateurs réseau.
Dans les deux cas, la colonne « ifIndex » vous donnera le numéro d’index de chaque carte.
Repérez celui qui correspond à la carte à configurer.

b) Configuration d’une nouvelle adresse IP


En s’appuyant sur la commandlet « New-NetIPAddress », on ajoute l’adresse IP «
192.168.4.15/24 » à l’interface ayant l’index ?, ainsi qu’une passerelle par défaut «
192.168.4.1 »
Exemple :
New-NetIPAddress –InterfaceIndex ? –IPAddress 192.168.4.15 –PrefixLength 24 –
DefaultGateway 192.168.4.1
NB: Le point ‘?’ Représente le numéro de l’index.
Quelques précisions concernant les paramètres utilisés :
InterfaceIndex : numéro d’index de la carte à modifier (il est possible d’utiliser à la place –
InterfaceAlias suivit du nom de l’interface si vous préférez au numéro d’index)
IPAddress : adresse IP à attribuer à la carte.
PrefixLength : longueur du masque de sous réseau, au format CIDR.
DefaultGateway : passerelle par défaut.
Note: Il existe également la commande Set-NetIPAddress, qui permet de modifier la
configuration d’une IP déjà existante dans les paramètres de la carte. Contrairement à ce que
l’on peut voir sur internet, elle ne permet pas l’ajout d’une nouvelle adresse sur une carte (la
commande retourne une erreur MSFT_NetIPAddress).
Si votre carte était configurée en DHCP, le fait d’ajouter une adresse IP désactive le mode
DHCP. D’ailleurs au passage, voici comment activer/désactiver le DHCP sur une carte :

 Set-NetIPInterface -InterfaceIndex 6 -Dhcp {Enabled/Disabled}


Revenons à l’adresse IP, nous avons vu comment ajouter une adresse IP sur une carte.
Cependant, si une adresse IP est déjà en place sur la carte, elle ne sera pas écrasée par celle
que nous venons d’ajouter, il faut donc supprimer l’ancienne. Sinon, le risque c'est de cumuler
plusieurs adresses IP sur la même carte réseau.
Imaginons que sur ma carte d’index 6, j’ai une ancienne adresse IP qui est « 192.168.100.14 »
et que je souhaite la supprimer :

 Remove-NetIPAddress –InterfaceIndex 6 –IPAddress 192.168.100.14 –PrefixLength


24
Vous remarquerez que l’on s’appuie sur l’utilisation de la commande Remove-NetIPAddress,
en reprenant en modèle la commande d’ajout d’une adresse IP. Confirmez la demande de
suppression avec « T » ou deux fois avec « O ».
La notion de Store :
ActiveStore : appliquer immédiatement l’adresse IP définie.
PersistentStore : l’ordinateur sauvegarde l’adresse IP pour l’appliquer après redémarrage.
Quand l’ordinateur redémarre, il copie les paramètres sauvegardés dans l’ActiveStore.

c) Ajout d’un DNS


Nous avons configuré l'adresse IP, le masque de sous-réseau et la passerelle par défaut, mais
il nous manque un élément important : le DNS. On continue en indiquant le serveur DNS «
192.168.4.11 » qui correspond à mon contrôleur de domaine. Toujours sur la même carte
réseau, puis on vérifie que le changement est bien pris en compte.

 Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses 192.168.4.11


Pour la vérification :

 Get-DnsClientServerAddress -InterfaceIndex 6
Si éventuellement vous souhaitez ajouter un suffixe DNS, utilisez cette commande (exemple
avec esiac.local .

 Set-DnsClient -InterfaceIndex 6 -ConnectionSpecificSuffix esiac.local

d) Récupérer la configuration IP
Pour vérifier que la configuration de la carte réseau est correcte, on utilise la commande
suivante :

 Get-NetIPConfiguration
On peut ajouter à la commande le paramètre « InterfaceIndex » ou « InterfaceAlias » si
nécessaire pour cibler une interface en particulier. Cette commande doit forcément vous
rappeler la commande ipconfig.

 Get-NetIPConfiguration –InterfaceIndex 6

6. GERER SA LICENCE WINDOWS AVEC POWERSHELL


Pour entamer la configuration de base de notre serveur, on va tout simplement commencer
par activer Windows. Cela ne devrait pas poser de problème puisque nous avons configuré
une adresse IP précédemment, votre serveur devrait pouvoir accéder à internet.
On va voir comment modifier la licence de Windows (ça peut toujours servir) et surtout
comment l’activer (ça sert tout le temps).

a) Modifier sa licence Windows en ligne de commande


Sous Windows ce n’est pas toujours évident de modifier la clé de produit installée sur le
système, notamment lors de l’utilisation de Windows Server en mode Core où l’accès est
uniquement en ligne de commandes. Pour réaliser cette modification malgré tout, il faudra
utiliser deux commandes : une pour supprimer la clé de produit installée, une autre pour
installer une nouvelle clé de produit.
Je tiens à préciser que cette procédure est valable pour toutes les éditions de Windows Server
puisqu’elles disposent toutes des consoles "Invites de commandes" et "PowerShell". Il faudra
juste penser à l’ouvrir en tant qu’administrateur.
Dans l’invite de commandes que vous avez à l’écran, saisissez la commande indiquée ci-
dessous pour supprimer la clé de produit installée actuellement sur votre serveur.

 slmgr –upk
En fait, « upk » signifie « Uninstall Product Key ». Ensuite, pour installer la nouvelle clé de
produit utilisez l’option « Install Product Key » comme ceci :

 slmgr -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX


Remplacez les 4 groupes de « X » par votre clé de licence Windows authentique. Si vous le
souhaitez, il existe une commande PowerShell équivalente pour définir la clé de produit :

 Set-WindowsProductKey -ProductKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

b) Activer sa licence Windows en ligne de commande


Une des premières choses à effectuer sur un serveur Windows après l’installation, c’est bien
sûr l’activation de votre licence Windows auprès des serveurs d’activation Microsoft. En
quelques clics, on peut effectuer cette opération lorsqu’il y a une interface graphique, sauf
que quand il n’y en a pas on est obligé de se remettre à la ligne de commandes. Voyons
comment procéder avec slmgr.
Slmgr est un script VBS qui permet d’effectuer des opérations au niveau de la licence
Windows, comme par exemple réenclencher la période d’activation ou d’activer la licence,
comme nous allons le voir.
Utilisez cette commande avec l’option « ato » qui permet de faire une tentative d’activation
en ligne.

 slmgr.vbs /ato
Suite à l’exécution de cette commande, vous obtiendrez un message confirmant que le
produit est activé.

7. INTEGRER LE SERVEUR DANS UN DOMAINE ACTIVE DIRECTORY AVEC POWERSHELL


Au sein d'une entreprise où l'on va utiliser des serveurs sous Windows, il est presque
inévitable d'utiliser un annuaire Active Directory pour gérer l'accès aux ressources et
l'authentification. Ce qui nécessite d'intégrer chaque ordinateur et chaque serveur à ce
domaine, sauf pour certains usages où le serveur n'a pas besoin d'être intégré à votre domaine
Active Directory.
Dans cette partie, nous allons poursuivre la configuration de Windows Server Core par
l'intégration de notre serveur au domaine Active Directory, à l'aide de PowerShell.
Ici, nous n’aborderons pas la mise en place d’un domaine. Je pars du principe où il est déjà en
place et fonctionnel. J'utilise deux machines :
Le serveur "SERVEUR_CORE01" sous Windows Server Core, qui doit rejoindre le domaine
Active Directory.
Le serveur "Serveur1 " sous Windows Server, qui est le contrôleur de domaine du domaine
"esiac.local".
Note : Si ce n’est déjà fait, modifiez le DNS de votre serveur Core pour qu’il utilise le DNS du
domaine « esiac.local ». Sinon, l’intégration échouera car le serveur ne sera pas en mesure de
localiser votre contrôleur de domaine.
Le commandlet « Add-Computer » devra être utilisé pour ajouter une machine à un domaine,
on utilisera plusieurs arguments :
DomainName : nom du domaine à joindre, comme par exemple : esiac.local
Credential : compte utilisateur à utiliser pour l'authentification à l’annuaire et l'intégration du
serveur, de la même manière qu’il est demandé lors d’une intégration en mode graphique.
On ajoutera éventuellement « -Restart -Force » afin d’être sûr que la machine redémarre suite
à l’intégration dans le domaine. D’ailleurs, cela est nécessaire pour finaliser l’intégration
comme l’indique la console PowerShell suite à l’exécution de la commande : «
AVERTISSEMENT : Les modifications seront prises en compte après le redémarrage de
l'ordinateur SERVEUR_CORE01.
Cette commande doit être exécutée depuis la machine que l’on souhaite intégrer au domaine :

 Add-Computer -DomainName esiac.local -Credential Administrateur@esiac.local –


Restart –Force

8. GERER LES CARTES RESEAU EN POWERSHELL

Précédemment, nous avons vu comment effectuer une configuration TCP/IP sur notre serveur
« ESIAC22 ». Maintenant, on va s’intéresser à la gestion des cartes réseaux en
elles-mêmes, c’est-à-dire :
- Renommer une carte réseau
- Activer ou désactiver une carte réseau
- Redémarrer une carte réseau
Nous verrons également quelques commandes utiles pour vérifier l’état des cartes. Même si
le réseau est configuré sur notre serveur, c'est important de maîtriser quelques commandes
de gestion des cartes.

a) lister les cartes réseau


Pour lister les cartes réseau, on s’appuiera sur « Get-NetAdapter ». Voici une façon
synthétique d’afficher les cartes réseau avec leurs noms et le numéro d’index attribué :
 Get-NetAdapter | fl Name, InterfaceIndex
NB : « fl » permet d’indiquer « Format List » pour afficher le résultat sous forme de liste. Pour
obtenir un résultat sous la forme d'un tableau, utilisez "ft" pour "Format-Table".

Si vous le souhaitez, vous pouvez ajouter d’autres propriétés à afficher, comme par exemple
« MediaConnectionState » qui indique si la carte est connectée ou déconnectée, «
MacAddress » pour afficher l’adresse MAC de chaque carte, ainsi que la vitesse du lien avec
"LinkSpeed".

 Get-NetAdapter | fl Name, InterfaceIndex, MacAddress, MediaConnectionState,


LinkSpeed

b) Renommer une carte réseau


Lorsqu’un serveur dispose de plusieurs cartes, ce qui est fréquemment le cas, il est probable
que vous ressentiez le besoin de les nommer pour les différencier facilement.
En PowerShell, il y a un commandlet spécialement dédié à cette opération : Rename-
NetAdapter.
Cependant, ce commandlet n’est pas fait pour être utilisé seul, il faut le combiner à l’utilisation
du commandlet « Get-NetAdapter ». Ce dernier servira à sélectionner la carte réseau à
renommer puis grâce à un pipe, on concaténera la première commande à Rename-
NetAdapter.
Voici un exemple pour renommer la carte « Ethernet0 » en « LAN »

 Get-NetAdapter -Name Ethernet0 | Rename-NetAdapter -NewName LAN

c) Activer ou désactiver une carte réseau


Parfois, les cartes réseau ne sont pas toutes utilisées sur un serveur. Plutôt que de laisser
l’adaptateur actif au niveau du système d’exploitation et permettre une connexion, il est
préférable de le désactiver pour éviter que quelqu’un vienne se connecter sur le serveur sur
une interface non utilisée.
À l’inverse, une carte réseau désactivée pourra être amenée à être utilisée à un moment ou
un autre, d’où l’intérêt de savoir comment l’activer.
Deux commandlets sont disponibles : Enable-NetAdapter et Disable-NetAdapter
L’utilisation de ces deux commandlets est simple ! Il suffit de préciser le nom de l’interface
concernée.
On commence par désactiver l’interface « LAN », que nous venons de renommer :

 Disable-NetAdapter -Name LAN


Rapidement, on peut vérifier le statut de la carte, pour être sûr qu’il soit passé sur «Disabled»

 (Get-NetAdapter -Name LAN).Status


Nous allons réactiver la carte grâce à la commande suivante :

 Enable-NetAdapter -Name LAN


Il est nécessaire de patienter quelques secondes, le temps que la carte se réactive et
remonte le lien réseau. La carte réseau passera en premier lieu par l’état « Disconnected»
puis une fois opérationnelle passera sur l’état « Up » (à condition que la carte réseau soit
connectée).

d) Redémarrer une carte réseau


Cette action n’est pas accessible via l’interface graphique de Windows, à moins de désactiver
la carte puis de la réactiver dans la foulée. En cas de défaillance d’une carte réseau, il peut
être intéressant de la redémarrer (un simple redémarrage de l’adaptateur peut résoudre
certains problèmes) : PowerShell propose un cmdlet prêt à l'emploi pour effectuer cette
opération : Restart-NetAdapter.
Un redémarrage est tout simplement une désactivation et une réactivation de la carte réseau.
Tout simplement on utilisera la commande suivante :

 Restart-NetAdapter -Name LAN

e) Configuration avancée de la carte réseau


Si à l’avenir vous avez besoin d’effectuer une configuration avancée sur votre carte réseau
(contrôle des flux, activer les trames Jumbo, définir le Tag d'un VLAN, etc.), via PowerShell,
sachez qu’il est possible d’afficher les propriétés avancées d’une carte :

 Get-NetAdapterAdvancedProperty -Name LAN


Si vous souhaitez modifier une valeur, il faudra obtenir le nom du paramètre, pour cela,
exécutez la commande suivante :
 Get-NetAdapterAdvancedProperty | ft DisplayName, DisplayValue, ValidDisplayValues

Remarquez la présence de la colonne "ValidDisplayValues" qui vous indique les valeurs


valables pour ces différents paramètres avancés, et "DisplayName" qui indique le nom à
utiliser pour cibler la propriété.
Par la suite, pour modifier une valeur ce sera tout simple.
 Set-NetAdapterAdvancedProperty LAN -DisplayName "Paquet Jumbo" -DisplayValue "4088"

Autrement dit :

 Set-NetAdapterAdvancedProperty [nom-carte] -DisplayName "[nom-propriété]" -


DisplayValue "[nouvelle-valeur]"
9. ACTIVER LE BUREAU A DISTANCE (RDP) AVEC POWERSHELL
Pour commencer, intéressons-nous au Bureau à distance qui est un classique en termes
d’administration à distance. Même s'il n'y a qu'une interface graphique minimale, il est
possible d'établir une connexion Bureau à distance sur notre serveur !
Pour rappel, le Bureau à distance offre une solution simple, native et sécurisée pour accéder
à distance à son serveur Windows. Il s’appuie sur le protocole RDP, qui utilise le port 3389 en
TCP, par défaut.
Dire que l'on va activer le Bureau à distance avec PowerShell, c'est vrai, mais soyons clairs : il
n'existe pas, à ce jour, de cmdlet spécifique pour gérer ce paramètre. Pour atteindre notre
objectif, nous allons devoir modifier directement le Registre Windows à l'aide de PowerShell.
Grâce au cmdlet Set-ItemProperty, nous allons pouvoir modifier la clé de Registre
"fDenyTSConnections" qui sert à activer ou désactiver l'accès Bureau à distance sur notre
serveur. On va lui attribuer la valeur "0" pour activer l'accès RDP. Ce qui donne :

 Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal


Server" -Name "fDenyTSConnections" -Value 0
NB: pour désactiver l'accès RDP, il suffit de définir cette valeur sur "1".
Ce qui donne ceci :

 Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal


Server" -Name "fDenyTSConnections" -Value 1
Ensuite, nous devons autoriser le flux dans le pare-feu de Windows, sinon il sera bloqué. Cela
tombe bien puisqu'il y a des commandes PowerShell dédiées à la gestion du pare-feu
Windows. Nous allons activer le groupe de règles "Bureau à distance" puisqu'il contient les
règles qui vont permettre d'autoriser le flux.

 Enable-NetFirewallRule -DisplayGroup "Bureau à distance"ou ‘‘Remote Desktop’’


Vous pouvez vérifier que les règles sont bien activées avec la commande suivante :

 Get-NetFirewallRule -DisplayGroup "Bureau à distance" ou ‘‘Remote Desktop’’


Voilà, le RDP est activé sur le serveur et la mise en bouche sur la gestion du pare-feu avec
PowerShell s'arrête ici. Il ne reste plus qu'à se connecter depuis une autre machine.

Il faut préciser la bonne adresse IP du serveur sur une notre machine.


Si la connexion RDP ne fonctionne pas, tentez de redémarrer le service RDP de votre serveur :

 Restart-Service TermService –Force

10.INSTALLER ET DESINSTALLER LES FONCTIONNALITES AVEC POWERSHELL

a) Dresser la liste des fonctionnalités


Une fois passé en console PowerShell sur votre serveur (saisir « powershell ») saisissez la
commande suivante.

 Get-WindowsFeature
Note : La liste est longue, mais vous pouvez repérer les fonctionnalités déjà installées puisqu’il
y a un « X » dans la case de chaque fonctionnalité déjà installée.

La colonne « Name » est importante puisqu’elle contient les noms des fonctionnalités au
niveau de Windows. De ce fait, ce sont ces noms-là qui devront être utilisés lorsque l’on
manipulera une fonctionnalité.
Pour avoir une liste des fonctionnalités installées uniquement, on ajoutera simplement un
filtre sur le résultat de la commande, comme ceci :

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


La partie de la commande après le « pipe » sert à filtrer les résultats pour s’afficher
uniquement ceux « où le paramètre « Installé » est égal à vrai ». Pour chaque fonctionnalité
($_.), il regarde l’état du paramètre « Installed ».
Si l’on souhaite voir toutes les fonctionnalités qui ne sont pas installées, il suffit de remplacer
« $true » par « $false ». Vous verrez qu’il y en a beaucoup plus, car nativement très peu de
rôles et fonctionnalités sont intégrés à Windows Server lors d’une installation minimale.

b) Installation d’une fonctionnalité Windows avec PowerShell


Pour installer une fonctionnalité, on modifie quelque peu la commande précédente en plus
d’ajouter le nom de la fonctionnalité qu’on souhaite installer. Prenons pour exemple
l’installation de la fonctionnalité « Serveur DHCP » qui dispose du nom « DHCP ».
Ce qui nous donnera :

 Add-WindowsFeature -Name DHCP

Pour en revenir à la liste des fonctionnalités, vous remarquerez qu’elle est représentée sous
la forme d’une arborescence, ce qui signifie qu’il y a des fonctionnalités enfants et des
fonctionnalités parentes.
De ce fait, si vous souhaitez installer une fonctionnalité ainsi que toutes ses fonctionnalités
enfants, il faudra rajouter une option dans la commande. Comme ceci :

 Add-WindowsFeature <nom-de-la-fonctionnalité-parent> -IncludeAllSubFeature


De plus, certaines fonctionnalités requièrent un redémarrage du serveur une fois l’installation
terminée. Il est possible d’indiquer dans la commande que le redémarrage doit être fait
automatiquement une fois l’installation terminée, pour cela ajoutez une option à la suite de
votre commande comme cela :

 Add-WindowsFeature <nom-de-la-fonctionnalité-parent> -Restart


Si un redémarrage est nécessaire, un avertissement apparaîtra à la fin de l’installation de la
fonctionnalité.

c) Désinstaller une fonctionnalité Windows avec PowerShell


Nous avons Add-WindowsFeature pour installer une fonctionnalité, et à l'inverse il y a
Uninstall-WindowsFeature pour désinstaller une fonctionnalité actuellement installée sur le
serveur. Pour désinstaller le rôle DHCP que l'on vient tout juste d'installer, on utilisera.

 Uninstall-WindowsFeature -Name DHCP


Ensuite, il faudra redémarrer pour finaliser la désinstallation :

 Restart-Computer

II. VIRTUALISER VOTRE SERVEUR A L’AIDE D’HYPER-V (Devoir à faire à la


maison)

Vous aimerez peut-être aussi