Windows Server

Configuration Serveur

RISQUE MOYEN CONFIGURATION ⏱️ 30 secondes

Renommer un serveur Windows

# Renommer un serveur et redémarrer
Rename-Computer -NewName "[NOM_SERVEUR]" -Force -Restart

# Renommer sans redémarrer
Rename-Computer -NewName "[NOM_SERVEUR]" -Force
🎯 Quand utiliser

Renommage d'un serveur après l'installation ou lors d'une restructuration

⚠️ Attention

Le renommage nécessite un redémarrage pour être effectif

✅ Test de succès

Commande `hostname` affiche le nouveau nom

RISQUE FAIBLE RÉSEAU ⏱️ 15 secondes

Configurer une adresse IP statique

# Configurer une IP statique
New-NetIPAddress -InterfaceIndex [ID_INTERFACE] `
    -IPAddress [ADRESSE_IP] `
    -PrefixLength [MASQUE] `
    -DefaultGateway [PASSERELLE]

# Exemple concret
New-NetIPAddress -InterfaceIndex 2 `
    -IPAddress 192.168.1.10 `
    -PrefixLength 24 `
    -DefaultGateway 192.168.1.1
🎯 Quand utiliser

Configuration manuelle d'adresse IP pour les serveurs

⚠️ Attention

Vérifier que l'adresse IP n'est pas déjà utilisée

✅ Test de succès

`ping [ADRESSE_IP]` fonctionne depuis un autre poste

RISQUE FAIBLE RÉSEAU ⏱️ 5 secondes

Configurer interface réseau avec DHCP

# Activer DHCP sur une interface
Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled

# Désactiver DHCP
Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Disabled

# Configurer DNS client
Set-DnsClientServerAddress -InterfaceIndex 2 `
    -ServerAddresses @("8.8.8.8", "8.8.4.4")
🎯 Quand utiliser

Configuration automatique d'adresse IP ou modification DNS

⚠️ Attention

DHCP peut attribuer une IP différente à chaque redémarrage

Rôles & Fonctionnalités

RISQUE ÉLEVÉ ACTIVE DIRECTORY ⏱️ 10-30 minutes

Installer AD Domain Services

# Installer AD DS avec les outils
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

# Promouvoir en contrôleur de domaine
Install-ADDSForest -DomainName "[NOM_DOMAINE]" `
    -DomainNetbiosName "[NETBIOS_NAME]" `
    -InstallDNS `
    -Force
🎯 Quand utiliser

Création d'un nouveau domaine Active Directory

⚠️ Attention

Opération irréversible, redémarrage requis

✅ Test de succès

`Get-ADDomain` retourne les informations du domaine

RISQUE MOYEN SERVEUR FICHIERS ⏱️ 2 minutes

Installer Serveur de Fichiers

# Installer le rôle Serveur de Fichiers
Install-WindowsFeature FS-FileServer -IncludeManagementTools

# Vérifier l'installation
Get-WindowsFeature FS-FileServer | Select-Object Name, Installed
🎯 Quand utiliser

Création d'un serveur de fichiers pour partages réseau

✅ Test de succès

La fonctionnalité apparaît comme installée

PowerShell

Configuration Réseau

RISQUE FAIBLE DIAGNOSTIC ⏱️ 2 secondes

Lister les interfaces réseau

# Lister toutes les interfaces
Get-NetAdapter

# Voir la configuration complète
Get-NetIPConfiguration

# Adresses IP détaillées
Get-NetIPAddress -AddressFamily IPv4 | Sort-Object InterfaceIndex
🎯 Quand utiliser

Vérification de la configuration réseau

⚠️ Attention

Certaines interfaces peuvent être virtuelles

✅ Test de succès

Affichage cohérent des interfaces actives

RISQUE FAIBLE DIAGNOSTIC ⏱️ 5 secondes

Gestion avancée des adresses IP

# Supprimer une adresse IP existante
Get-NetIPAddress -InterfaceAlias "Ethernet 2" | Remove-NetIPAddress -Confirm:$false

# Ajouter une nouvelle adresse IP
New-NetIPAddress -InterfaceAlias "Ethernet 2" -IPAddress 172.16.2.1 -PrefixLength 28

# Vérifier les configurations IP
Get-NetIPConfiguration | Select-Object InterfaceAlias, InterfaceIndex, IPv4Address
🎯 Quand utiliser

Modification ou correction de configuration IP

⚠️ Attention

La suppression d'adresse IP peut couper la connectivité

Gestion Système

RISQUE FAIBLE SYSTÈME ⏱️ 10 secondes

Gestion des services Windows

# Démarrer un service
Start-Service -Name "[NOM_SERVICE]"

# Arrêter un service
Stop-Service -Name "[NOM_SERVICE]" -Force

# Configurer démarrage automatique
Set-Service -Name "[NOM_SERVICE]" -StartupType Automatic

# Voir services en cours
Get-Service | Where-Object {$_.Status -eq "Running"} | Select-Object Name, DisplayName
🎯 Quand utiliser

Maintenance, redémarrage de services, configuration

⚠️ Attention

Certains services critiques ne doivent pas être arrêtés

🚨 Scénario

Service qui ne démarre pas, service bloqué

RISQUE FAIBLE SYSTÈME ⏱️ 5 secondes

Redémarrer un serveur

# Redémarrer immédiatement
Restart-Computer -Force

# Redémarrer avec délai (30 secondes)
Restart-Computer -Delay 30 -Force

# Redémarrer un ordinateur distant
Restart-Computer -ComputerName "SRV-01" -Force
🎯 Quand utiliser

Application de mises à jour, résolution de problèmes

⚠️ Attention

Prévenir les utilisateurs avant redémarrage en production

Réseau & Pare-feu

Pare-feu Windows

RISQUE ÉLEVÉ SÉCURITÉ ⏱️ 5 secondes

Activer/désactiver le pare-feu

# Désactiver temporairement le pare-feu
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

# Activer le pare-feu
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

# Vérifier l'état du pare-feu
Get-NetFirewallProfile | Select-Object Name, Enabled
🎯 Quand utiliser

Tests de connectivité, dépannage réseau

⚠️ Attention

Ne pas laisser le pare-feu désactivé en production

🚨 Scénario

Impossible de ping un serveur, ports bloqués

RISQUE MOYEN SÉCURITÉ ⏱️ 10 secondes

Créer des règles de pare-feu

# Autoriser ICMP (ping) pour un réseau spécifique
New-NetFirewallRule `
  -DisplayName "Allow ICMPv4 LAN" `
  -Direction Inbound `
  -Protocol ICMPv4 `
  -ICMPType 8 `
  -RemoteAddress 192.168.1.0/24 `
  -Profile Any `
  -Action Allow

# Autoriser le trafic forwardé
New-NetFirewallRule `
  -DisplayName "Allow Forwarded Traffic" `
  -Direction Inbound `
  -Action Allow `
  -Profile Any `
  -InterfaceAlias "Ethernet 2" `
  -Protocol Any
🎯 Quand utiliser

Ouverture de ports pour applications, routage

⚠️ Attention

Limiter les règles aux adresses IP nécessaires uniquement

RISQUE FAIBLE SÉCURITÉ ⏱️ 5 secondes

Gestion des règles de pare-feu

# Supprimer une règle par son nom
Remove-NetFirewallRule -DisplayName "Allow ICMPv4 Anywhere"

# Supprimer plusieurs règles
Get-NetFirewallRule -Profile Private | Remove-NetFirewallRule

# Activer des groupes de règles
Enable-NetFirewallRule -DisplayGroup "File and Printer Sharing"
Enable-NetFirewallRule -DisplayGroup "Remote Service Management"
🎯 Quand utiliser

Nettoyage de règles obsolètes, activation de fonctionnalités

✅ Test de succès

Les services nécessaires sont accessibles

Routage & NAT

RISQUE ÉLEVÉ RÉSEAU ⏱️ 30 secondes

Configuration NAT

# Créer une configuration NAT
New-NetNat -Name "[NOM_NAT]" `
    -InternalIPInterfaceAddressPrefix "[RESEAU_CIDR]"

# Exemple pour réseau interne
New-NetNat -Name "LAN-NAT" `
    -InternalIPInterfaceAddressPrefix "192.168.1.0/24"

# Voir configurations existantes
Get-NetNat

# Supprimer une configuration
Remove-NetNat -Name "[NOM_NAT]" -Confirm:$false
🎯 Quand utiliser

Partage de connexion Internet, masquage d'adresses

⚠️ Attention

Configuration complexe, bien tester

✅ Test de succès

Les clients du réseau interne peuvent accéder à Internet

RISQUE MOYEN RÉSEAU ⏱️ 15 secondes

Gestion du routage IP

# Activer/désactiver le forwarding IP
Set-NetIPInterface -InterfaceAlias "Ethernet 2" -Forwarding Enabled
Set-NetIPInterface -InterfaceAlias "Ethernet" -Forwarding Disabled

# Ajouter une route statique
New-NetRoute -DestinationPrefix "172.16.0.0/24" `
    -NextHop "172.16.2.140" `
    -InterfaceIndex 2 `
    -PolicyStore PersistentStore

# Vérifier les routes
Get-NetRoute -AddressFamily IPv4 | Where-Object {$_.DestinationPrefix -ne "0.0.0.0/0"} | Format-Table
🎯 Quand utiliser

Configuration de routeurs, connexion entre réseaux

⚠️ Attention

Les routes incorrectes peuvent couper la connectivité

RISQUE MOYEN RÉSEAU ⏱️ 10 secondes

Configuration DHCP Relay

# Installer DHCP Relay (via netsh)
netsh routing ip relay install

# Déclarer le serveur DHCP
netsh routing ip relay add dhcpserver 172.16.2.1

# Activer DHCP Relay sur une interface
netsh routing ip relay add interface "Ethernet 2"
🎯 Quand utiliser

Relayer les requêtes DHCP entre réseaux

⚠️ Attention

Nécessite une configuration de pare-feu appropriée

DHCP & DNS

Configuration DHCP

RISQUE MOYEN DHCP ⏱️ 30 secondes

Créer un scope DHCP

# Créer un scope DHCP
Add-DhcpServerv4Scope `
    -Name "[NOM_SCOPE]" `
    -StartRange [DEBUT_PLAGE] `
    -EndRange [FIN_PLAGE] `
    -SubnetMask [MASQUE_SOUS_RESEAU] `
    -State Active

# Exemple pour réseau 192.168.1.0/24
Add-DhcpServerv4Scope `
    -Name "Scope-Bureau" `
    -StartRange 192.168.1.100 `
    -EndRange 192.168.1.200 `
    -SubnetMask 255.255.255.0 `
    -State Active
🎯 Quand utiliser

Mise en place d'une nouvelle plage DHCP

⚠️ Attention

Éviter les conflits avec les adresses statiques

✅ Test de succès

Les clients reçoivent une adresse de la plage

RISQUE MOYEN DHCP ⏱️ 15 secondes

Configuration DHCP avancée

# Autoriser le serveur DHCP dans AD
Add-DhcpServerInDC `
  -DnsName "SRV-DHCP.afci.local" `
  -IPAddress 172.16.2.1

# Configurer les options DHCP
Set-DhcpServerv4OptionValue `
  -ScopeId 192.168.0.0 `
  -Router 192.168.0.254 `
  -DnsServer 172.16.2.1 `
  -DnsDomain "afci.lab"

# Créer une réservation IP
Add-DhcpServerv4Reservation `
  -ScopeId 192.168.0.0 `
  -IPAddress 192.168.0.1 `
  -ClientId "00-00-00-0B-00-00" `
  -Name "Reservation-PC-Admin"
🎯 Quand utiliser

Configuration complète du service DHCP

⚠️ Attention

Vérifier les conflits d'adresses IP

RISQUE MOYEN DHCP ⏱️ 2 minutes

Configuration DHCP Failover

# Configuration du failover pour un scope
Add-DhcpServerv4Failover `
    -Name "Failover-Lille-Scope" `
    -ScopeId 172.16.0.0 `
    -PartnerServer "SRV-03.afci.lab" `
    -ComputerName "SRV-01.afci.lab" `
    -LoadBalancePercent 50 `
    -MaxClientLeadTime 01:00:00

# Vérifier les scopes
Get-DhcpServerv4Scope -ComputerName "SRV-01.afci.lab"
Get-DhcpServerv4Scope -ComputerName "SRV-03.afci.lab"
🎯 Quand utiliser

Mise en place de haute disponibilité DHCP

✅ Test de succès

Les clients reçoivent des adresses même si un serveur est down

Configuration DNS

RISQUE FAIBLE DNS ⏱️ 10 secondes

Créer des enregistrements DNS

# Ajouter un enregistrement A
Add-DnsServerResourceRecordA `
    -Name "srv04" `
    -ZoneName "afci.lab" `
    -IPv4Address "172.16.2.104"

# Ajouter un enregistrement CNAME
Add-DnsServerResourceRecordCName `
    -Name "www" `
    -HostNameAlias "srv01.afci.lab" `
    -ZoneName "afci.lab"

# Vérifier les enregistrements
Get-DnsServerResourceRecord -ZoneName "afci.lab" -RRType A
🎯 Quand utiliser

Configuration manuelle de DNS pour nouveaux serveurs

✅ Test de succès

Résolution DNS fonctionnelle pour le nouveau nom

Fichiers & Partages

Création Partages

RISQUE MOYEN PARTAGE ⏱️ 10 minutes

Créer l'arborescence et les partages

# Création de l'arborescence
New-Item -ItemType Directory -Path "C:\Shares\Commun" -Force
New-Item -ItemType Directory -Path "C:\Shares\Formation" -Force
New-Item -ItemType Directory -Path "C:\Shares\Administration" -Force

# Nettoyer les droits NTFS par défaut
$Folders = @("C:\Shares\Commun", "C:\Shares\Formation", "C:\Shares\Administration")
foreach ($folder in $Folders) {
    icacls $folder /inheritance:r
    icacls $folder /remove "Users"
}

# Attribution des droits NTFS
icacls "C:\Shares\Commun" /grant `
  "AFCI\LD-FS-Commun-F:(OI)(CI)(F)" `
  "AFCI\DL-FS-Commun-RW:(OI)(CI)(M)" `
  "AFCI\DL-FS-Commun-R:(OI)(CI)(RX)"
🎯 Quand utiliser

Configuration initiale des partages de fichiers

⚠️ Attention

Les permissions NTFS sont cumulatives avec les permissions SMB

RISQUE MOYEN PARTAGE ⏱️ 5 minutes

Créer les partages SMB

# Création des partages SMB
New-SmbShare -Name "Commun$" `
  -Path "C:\Shares\Commun" `
  -ChangeAccess "AFCI\LD-FS-Commun-RW" `
  -ReadAccess "AFCI\LD-FS-Commun-R" `
  -FullAccess "AFCI\LD-FS-Administration-F"

New-SmbShare -Name "Formation$" `
  -Path "C:\Shares\Formation" `
  -ChangeAccess "AFCI\LD-FS-Formation-RW" `
  -ReadAccess "AFCI\LD-FS-Formation-R" `
  -FullAccess "AFCI\LD-FS-Administration-F"

# Vérifier les partages
Get-SmbShareAccess Commun$
Get-SmbShareAccess Formation$
🎯 Quand utiliser

Publication des dossiers en partages réseau

✅ Test de succès

Accès au partage depuis un client du domaine

GPO & Stratégies

Gestion GPO

RISQUE MOYEN GPO ⏱️ 5 minutes

Créer et lier une GPO

# Créer une nouvelle GPO
New-GPO -Name "GPO-SEC-Windows-LAPS-Ordinateurs" `
    -Comment "Gestion automatique des mots de passe admin locaux via Windows LAPS"

# Lier la GPO à une OU
New-GPLink `
    -Name "GPO-SEC-Windows-LAPS-Ordinateurs" `
    -Target "OU=Ordinateurs,DC=afci,DC=lab" `
    -LinkEnabled Yes

# Vérifier les GPO
Get-GPO -All | Where-Object { $_.DisplayName -like "*LAPS*" }
🎯 Quand utiliser

Déploiement de stratégies de sécurité

⚠️ Attention

Les GPO peuvent affecter de nombreux ordinateurs

RISQUE MOYEN GPO ⏱️ 10 minutes

Configurer GPO via registre

# Configuration LAPS via registre
$LAPSRegistryKey = "HKLM\Software\Microsoft\Policies\LAPS"
$GPOName = "GPO-SEC-Windows-LAPS-Ordinateurs"

# Sauvegarde dans Active Directory
Set-GPRegistryValue -GpoName $GPOName -Key $LAPSRegistryKey `
    -ValueName "BackupDirectory" -Type DWord -Value 1

# Durée de validité (30 jours)
Set-GPRegistryValue -GpoName $GPOName -Key $LAPSRegistryKey `
    -ValueName "PasswordAgeDays" -Type DWord -Value 30

# Longueur du mot de passe
Set-GPRegistryValue -GpoName $GPOName -Key $LAPSRegistryKey `
    -ValueName "PasswordLength" -Type DWord -Value 14
🎯 Quand utiliser

Configuration avancée de stratégies

✅ Test de succès

Les paramètres s'appliquent après `gpupdate /force`

Windows LAPS

RISQUE ÉLEVÉ SÉCURITÉ ⏱️ 15 minutes

Déploiement Windows LAPS

# Installer le module LAPS
Get-WindowsCapability -Name RSAT*LAPS* -Online
Add-WindowsCapability -Online -Name Rsat.Laps.Tools~~~~0.0.1.0
Import-Module LAPS

# Mise à jour du schéma AD (1 seule fois)
Update-LapsADSchema

# Autoriser les ordinateurs à écrire leur mot de passe
Set-LapsADComputerSelfPermission -Identity "OU=Ordinateurs,DC=afci,DC=lab"

# Délégation de lecture des mots de passe LAPS
Set-LapsADReadPasswordPermission `
    -Identity "OU=Ordinateurs,DC=afci,DC=lab" `
    -AllowedPrincipals "GG_IT_Admin"
🎯 Quand utiliser

Mise en place de la gestion automatique des mots de passe admin locaux

⚠️ Attention

Opération sensible nécessitant des droits d'administrateur d'entreprise

Services & Rôles

RRAS & Routage

RISQUE ÉLEVÉ ROUTAGE ⏱️ 5 minutes

Installer et configurer RRAS

# Installer le rôle Routage et Accès à distance
Install-WindowsFeature RemoteAccess, Routing -IncludeManagementTools

# Activer le service RRAS
Install-RemoteAccess -VpnType RoutingOnly

# Démarrer et configurer le service
Set-Service RemoteAccess -StartupType Automatic
Start-Service RemoteAccess
🎯 Quand utiliser

Configuration d'un serveur comme routeur

⚠️ Attention

Nécessite un redémarrage après installation

Gestion à Distance

RISQUE MOYEN ADMINISTRATION ⏱️ 15 secondes

Configurer Remote Desktop

# Activer Remote Desktop
Set-ItemProperty -Path "HKLM:\\System\\CurrentControlSet\\Control\\Terminal Server" `
                 -Name "fDenyTSConnections" -Value 0

# Activer les règles de pare-feu pour RDP
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

# Ajouter un utilisateur aux utilisateurs RDP
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "[NOM_UTILISATEUR]"
🎯 Quand utiliser

Accès à distance à un serveur Windows

⚠️ Attention

Sécuriser RDP avec NLA et utilisateurs limités

✅ Test de succès

Connexion RDP réussie

IPAM

RISQUE MOYEN GESTION ⏱️ 15 minutes

Déploiement IPAM

# Installation IPAM
Install-WindowsFeature IPAM -IncludeManagementTools

# Installer RSAT GPMC pour GPO
Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0

# Provisionnement IPAM via GPO
Invoke-IpamGpoProvisioning `
    -Domain "afci.lab" `
    -GpoPrefixName "IPAM_AFCI" `
    -IpamServerFqdn "SRV-01.afci.lab"

# Démarrer la découverte
Start-ScheduledTask -TaskPath "\Microsoft\Windows\IPAM\" -TaskName "ServerDiscovery"
🎯 Quand utiliser

Gestion centralisée des adresses IP dans un environnement Windows

⚠️ Attention

La découverte prend plusieurs heures, patientez avant configuration

Administration à distance

PowerShell Remoting

RISQUE MOYEN REMOTE ⏱️ 5 minutes

Configurer PowerShell Remoting

# Activer PowerShell Remoting
Enable-PSRemoting -Force

# Autoriser un hôte comme TrustedHost
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "IP_PC_ADMIN" -Force

# Configurer WinRM
winrm quickconfig

# Tester la connexion à un serveur
Enter-PSSession -ComputerName "SRV-01" -Credential (Get-Credential)
🎯 Quand utiliser

Administration à distance de serveurs

⚠️ Attention

Sécuriser WinRM avec HTTPS dans les environnements de production

RISQUE FAIBLE REMOTE ⏱️ 10 secondes

Exécution de commandes à distance

# Exécuter une commande sur un serveur distant
Invoke-Command -ComputerName "SRV-01" -ScriptBlock {
    Get-Service | Where-Object {$_.Status -eq "Running"}
}

# Créer un partage à distance
Invoke-Command -ComputerName "SRV-01" -ScriptBlock {
    New-Item -Path "C:\Partages\Test" -ItemType Directory -Force
    New-SmbShare -Name "TestShare" -Path "C:\Partages\Test" -FullAccess "Administrateurs"
}
🎯 Quand utiliser

Administration centralisée de plusieurs serveurs

✅ Test de succès

La commande s'exécute correctement sur l'hôte distant

Jonction au domaine

RISQUE MOYEN DOMAINE ⏱️ 2 minutes

Joindre un ordinateur au domaine

# Joindre un ordinateur au domaine
Add-Computer -DomainName "afci.lab" `
    -Credential (Get-Credential -UserName "AFCI\Administrator") `
    -Restart

# Vérifier l'appartenance au domaine
(Get-CimInstance Win32_ComputerSystem).Domain

# Renommer et joindre au domaine
Rename-Computer -NewName "PC_Admin" -Force -Restart:$false
Add-Computer -DomainName "afci.lab" -Credential $Creds -Restart
🎯 Quand utiliser

Intégration de nouveaux postes dans le domaine

⚠️ Attention

Redémarrage requis pour que la jonction soit effective

Utilitaires

Commandes Utiles

RISQUE FAIBLE DIAGNOSTIC ⏱️ 10 secondes

Commandes réseau utiles

# Tester la connectivité
Test-NetConnection -ComputerName "[HOTE]" -TraceRoute

# Vérifier les ports ouverts
Test-NetConnection -ComputerName "[HOTE]" -Port [PORT]

# Faire un ping continu
Test-Connection -ComputerName "[HOTE]" -Count 10

# Résoudre un nom DNS
Resolve-DnsName -Name "[NOM_DOMAINE]"
🎯 Quand utiliser

Diagnostic de problèmes réseau

⚠️ Attention

Certains hôtes peuvent bloquer ICMP ou les scans de port

✅ Test de succès

Connectivité établie ou problème identifié

RISQUE FAIBLE SYSTÈME ⏱️ 5 secondes

Journal des événements

# Voir les événements RRAS
Get-EventLog -LogName System -Source RemoteAccess -Newest 20

# Vérifier l'état du NAT
Get-NetNatStaticMapping
Get-NetNatSession

# Vérifier les services
Get-Service RemoteAccess | Select-Object Name, Status
🎯 Quand utiliser

Dépannage de services, investigation d'erreurs

✅ Test de succès

Identification de la cause d'un problème

RISQUE FAIBLE SYSTÈME ⏱️ 5 secondes

Gestion de l'exécution PowerShell

# Modifier la politique d'exécution
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force

# Vérifier la politique actuelle
Get-ExecutionPolicy -List

# Vérifier la langue disponible
Get-WinUserLanguageList

# Changer la langue d'affichage
Set-WinUILanguageOverride -Language en-US
🎯 Quand utiliser

Exécution de scripts, configuration système

⚠️ Attention

Bypass peut être dangereux pour la sécurité

Scripts Complets

Scripts de Configuration

RISQUE ÉLEVÉ ROUTAGE ⏱️ 5 minutes

Script complet : Configuration RRAS avec NAT

# Script complet de configuration RRAS avec NAT
# ============================================

# 1. Installer les rôles nécessaires
Install-WindowsFeature RemoteAccess, Routing -IncludeManagementTools
Restart-Computer -Force

# 2. Activer le service RRAS
Install-RemoteAccess -VpnType RoutingOnly

# 3. Démarrer et configurer le service
Set-Service RemoteAccess -StartupType Automatic
Start-Service RemoteAccess

# 4. Configurer les interfaces (exemple pour RT1)
# Interface WAN (vers Internet)
New-NetIPAddress -InterfaceIndex 1 -IPAddress 172.16.2.141 -PrefixLength 28 -DefaultGateway 172.16.2.142

# Interface LAN (utilisateurs)
New-NetIPAddress -InterfaceIndex 2 -IPAddress 172.16.1.254 -PrefixLength 24

# Interface Serveurs
New-NetIPAddress -InterfaceIndex 5 -IPAddress 172.16.2.62 -PrefixLength 26

# 5. Configurer les routes statiques
New-NetRoute -DestinationPrefix "172.16.0.0/24" -NextHop "172.16.2.140" -InterfaceIndex 2
New-NetRoute -DestinationPrefix "172.16.2.0/26" -NextHop "172.16.2.140" -InterfaceIndex 2

# 6. Activer le forwarding IP
Set-NetIPInterface -InterfaceAlias "Ethernet" -Forwarding Enabled
Set-NetIPInterface -InterfaceAlias "Ethernet 2" -Forwarding Enabled

# 7. Configurer DHCP Relay (optionnel)
netsh routing ip relay install
netsh routing ip relay add dhcpserver 172.16.2.1

# 8. Activer les règles de pare-feu nécessaires
Enable-NetFirewallRule -DisplayGroup "File and Printer Sharing"
Enable-NetFirewallRule -DisplayGroup "Remote Service Management"

Write-Host "Configuration RRAS terminée avec succès!" -ForegroundColor Green
🎯 Quand utiliser

Configuration complète d'un serveur comme routeur avec NAT

⚠️ Attention

Adapter les adresses IP et interfaces selon votre topologie

✅ Test de succès

Le trafic passe entre les réseaux et NAT fonctionne

RISQUE ÉLEVÉ ACTIVE DIRECTORY ⏱️ 10-30 minutes

Script complet : Promotion en DC répliqué

# Script complet pour promouvoir SRV-03 en DC répliqué
# ======================================================

# Variables de configuration
$ServerName = "SRV-03"
$DomainName = "afci.lab"
$DomainNetbios = "AFCI"
$ServerIP = "172.16.2.65"
$ServerGateway = "172.16.2.126"
$PrimaryDNS = "172.16.2.1"
$SecondaryDNS = "8.8.8.8"

# 1. Configuration réseau
$Adapter = Get-NetAdapter -Physical | Where-Object {$_.Status -eq 'Up'} | Select-Object -First 1
Set-NetIPInterface -InterfaceIndex $Adapter.InterfaceIndex -Dhcp Disabled
New-NetIPAddress -InterfaceIndex $Adapter.InterfaceIndex `
    -IPAddress $ServerIP `
    -PrefixLength 26 `
    -DefaultGateway $ServerGateway
Set-DnsClientServerAddress -InterfaceIndex $Adapter.InterfaceIndex `
    -ServerAddresses @($PrimaryDNS, $SecondaryDNS)

# 2. Renommage du serveur
Rename-Computer -NewName $ServerName -Force -Restart:$false

# 3. Jonction au domaine (si nécessaire)
$CurrentDomain = (Get-CimInstance Win32_ComputerSystem).Domain
if ($CurrentDomain -ne $DomainName) {
    $Creds = Get-Credential -UserName "$DomainNetbios\Administrator"
    Add-Computer -DomainName $DomainName -Credential $Creds -Force -Restart
    exit 0
}

# 4. Installation des rôles AD
Install-WindowsFeature AD-Domain-Services, DNS -IncludeManagementTools

# 5. Découverte du DC existant
$SourceDC_FQDN = (Resolve-DnsName -Name $PrimaryDNS -Type PTR).NameHost
if ([string]::IsNullOrEmpty($SourceDC_FQDN)) {
    $SourceDC_FQDN = "SRV-01.$DomainName"
}

# 6. Promotion en DC répliqué
$SafeModePwd = Read-Host -AsSecureString -Prompt "Mot de passe SAFE MODE"
$PromotionCreds = Get-Credential -UserName "$DomainNetbios\Administrator"

Install-ADDSDomainController `
    -DomainName $DomainName `
    -SafeModeAdministratorPassword $SafeModePwd `
    -Credential $PromotionCreds `
    -InstallDns `
    -NoGlobalCatalog:$false `
    -SiteName "Default-First-Site-Name" `
    -ReplicationSourceDC $SourceDC_FQDN `
    -CreateDnsDelegation:$false `
    -NoRebootOnCompletion:$false `
    -Force

Write-Host "Promotion réussie! Redémarrage en cours..." -ForegroundColor Green
🎯 Quand utiliser

Ajout d'un contrôleur de domaine répliqué dans un domaine existant

⚠️ Attention

Opération irréversible, nécessite un redémarrage

✅ Test de succès

`repadmin /replsummary` montre une réplication saine

RISQUE MOYEN DHCP ⏱️ 5 minutes

Script complet : Configuration DHCP Failover

# Script de configuration DHCP Failover entre SRV-01 et SRV-03
# =============================================================

# 1. Installer le rôle DHCP sur SRV-03 (si nécessaire)
Install-WindowsFeature -Name DHCP -IncludeManagementTools

# 2. Autoriser le service dans le pare-feu
netsh advfirewall firewall add rule name="DHCP Server" dir=in action=allow protocol=UDP localport=67,68

# 3. Redémarrer le service
Restart-Service DHCPServer -Force
Set-Service -Name DHCPServer -StartupType Automatic

# 4. Configuration du failover pour le scope Lille
Add-DhcpServerv4Failover `
    -Name "Failover-Lille-Scope" `
    -ScopeId 172.16.0.0 `
    -PartnerServer "SRV-03.afci.lab" `
    -ComputerName "SRV-01.afci.lab" `
    -LoadBalancePercent 50 `
    -MaxClientLeadTime 01:00:00

# 5. Configuration du failover pour le scope Arras
Add-DhcpServerv4Failover `
    -Name "Failover-Arras-Scope" `
    -ScopeId 172.16.1.0 `
    -PartnerServer "SRV-03.afci.lab" `
    -ComputerName "SRV-01.afci.lab" `
    -LoadBalancePercent 50 `
    -MaxClientLeadTime 01:00:00

# 6. Vérification des scopes
Write-Host "=== Scopes sur SRV-01 ===" -ForegroundColor Cyan
Get-DhcpServerv4Scope -ComputerName "SRV-01.afci.lab" | Format-Table ScopeId, Name, State

Write-Host "`n=== Scopes sur SRV-03 ===" -ForegroundColor Cyan
Get-DhcpServerv4Scope -ComputerName "SRV-03.afci.lab" | Format-Table ScopeId, Name, State

Write-Host "`n=== État du failover ===" -ForegroundColor Cyan
Get-DhcpServerv4Failover -ComputerName "SRV-01.afci.lab" | Format-Table Name, PartnerServer, Mode

Write-Host "`nConfiguration DHCP Failover terminée avec succès!" -ForegroundColor Green
🎯 Quand utiliser

Mise en place de haute disponibilité pour le service DHCP

⚠️ Attention

Les deux serveurs doivent être dans le même domaine

✅ Test de succès

Les clients reçoivent des adresses même si un serveur DHCP est down

RISQUE MOYEN GESTION ⏱️ 15 minutes

Script complet : Déploiement IPAM

# Script de déploiement IPAM en mode production (GPO)
# ====================================================

# 1. Installation IPAM
Install-WindowsFeature IPAM -IncludeManagementTools
Restart-Computer

# 2. Installer RSAT GPMC pour GPO
Add-WindowsCapability -Online -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0
Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

# 3. Importer les modules
Import-Module GroupPolicy
Import-Module ActiveDirectory
Import-Module IpamServer

# 4. Provisionnement IPAM via GPO
Invoke-IpamGpoProvisioning `
    -Domain "afci.lab" `
    -GpoPrefixName "IPAM_AFCI" `
    -IpamServerFqdn "SRV-01.afci.lab"

# 5. Démarrer la découverte
Start-ScheduledTask -TaskPath "\Microsoft\Windows\IPAM\" -TaskName "ServerDiscovery"

# 6. Attendre la découverte (2-4 heures)
Write-Host "Découverte en cours (2 à 4 heures)..." -ForegroundColor Yellow
Write-Host "Les serveurs DC/DHCP/DNS seront découverts automatiquement" -ForegroundColor White

# 7. Vérifier l'état de découverte (après attente)
Write-Host "`n=== État des serveurs découverts ===" -ForegroundColor Cyan
Get-IpamServerInventory | Format-Table ServerFqdn, ServiceType, ManageabilityStatus

# 8. Configuration de la structure réseau (post-découverte)
Add-IpamBlock -NetworkId "172.16.0.0/16" -Description "Infrastructure AFCI" -Owner "IT-AFCI"

Add-IpamSubnet -NetworkId "172.16.0.0/24" -SubnetName "Lille-Users" -Site "Lille" -Description "Utilisateurs Lille"
Add-IpamSubnet -NetworkId "172.16.1.0/24" -SubnetName "Arras-Users" -Site "Arras" -Description "Utilisateurs Arras"
Add-IpamSubnet -NetworkId "172.16.2.0/26" -SubnetName "Infra-Serveurs" -Description "Réseau Serveurs-Lille"
Add-IpamSubnet -NetworkId "172.16.2.64/26" -SubnetName "Infra-Serveurs" -Description "Réseau Serveurs-Arras"
Add-IpamSubnet -NetworkId "172.16.2.128/28" -SubnetName "Infra-Serveurs" -Description "Réseau interconnexion"

Write-Host "`nIPAM déployé avec succès!" -ForegroundColor Green
🎯 Quand utiliser

Gestion centralisée des adresses IP dans un environnement Windows

⚠️ Attention

La découverte prend plusieurs heures, patientez avant configuration

✅ Test de succès

Les serveurs apparaissent dans la console IPAM

RISQUE ÉLEVÉ SÉCURITÉ ⏱️ 15 minutes

Script complet : Déploiement Windows LAPS

# Script de déploiement Windows LAPS
# Domaine : afci.lab
# OU cible : OU=Ordinateurs,DC=afci,DC=lab
# =============================================

# 1. Installer le module LAPS
Get-WindowsCapability -Name RSAT*LAPS* -Online
Add-WindowsCapability -Online -Name Rsat.Laps.Tools~~~~0.0.1.0

Import-Module LAPS
Import-Module GroupPolicy

# Variables
$DomainOU        = "OU=Ordinateurs,DC=afci,DC=lab"
$GPOName         = "GPO-SEC-Windows-LAPS-Ordinateurs"
$LAPSRegistryKey = "HKLM\Software\Microsoft\Policies\LAPS"
$LAPSReaders     = "GG_IT_Admin"

# 2. Mise à jour du schéma Active Directory (1 seule fois)
Update-LapsADSchema

# 3. Autoriser les ordinateurs à écrire leur mot de passe
Set-LapsADComputerSelfPermission -Identity $DomainOU

# 4. Délégation de lecture des mots de passe LAPS
Set-LapsADReadPasswordPermission `
    -Identity $DomainOU `
    -AllowedPrincipals $LAPSReaders

# 5. Création de la GPO LAPS
if (-not (Get-GPO -Name $GPOName -ErrorAction SilentlyContinue)) {
    New-GPO -Name $GPOName -Comment "Gestion automatique des mots de passe admin locaux via Windows LAPS"
}

# 6. Lier la GPO à l'OU Ordinateurs
New-GPLink `
    -Name $GPOName `
    -Target $DomainOU `
    -LinkEnabled Yes

# 7. Configuration LAPS via registre
Set-GPRegistryValue -GpoName $GPOName -Key $LAPSRegistryKey `
    -ValueName "BackupDirectory" -Type DWord -Value 1

Set-GPRegistryValue -GpoName $GPOName -Key $LAPSRegistryKey `
    -ValueName "PasswordAgeDays" -Type DWord -Value 30

Set-GPRegistryValue -GpoName $GPOName -Key $LAPSRegistryKey `
    -ValueName "PasswordLength" -Type DWord -Value 14

Set-GPRegistryValue -GpoName $GPOName -Key $LAPSRegistryKey `
    -ValueName "PasswordComplexity" -Type DWord -Value 4

Set-GPRegistryValue -GpoName $GPOName -Key $LAPSRegistryKey `
    -ValueName "AdminAccountName" -Type String -Value "Administrator"

Set-GPRegistryValue -GpoName $GPOName -Key $LAPSRegistryKey `
    -ValueName "EnablePasswordEncryption" -Type DWord -Value 1

Write-Host "=== Déploiement Windows LAPS terminé avec succès ===" -ForegroundColor Green
🎯 Quand utiliser

Sécurisation des mots de passe administrateur locaux

⚠️ Attention

Nécessite des droits d'administrateur d'entreprise

✅ Test de succès

Les mots de passe administrateur sont automatiquement gérés