Powershell

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

Renommer Windows en ligne de commande

: PowerShell, netdom, sconfig


Dans ce chapitre, nous allons voir différentes solutions pour renommer le serveur en
ligne de commande : PowerShell, netdom mais aussi sconfig. Suite à l’installation, le
serveur dispose d’un nom générique sous la forme « WIN-XXXXXXXX ».

Comme je le disais en introduction, les trois solutions possibles sont :

 L’utilitaire en ligne de commande « netdom »


 L’utilitaire en ligne de commande « sconfig »
 PowerShell

Personnellement, je conseille l’utilisation de la méthode PowerShell puisque c’est une


méthode qui fonctionnera sur tous les serveurs récents, et c’est une solution qui a de l’avenir.
Pour le reste, « sconfig » est typique à Windows Core et « netdom » est une commande
relativement ancienne.

De manière générale, concentrez-vous sur les commandes PowerShell tout en prenant en


considération les alternatives. Des alternatives parfois plus simples et efficaces.

Pour ma part, je vais renommer mon serveur en « CORE01 » à la place du nom actuel «
WIN-KC1P6K7PECT » qui n’est pas très original et difficile à retenir.

I. Renommer une machine Windows avec PowerShell

Depuis PowerShell 3.0, il existe une commande toute simple pour renommer une machine
Windows, grâce à l’utilisation du commandlet « Rename-Computer ».

Note : si vous utilisez une ancienne version de Windows Server Core (par exemple :
Windows Server 2012 R2), vous devez basculer de l'Invite de commandes à PowerShell en
exécutant "powershell.exe". Sur les dernières versions, c'est PowerShell qui se lance par
défaut.

Pour renommer le serveur avec Rename-Computer, il suffit de spécifier le paramètre


-NewName, suivi du nom que l'on souhaite. Pour ma part, cela donne la commande suivante :

Rename-Computer -NewName "CORE01"

Dans la commande ci-dessus, il vous suffit de remplacer le champ nom par le nouveau que
vous souhaitez donner à votre machine.

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. Là encore,
nous avons une commande PowerShell à disposition :
Restart-Computer

L'alternative consiste à utiliser la commande "shutdown" et l'option "/R" pour redémarrer.

shutdown /R

Voici un exemple de sortie :

Au redémarrage de la machine, on peut vérifier que le nom est changé grâce à la commande
« hostname ».

hostname
II.  Renommer la machine en utilisant netdom

Pour ceux qui le souhaitent, je vous propose de découvrir comment renommer votre serveur
avec netdom, en s'appuyant sur l'option « renamecomputeur ».

Afin de renommer la machine, saisissez cette commande :

netdom renamecomputer WIN-XXXXXXX /NewName:CORE01

Dans cette commande, vous devez changer deux choses : la valeur "WIN-XXXXX" qui
correspond au nom actuel de votre serveur et "CORE01" qui correspond au nom que vous
souhaitez lui donner. Autrement dit :

netdom renamecomputer <nom-actuel> /NewName:<nouveau-nom>

Un message d’avertissement apparaît afin de vous signaler que l’ordinateur sera renommé.
Penser à lire l’avertissement indiqué. En fait, il vaut mieux renommer le serveur à
l’installation et ne plus remodifier ce nom pour éviter de s’attirer des problèmes (cela peut
avoir des conséquences en fonction des rôles installés sur votre serveur par la suite).

Validez la demande de modification du nom de l’ordinateur en indiquant « O » puis appuyez


sur « Entrée ».
Il ne reste plus qu’à redémarrer l’ordinateur grâce à "Restart-Computer" ou "shutdown /R" :
c'est vous qui choisissez.

Terminons par la troisième méthode : SCONFIG.

III. Modification du nom avec SCONFIG

Il suffit de saisir la commande « sconfig » dans la console de Windows pour ouvrir cet
utilitaire de configuration (qui se lance également au démarrage).

Ensuite, vous devez faire le choix « 2 » pour changer le nom de l’ordinateur. Une fois le choix
effectué, saisissez le nouveau nom et appuyez sur Entrée, un message vous demandant de
redémarrer l’ordinateur pour appliquer la modification apparaîtra. Validez une nouvelle fois
en saisissant "O" et en appuyant sur Entrée.

Voilà, nous venons de voir trois méthodes différentes pour renommer une machine
Windows Server Core à partir de la ligne de commande !
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 en utilisant deux méthodes :

 La méthode PowerShell
 La méthode historique avec net user

I. Modifier le mot de passe d'un utilisateur avec PowerShell

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

Le compte "Administrateur" est bien présent, nous allons modifier son mot de passe.

Exemple - Set-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

Voilà, le tour est joué ! Le compte "Administrateur" a un nouveau mot de passe !

II. Modifier un mot de passe avec net user

La commande net user est très ancienne et elle peut s'avérer utile sur les anciennes versions de
Windows, d'autant plus qu'elle fonctionne aussi sur les postes clients qui n'ont pas Windows
PowerShell 5.1.

Utilisons la commande « net user » qui permet de paramétrer les comptes utilisateurs pour
modifier le mot de passe du compte Administrateur.

Avant toute chose, vous pouvez afficher la liste des utilisateurs locaux du serveur :

NET USER

On voit bien le compte « Administrateur » apparaître dans la liste. Modifions le mot de passe
grâce à la commande suivante :

NET USER administrateur *

Saisissez ensuite deux fois le mot de passe.

Voilà, ce n'était pas plus compliqué vis-à-vis de la méthode PowerShell, mais les commandes
sont différentes.

Renommer le compte Administrateur


Dans ce chapitre, nous allons voir comment renommer le compte Administrateur de
Windows Server Core à l'aide de PowerShell. Nous verrons également une seconde
méthode, à titre indicatif.
L'une des meilleures pratiques lors de la configuration de base d’un serveur, c’est de
renommer le compte Administrateur local intégré par défaut à Windows. Lorsqu'une personne
malintentionnée cherchera à s'authentifier sur votre serveur, elle essaiera forcément le compte
"Administrateur" puisque c'est le compte de base. Si on change le nom, on renforce la sécurité
de notre serveur : c'est pour cette raison que cette étape de la configuration me semble
importante.

I. Renommer un compte utilisateur avec PowerShell

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 "Florian"

Ensuite, si on liste les utilisateurs, on peut vérifier que le compte "Administrateur" est bien
devenu "Florian". Cette commande pourrait s'appliquer à n'importe quel autre utilisateur.

Exemple - Rename-LocalUser

II. Renommer un compte utilisateur avec wmic

Pour effectuer cette manipulation rapidement, une ligne de commande suffira. Plus
précisément, on va renommer le compte « Administrateur » en « Florian », cela en s’appuyant
sur WMIC :

wmic useraccount where "sid like '%500'" call rename Florian

La commande peut paraître abrupte au premier abord, mais ce n’est qu’une apparence :

On utilise une requête WMI pour sélectionner le compte utilisateur qui contient « 500 » dans
son SID (identifiant de sécurité unique), et on invoque une action pour le renommer.

Par défaut, lorsque l’on installe Windows, l’utilisateur Administrateur local a toujours
un SID qui termine par 500, ce qui explique la requête.

Note : WMIC pour Windows Management Instrumentation Command permet de gérer un


système d’exploitation Windows en tirant profit de WMI.
Suite à la modification du nom du compte Administrateur, il est préférable de redémarrer la
machine avant d'aller plus loin :

Restart-Computer

Une fois que le serveur aura redémarré, appuyez sur "Echap" pour changer d'utilisateur et
basculer sur le nouveau nom de compte car le serveur conserve "Administrateur" par défaut,
ce qui vous empêche de vous connecter.

Pendant que votre serveur redémarre, cela vous donne l'occasion de commencer à lire le
prochain chapitre de ce cours.

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 verrons comment procéder avec PowerShell, mais aussi avec les
commandes NET USER et NET LOCALGROUP.

Dans les deux cas, nous allons créer un utilisateur nommé "IT-Connect" et l'ajouter à un
nouveau groupe nommé "Externes".

II. Créer un nouvel utilisateur avec PowerShell


A. Créer l'utilisateur avec New-LocalUser

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 puisqu'on le fait en mode interactif :

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.

Exemple - Création d'un utilisateur en PowerShell avec New-LocalUser

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

B. 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

Exemple - Création d'un groupe en PowerShell avec New-LocalGroup


C. 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 "CORE01\IT-Connect"

Petite subtilité au moment de préciser le nom de l'utilisateur : il faut préciser "CORE01" 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.

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


valider ce que l'on vient de faire.

Note : la commande Remove-LocalGroupMember (avec la même syntaxe) permettra, à


l'inverse, de retirer l'utilisateur du groupe.

III. Créer un nouvel utilisateur avec NET USER

Je vous propose d'effectuer la même opération, mais avec des commandes ancestrales : NET
USER et NET LOCALGROUP.

Concrètement, voici la commande à saisir pour créer un utilisateur nommé « IT-Connect »


avec le mot de passe « B0njour! » :

NET USER IT-Connect "B0njour!" /ADD

Vous remarquerez l’ajout de l’option « /ADD » qui permet d’ajouter l’utilisateur. Ensuite
exécutez la commande « NET USER » pour lister les utilisateurs locaux, le nouvel utilisateur
doit apparaître.

Exemple - NET USER pour créer un utilisateur

Pour pousser un peu plus loin la gestion de ce nouvel utilisateur, nous allons l’ajouter dans un
groupe que nous allons créer au préalable.
Pour créer un groupe nommé « Externes », voici la commande à exécuter :

NET LOCALGROUP "Externes" /ADD

Pour ajouter au groupe « Externes » l’utilisateur local « IT-Connect », on utilisera la syntaxe


suivante :

NET LOCALGROUP "Externes" "CORE01\IT-Connect" /ADD


IV. Le cas SCONFIG

Il est à noter que SCONFIG intègre une option qui permet d’ajouter rapidement un utilisateur
au groupe « Administrateur local » que ce soit un utilisateur du domaine ou local. Il suffit de
lancer SCONFIG et de choisir l’option « 3 ».

Attention tout de même, il faut écrire la valeur sous la forme « DOMAINE\Utilisateur » pour
les utilisateurs de domaine.

Pour la création de nouveaux utilisateurs et groupes, il faudra passer par les commandes que
nous venons de voir. Utilisez en priorité les commandes PowerShell, bien entendu.

Définir une configuration TCP/IP en


PowerShell
Définir une configuration TCP/IP correcte sur une carte réseau fait partie des choses basiques
à savoir-faire. PowerShell propose des commandlets adéquats pour parvenir à configurer une
interface réseau, dans le but de remplacer le bon vieux netsh.

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.

I. La liste des cartes réseau

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, pour ma part c’est « 6 », correspondant à
ma carte "Ethernet0".

Note : Pensez à basculer dans une console PowerShell (powershell.exe), si ce n’est pas déjà le
cas.

Exemple - Get-NetIPInterface et Get-NetAdapter

II. Configuration d’une nouvelle adresse IP

En s’appuyant sur le commandlet « New-NetIPAddress », on ajoute l’adresse IP «


192.168.100.13/24 » à l’interface ayant l’index 6, ainsi qu’une passerelle par défaut «
192.168.100.1 »

New-NetIPAddress –InterfaceIndex 6 –IPAddress 192.168.100.13 –PrefixLength


24 –DefaultGateway 192.168.100.1

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).

Voici la sortie correspondante à cet exemple New-NetIPAddress :


Exemple - New-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 ».

Exemple - Remove-NetIPAddress

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
III. Ajout d’un DNS en PowerShell

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.100.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.100.11

Pour la vérification :

Get-DnsClientServerAddress -InterfaceIndex 6

Exemple - Set-DnsClientServerAddress

Si éventuellement vous souhaitez ajouter un suffixe DNS, utilisez cette commande (exemple
avec it-connect.local) :

Set-DnsClient -InterfaceIndex 6 -ConnectionSpecificSuffix it-connect.local


IV. Récupérer la configuration IP avec PowerShell

Pour vérifier que la configuration de la carte réseau est correcte, on utilise la commande
suivante :

Get-NetIPConfiguration

 Note : Un alias de cette commande est présent par défaut, il suffit de saisir « gip ».
Intéressant pour gagner du temps lorsqu’on souhaite visualiser sa configuration, sinon « Get-
NetIPConfiguration » est plus ennuyeux à saisir qu’un simple « ipconfig ».

On peut ajouter à la commande le paramètre « InterfaceIndex » ou « InterfaceAlias » si


nécessaire pour cible une interface en particulier. Cette commande doit forcément vous
rappeler la commande ipconfig.
La configuration de la carte réseau est désormais terminée. N’hésitez pas à vous entraîner sur
ces commandes plutôt que d’utiliser les commandes netsh.

Pour ceux qui préfèrent, il est aussi possible d’utiliser « sconfig ».

V. Définir une configuration TCP/IP avec sconfig

Comme d'habitude, pour accéder à sconfig saisissez la commande suivante :

sconfig

Ensuite, faites le choix « 8 » qui correspond à « Paramètres réseau » et appuyez sur Entrée.

Vous devez indiquer le numéro d’index de votre carte afin que SCONFIG sache quelle
carte vous souhaitez configurer. Pour cela, repérez-vous à la colonne « Index numéro » (ou
"Index#") dans le listing des cartes réseau disponibles, pour ma part l’index est « 1 ». Si vous
avez suivi la procédure PowerShell, vous remarquerez que le numéro d'index n'est pas le
même.

Indiquez ensuite « 1 » pour définir une adresse à la carte réseau puis « s » pour indiquer que
vous souhaitez définir une adresse configuration statique (et donc manuellement).

On va vous demander trois choses : l’adresse IP statique, le masque de sous-réseau et la


passerelle par défaut. Complétez les champs un par un.
Patientez quelques secondes pendant l’actualisation de la configuration de la carte réseau. Une
fois que c’est fait, vous pourrez vérifier que vos paramètres sont bien pris en compte.

La manipulation ne s’arrête pas là, il nous reste à définir un ou plusieurs serveurs DNS
pour pouvoir effectuer de la résolution de noms et donc accéder à internet. Cette fois-ci, au
sein du menu "Paramètres de carte réseau", effectuez le choix « 2 » correspondant «
Définir les serveurs DNS ».

Ensuite, indiquez l’adresse IP de votre serveur DNS préféré/principal puis appuyez sur «
Entrée ». Un message d’avertissement apparaîtra. Faites-en de même pour le serveur DNS
auxiliaire/secondaire si nécessaire.

Pour retourner au menu principal de SCONFIG, vous devez simplement appuyer sur "Entrée",
sans faire de choix.

Félicitations, vous avez réussi à définir une configuration TCP/IP complète en


s’appuyant sur PowerShell et l’utilitaire sconfig.

Intégrer le serveur dans un domaine Active


Directory
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 ce chapitre, nous allons poursuivre la configuration de Windows Server Core par
l'intégration de notre serveur au domaine Active Directory, à l'aide de PowerShell.
Dans ce chapitre, 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 "CORE01" sous Windows Server Core, qui doit rejoindre le domaine
Active Directory
 Le serveur "SRV-ADDS-01" sous Windows Server, qui est le contrôleur de domaine
du domaine "it-connect.local"

Note : Si ce n’est déjà fait, modifiez le DNS de votre serveur Core pour qu’il utilise le DNS
du domaine « it-connect.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 : it-connect.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 CORE01. »

Cette commande doit être exécutée depuis la machine que l’on souhaite intégrer au domaine :

Add-Computer -DomainName it-connect.local -Credential Administrateur@it-


connect.local

Note : l'utilitaire SCONFIG permet lui aussi d'effectuer l'intégration au domaine de notre
serveur. Pour cette méthode, il faut effectuer le choix 1, puis le choix "D".
Lorsque l’ordinateur aura redémarré, vous pouvez ouvrir une session d’un compte du
domaine pour vérifier que la jonction au domaine est fonctionnelle. Vous pouvez aussi
regarder dans votre annuaire si le serveur apparaît bien. Si c’est le cas, félicitations votre
serveur est intégré au domaine !

Gérer les cartes réseau en PowerShell


Précédemment, nous avons vu comment effectuer une configuration TCP/IP sur notre serveur
« CORE01 ». 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.

I. Get-NetAdapter : 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

Note : « 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".

Lister les cartes réseau avec Get-NetAdapter

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
Get-NetAdapter avec des informations supplémentaires

II. Rename-NetAdapter : 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

Rename-NetAdapter pour renommer une carte réseau avec PowerShell

III. 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

Note : Cette commande de réactivation est utile aussi pour activer une carte de backup, dans
le cas où la carte principale deviendrait défectueuse.

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).

Activer ou désactiver une carte réseau en PowerShell

IV. Restart-NetAdapter : 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

L’exemple ci-dessus permet de redémarrer la carte nommée « LAN ». Simple et en plus


efficace !
V. 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é.

Note : Si l'affichage en format tableau ne vous donne pas satisfaction, remplacez "ft" par "fl"
pour obtenir un listing.
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]"

Voici un exemple fonctionnel pour activer des paquets Jumbo :

Activer les paquets Jumbo sur la carte LAN avec Set-NetAdapterAdvancedProperty

VI. Conclusion

Avec les différentes commandes et syntaxes que nous venons d’utiliser, vous êtes en
mesure de gérer les cartes réseau de Windows, exclusivement avec PowerShell !

Si vous souhaitez modifier des propriétés avancées des cartes réseaux, telles que RDMA, de
la QoS, SR-IOV, RSS ou encore VMQ, appuyez-vous sur les commandlets « Set-
NetAdapterAdvancedProperty » ou obtenez la liste complète des commandes disponibles
grâce à « Get-Command *NetAdapter* ». Pour le reste, vous avez toutes les clés en main pour
gérer vos cartes !

Installer et désinstaller des fonctionnalités


L’utilisation de Windows Server en mode Core implique l’utilisation de commandes
PowerShell si l’on souhaite installer une ou plusieurs fonctionnalités sur son serveur. Dans ce
chapitre, nous allons voir le principe d’installation d’une fonctionnalité en ligne de
commandes, sachant que le principe reste le même pour chaque installation. Bien entendu et
comme le titre de ce chapitre le précise, nous verrons également comment désinstaller une
fonctionnalité.

La première phase consiste à dresser la liste des fonctionnalités disponibles sur le serveur et
de voir lesquelles sont déjà installées, s’il y en a. La seconde phase sera celle de l’installation
de la fonctionnalité après avoir déterminé ce qu’on souhaite installer.

I. 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.

Vous obtiendrez quelque chose comme ceci :

La colonne « Name » (tout à droite) 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.

II. Installation d’une fonctionnalité

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

Note : Une commande de type GET permettra de retourner une liste de résultat, alors qu’une
commande de type ADD permettra de modifier la configuration du serveur, en l’occurrence
d’ajouter une fonctionnalité dans ce cas.

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 -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 -Restart

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


fonctionnalité.

Avant de passer à la suite, à savoir la désinstallation d’une fonctionnalité, profitez-en pour


installer le composant .NET Framework car il est très couramment utilisé par d’autres
applications en tant que prérequis. Pour s’éviter des ennuis futurs, on anticipe en l’installant
dès maintenant :

Add-WindowsFeature NET-Framework-Core

Maintenant, vous pouvez considérer que vous êtes opérationnels pour passer à la suite !

[PowerShell] Installer et Configurer le rôle


DHCP
Etape 1 : Installation du rôle

Afin de pouvoir installer le rôle DHCP, nous allons utiliser la commande suivante :

Install-WindowsFeature DHCP -IncludeManagementTools

Le paramètre -IncludeManagementTools permet d'installer la console d'administration


DHCP

Etape 2 : Autorisation du serveur DHCP dans l'AD

Maintenant que vous avez installé votre rôle, il vous faut autoriser votre serveur au niveau de
votre AD. Pour ce faire, entrez la commande suivante :
Add-DHCPServerInDC -DNSName Nom_Serveur

Au niveau du paramètre -DNSName, pensez à entrer le FQDN de votre serveur


(Nom_Serveur.Votre_Domaine)

Etape 3 : Configuration d'un scope DHCP

Maintenant que votre rôle est ajouté et que votre serveur est autorisé dans l'AD, vous pouvez
ajouter vos scopes. Dans le cadre de cet article, un seul scope basique sera configuré tel
qu'indiqué ci-dessous :

 Nom : LAB-PC
 Description : Plage DHCP des ordinateurs du domaine LAB
 Plage IP : De 192.168.100.100 à 192.168.100.200
 Passerelle par défaut : 192.168.100.2
 Serveur DNS : 192.168.200.10

Création de l'option de serveur DNS :

Set-DhcpServerv4OptionValue -DNSServer 192.168.100.10 -DNSDomain lab.lan -Router


192.168.100.2

Création du scope :

Add-DhcpServerv4Scope -Name "LAB-PC" -StartRange 192.168.100.100 -EndRange


192.168.100.200 -SubnetMask 255.255.255.0 -Description "Plage DHCP des ordinateurs
du domaine LAB"
Votre serveur DHCP est maintenant installé, autorisé dans votre AD et votre scope est
configuré. Vous pouvez vérifiez cela en ouvrant la console DHCP.

Bonne configuration :)

Vous aimerez peut-être aussi