(Cours/TP) Windows Server
Cours et TP
Lien vers le cours et les TP en PDF
Atelier Windows Server en mode Core
Cet atelier vous permet de configurer deux serveurs ADDS/DHCP/DNS en redondance.
ADDS: Il est crucial de garantir la continuité des services de l'annuaire AD pour assurer l'authentification et l'accès aux ressources. La réplication entre les contrôleurs de domaine permet de maintenir l'intégrité de la base d'annuaire et de répartir les requêtes entre les différents contrôleurs de domaine, assurant ainsi un équilibrage de charge.
DHCP/DNS : Il en va de même pour les services DHCP et DNS. Si un serveur DHCP est hors service, les postes clients en adresse IP automatique ne pourront pas se connecter au réseau local, à l'exception de ceux qui sont déjà connectés et qui ont un bail en cours. Si le serveur DNS est hors service, la résolution de nom DNS ne fonctionnera plus depuis vos postes clients qui utilisent ce serveur DNS.
Cet atelier vous permet également d'installer votre premier Windows Server, ADDS, DNS et DHCP en mode core. Vous y trouverez toutes les opérations nécessaires !
-
Vous allez installer Windows Server en mode Core, le mettre en réseau et le nommer.
-
Vous allez le promouvoir contrôleur de domaine (DC) Active Directory (AD) d'un domaine existant.
-
Vous allez l'administrer depuis un poste client Windows via les outils d’administration adéquats tel que PowerShell...MMC et Windows Admin Center (WAC) pour bénéficier d'une interface graphique.
-
Vous allez configurer vos deux serveurs DHCP avec équilibrage de charge.
Prérequis
-
Un contrôleur de domaine ADDS déjà installé dont le niveau fonctionnel est Windows Server 2016 (le plus élevé à ce jour).
-
Ce premier Windows Server doit également être configuré comme serveur DNS et DHCP avec une étendue active.
-
Une ISO Windows Server 2016, 2019 ou 2022.
Pour vérifier le niveau fonctionnel du domaine et de la forêt, vous pouvez utiliser ces commandes PowerShell :
# Niveau fonctionnel du domaine :
Get-ADDomain | fl Name,DomainMode
# Niveau fonctionnel de la forêt :
Get-ADForest | fl Name,ForestMode
Etape 1 : Installer Windows Server en mode Core
1) Démarrez le serveur à partir du support d'installation.
2) Suivez les instructions à l'écran pour installer Windows Server.
3) L'installation en mode core est l'option par défaut, l'installation avec interface graphique est l'option mentionnée "...(expérience utlisateur)". Lorsque vous êtes invité à choisir l'option d'installation, sélectionnez alors Windows Server... (Datacenter ou Standard suivant votre licence)
.
Etape 2 : Mettre en réseau et nommer le serveur via PowerShell ou l'utilitaire sconfig
Via Powersell
Depuis le serveur
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "IP_du_serveur" -PrefixLength 24 -DefaultGateway "IP_du_routeur_si_applicable"
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses "127.0.0.1", "adresse_IP_du_premier_serveur"
Rename-Computer -NewName "SRV02-iladucore" -Restart
Via sconfig
Depuis le serveur.
1) Tapez sconfig
dans le terminal et appuyez sur Entrée
pour ouvrir l'utilitaire de configuration du serveur.
2) Dans le menu sconfig, tapez 8
et appuyez sur Entrée
pour accéder à la configuration réseau.
3) Une liste des interfaces réseau disponibles s'affichera. Tapez le numéro correspondant à l'interface que vous souhaitez configurer et appuyez sur Entrée
.
4) Tapez 1
pour configurer l'adresse IP et appuyez sur Entrée
.
5) Entrez l'adresse IP statique que vous souhaitez attribuer au serveur (exemple : 192.168.1.10).
6) Entrez le masque de sous-réseau (exemple : 255.255.255.0).
7) Entrez la passerelle par défaut si applicable (adresse Ip du routeur).
8) Tapez 2
pour configurer le DNS et appuyez sur Entrée
.
9) Entrez l'adresse IP du serveur DNS principal (adresse IP du premier serveur).
10) Entrez l'adresse IP du serveur DNS secondaire (127.0.0.1).
11) Revenez dans le menu principal
de sconfig, tapez 2
et appuyez sur Entrée
pour accéder à la configuration du nom de l'ordinateur.
12) Entrez le nouveau nom du serveur (exemple : SRV02-iladucore) et confirmez le changement de nom.
13) sconfig vous demandera de redémarrer le serveur pour appliquer les changements de nom. Tapez Y
et appuyez sur Entrée
pour redémarrer le serveur.
Etape 3 : Promouvoir le serveur en tant que contrôleur de domaine (DC)
Installez les outils de gestion AD :
Promouvoir le serveur en tant que DC d'un domaine existant :Install-ADDSDomainController -DomainName "domainexistant.home" -InstallDns -Credential (Get-Credential) -SafeModeAdministratorPassword (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)
Promouvoir le serveur en tant que DC d'un nouveau domaine :
Etape 4 : Administrer le serveur depuis un poste client Windows 11
WinRM
WinRM (Windows Remote Management) est un service de gestion à distance pour Windows qui permet de gérer des serveurs et des postes de travail à distance. Il utilise le protocole HTTP ou HTTPS pour la communication entre le client et le serveur. Par défaut, WinRM utilise le port 5985 pour HTTP et le port 5986 pour HTTPS. Le protocole HTTPS est évidemement recommandé pour des raisons de sécurité, car il chiffre les communications entre le client et le serveur.
WinRM est utilisé pour l'exécution de de commandes distantes PowerShell, la gestion via la console MMC (Microsoft Management Console) et l'administration via Windows Admin Center (WAC) depuis un poste client, de manière similaire à SSH pour les systèmes Linux.
Assurer que PSRemoting via WinRM (Gestion à distance de Windows) est activé sur le serveur :
Par défaut, WinRM bloque les connexions depuis une machine distantes sauf si l'authentification est effectuée via :
- HTTPS (WinRM HTTPS n’est pas configuré par défaut);
- ou depuis un poste dans le domaine AD;
- ou que l'hôte distant est déclaré en tant qu'hôte de confiance (TrustedHosts).
Si votre poste client n'est pas dans le même domaine AD que votre serveur, vous devez déclarer les Trustedhosts
:
Sur le serveur :
Sur le client :
Pensez à redémarrer le service WinRM pour la prise en compte des modifications :
Vous pouvez vérifier la configuration de WinRM :
# Vérifier si le service WinRM est en cours d'exécution
Get-Service -Name WinRM
# Démarrer le service WinRM s'il n'est pas en cours d'exécution
if ((Get-Service -Name WinRM).Status -ne 'Running') {
Start-Service -Name WinRM
}
# Vérifier la configuration de WinRM
winrm get winrm/config
# Vérifier les écouteurs WinRM
winrm enumerate winrm/config/Listener
# Vérifier les règles de pare-feu pour WinRM
Get-NetFirewallRule -DisplayName "Windows Remote Management*"
# Vérifier les certificats WinRM
dir Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*CN=WinRM*" }
# Tester la connexion WinRM depuis un poste client
Test-WSMan -ComputerName "NomDuServeur"
Via PowerShell
Pour vous connecter à un serveur ou poste distant Windows où WinRM est activé, la commande PowerShell est celle-ci :
Pour se déconnecter de votre session distante et revenir à votre session locale :
Via les consoles MMC
1) Cliquez avec le bouton droit sur le menu Démarrer
et sélectionnez Windows PowerShell (Admin)
ou Windows Terminal (Admin)
.
2) Exécutez la commande suivante pour installer les outils d'administration à distance :
3) Appuyez sur Win + R
, tapez mmc
et appuyez sur Entrée
pour ouvrir la console MMC.
4) Dans la console MMC, allez dans le menu Fichier
et sélectionnez Ajouter/Supprimer un composant logiciel enfichable...
.
5) Dans la fenêtre qui s'ouvre, sélectionnez le composant que vous souhaitez utiliser pour gérer le serveur, par exemple Gestion de l'ordinateur
.
6) Après avoir ajouté le composant, cliquez dessus avec le bouton droit et sélectionnez Connecter à un autre ordinateur...
.
7) Entrez le nom ou l'adresse IP
du serveur auquel vous souhaitez vous connecter et cliquez sur OK
.
via Windows Admin Center
1) Téléchargez le fichier d'installation de Windows Admin Center depuis le site officiel de Microsoft.
2) Exécutez le fichier d'installation et suivez les instructions à l'écran pour installer Windows Admin Center.
3) Ouvrez un navigateur web et accédez à l'URL de Windows Admin Center (par défaut, https://
4) Suivez les instructions à l'écran pour configurer les paramètres initiaux de Windows Admin Center.
5) Pour ajouter votre serveur à la console, cliquez sur Ajouter
dans le tableau de bord de Windows Admin Center.
6) Sélectionnez Serveur
et entrez le nom ou l'adresse IP du serveur
ainsi que les informations d'identification de l'administrateur.
7) Cliquez sur Ajouter
pour ajouter le serveur.
8) Cliquez sur le serveur ajouté pour accéder à ses paramètres et utilisez les outils de gestion de Windows Admin Center.
Etape 5 : Configurer un cluster de basculement DHCP
Prérequis
- Rôle DHCP installé : Le rôle DHCP doit être installé sur les deux serveurs.
- Autorisation DHCP : Les deux serveurs doivent être autorisés dans Active Directory.
- Sur le premier serveur, une étendue DHCP doit être active. Vous pouvez vérifier avec les commandes suivantes:
1) Sur le premier serveur DHCP, ouvrez une console MMC
et chargez le composant DHCP
. A faire de préférence depuis votre poste client !
2) Clic droit sur l'étendue, puis Configurer un basculement
.
3) L'assistant de configuration s'ouvre, sélectionnez l'étendue ou laissez cocher sélectionner tout
.
4) Depuis l'écran Spécifier le serveur partenaire
, cliquez sur Ajouter un serveur
, cochez Ce serveur DHCP autorisé
et sélectionnez le deuxième serveur DHCP.
5) Depuis l'écran configurer un basculement
, vous allez configurer les paramètres suivants :
-
Nom de la relation
: comme vous voulez ! -
MCLT
: Ce paramètre spécifie la durée pendant laquelle un bail DHCP peut être renouvelé par l'un des partenaires de basculement sans contacter l'autre, ce qui est utile en cas de panne. Il joue également un deuxième rôle en spécifiant la durée pendant laquelle le serveur actif restera dans l'état "partenaire en panne" avant de prendre le contrôle de la totalité de la plage d'adresses IP de l'étendue. C'est particulièrement intéressant pour assurer une continuité de service en cas de panne prolongée. -
Mode
: Vous allez choisir le scénario que vous voulez.
Mode Basculement (Failover)
Un serveur DHCP principal gère les baux DHCP, tandis qu'un serveur secondaire reste en veille. Si le serveur principal tombe en panne, le serveur secondaire prend le relais pour assurer la continuité de service DHCP. Il faut alors préciser le pourcentage d'adresses IP réservées pour le serveur de secours au sein de la plage d'adresse, idéalement 20% (règle 80/20). Dans ce cas, le serveur de secours est assuré d'avoir 20% d'adresses IP disponibles qu'il peut attribuer aux postes clients.
Mode Equilibrage de charge (Load Balancing)
Les deux serveurs DHCP partagent la charge de distribution des adresses IP. Chaque serveur gère une partie de la plage d'adresses IP. Les deux serveurs DHCP distribuent des adresses IP aux clients de manière équilibrée. Il faut alors définir le Pourcentage d'équilibrage de charge
, ce qui correspond au pourcentage d'adresses IP de la plage de l'étendue que devra gérer chaque serveur, idéalement 50/50.
-
Activer l'authentification du message
: Saisissez un "Secret partagé" complexe qui sera utilisé pour chiffrer les échanges entre les deux serveurs DHCP du cluster. -
Intervalle de basculement d'état
: Cette option permet de spécifier le délai après lequel un partenaire est considéré comme hors service si la communication avec lui est perdue. Il est important de spécifier cette option, sans quoi le basculement peut subvenir sans délai. 5 minutes est un bon compromis.
6) Poursuivez jusqu'au bout de l'assistant et obtenez le message "Réussite de la configuration du basculement"!
7) Ce n'est pas fini ! Toujours depuis votre premier serveur, faites un clic droit sur l'étendue puis Répliquer l'étendue
pour permettre de synchroniser les paramètres entre les deux serveurs (options d'étendue, baux DHCP,...). Cette synchronisation n'est pas automatique, c'est pourquoi il faut penser à la lancer dès que vous modifiez la configuration de l'étendue.
8) C'est tout bon ! Vous pouvez vérifier la configuration du basculement avec ces commandes PowerShell :
# Obtenir des informations sur le cluster DHCP.
Get-DhcpServerv4Failover -ComputerName "Nom_du_serveur_DHCP"
# Obtenir des informations détaillées sur une étendue spécifique.
Get-DhcpServerv4ScopeStatistics -ComputerName "nom_du_serveur_DHCP" -ScopeId "ID_réseau"
Etape 6 : Vérifier et tester que la redondance des services ADDS, DHCP et DNS est assurée.
Option d'étendue DCHP pour déclarer le deuxième serveur DNS
Bien entendu, vous avez pensé à ajouter votre deuxième serveur DNS dans les options d'étendue DHCP ! De façon à ce que les postes clients puissent contacter l'un ou l'autre.
Set-DhcpServerv4OptionValue -ComputerName "Nom_du_serveur_DHCP" -ScopeId "ID_réseau" -DnsServer "Adresse_IP_du_serveur_DNS_primaire", "Adresse_IP_du_serveur_DNS_secondaire"
Pensez à répliquer la configuration vers l'autres serveur DCHP de votre cluster de basculement en cas de modfication sur l'étendue !
Eteignez un des serveurs (ou arrêtez les services), puis :
Test AD : Ouvrez une invite de commandes en tant qu'administrateur sur le poste client et exécutez la commande suivante pour vérifier la connectivité au contrôleur de domaine :
Test DHCP : Ouvrez une invite de commandes en tant qu'administrateur sur le poste client et exécutez les commandes suivantes pour libérer et renouveler le bail DHCP :
Vérifiez que le poste client a obtenu une adresse IP et les options DHCP correctes (comme les serveurs DNS) depuis le serveur DHCP restant.
Test DNS : Utilisez la commande nslookup
pour vérifier que le poste client peut résoudre des noms de domaine via le serveur DNS restant :
FIN !
Commandes utiles
nslookup
La commande nslookup
permet d'interroger un serveur DNS pour obtenir des informations sur un nom de domaine ou une adresse IP. Pour utiliser nslookup en mode non interactif avec le serveur DNS 9.9.9.9 (Quad9), voici quelques exemples de commandes :
Résolution d'un nom de domaine en adresse IP :
Recherche d'un enregistrement MX pour les serveurs de messagerie :
Recherche des enregistrements NN pour les serveurs de nom DNS :
Recherche de l'adresse inverse (résolution d'une IP en nom de domaine) :
Recherche d'un enregistrement TXT (souvent utilisé pour SPF, DKIM, etc.) :
Rôles Windows Server
Lister les rôles disponibles :
Lister les rôles installés :
Installation ADDS,DNS et DHCP
Promotion contrôleur de domaine avec installation DNS :
Tests de connectivité Active Directory
Commandes PowerShell
Test-ComputerSecureChannel
Cette commande teste la connexion sécurisée entre un ordinateur et un contrôleur de domaine :
Get-ADDomainController
Cette commande récupère une liste de tous les contrôleurs de domaine dans le domain :
Get-ADUser
Cette commande récupère les informations sur un utilisateur spécifique :
Test-ADServiceAccount
Cette commande teste l'état d'un compte de service géré :
Commandes CMD
nltest
Cette commande liste tous les contrôleurs de domaine dans le domaine spécifié :
Afficher des informations sur un utilisateur, telles que le contrôleur de domaine d'authentification :
Afficher des informations de configuration telles que le nom de domaine et le nom NetBIOS :
dcdiag
Cette commande exécute des tests de diagnostic sur les contrôleurs de domaine :
Vérifier la topologie Active Directory :
repadmin
Cette commande affiche un résumé de la réplication Active Directory :
Afficher des détails spécifiques sur la réplication entre les contrôleurs de domaine :
netdiag
Cette commande exécute des tests de diagnostic réseau :
Outils Graphiques
- Active Directory Users and Computers (ADUC)
Ouvrez dsa.msc
pour accéder à l'outil de gestion des utilisateurs et des ordinateurs.
- Active Directory Sites and Services
Ouvrez dssite.msc
pour gérer les sites et les services Active Directory.
- Active Directory Administrative Center (ADAC)
Ouvrez dsac.exe
pour une interface graphique plus moderne pour gérer Active Directory.
Outils de Diagnostic
- ADSI Edit
Ouvrez adsiedit.msc
pour éditer les objets Active Directory directement.
- Event Viewer
Ouvrez eventvwr.msc
et vérifiez les journaux d'événements pour les erreurs ou les avertissements liés à Active Directory.
Scripts PowerShell
Vous pouvez également utiliser des scripts PowerShell pour automatiser les tests et les diagnostics. Voici un exemple de script simple pour vérifier l'état des contrôleurs de domaine. Ce script récupère tous les contrôleurs de domaine et teste la connexion sécurisée pour chacun d'eux :
$domainControllers = Get-ADDomainController -Filter *
foreach ($dc in $domainControllers) {
Write-Host "Testing $($dc.Name)"
Test-ComputerSecureChannel -Server $dc.Name
}
Active Directory
Importer le module active directory pour obtenir les commandes liées à l'AD :
Création d'un utilisateur AD
# Définition du mot de passe dans une variable :
$motdepasse = "SuperM@tdePasse!" | ConvertTo-SecureString -AsPlainText -Force
# Création du compte avec rappel de la variable :
New-ADUser -Name "Super POWER" -Surname "POWER" -GivenName "Super" -DisplayName "Super POWER" -UserPrincipalName "super.power@devrig.lcl" -SamAccountName "superpower" -path "OU=Informatique, OU=Ma_boite, DC=devrig, DC=lcl" -PasswordNeverExpires $true -Enabled $true -AccountPassword $motdepasse
WSUS
Installation WSUS :
Installation WSUS avec WID :
Installation WSUS avec SQL :
Postinstall :
Set-Location "C:\Program Files\Update Services\Tools" | .\wsusutil.exe postinstall CONTENT_DIR=e:\wsus
Correctif autoriser IIS à utiliser toute la mémoire vive disponible :
Set-WebConfiguration -Filter "/system.applicationHost/applicationPools/add[@name='WsusPool']/recycling/periodicRestart/@privateMemory" -Value 0
Correctif autoriser IIS à lancer plusieurs processus :
Set-WebConfiguration -Filter "/system.applicationHost/applicationPools/add[@name='WsusPool']/processModel/@maxProcesses" -Value 0
WDS
Pour initialiser un serveur Windows Deployment Services (WDS). Vous pouvez utiliser l'utilitaire en ligne de commande wdsutil