<h1><a name="p-80-guide-ressources-administrateurs-windows-server-2025-ad-hyper-v-powershell-1" class="anchor" href="#p-80-guide-ressources-administrateurs-windows-server-2025-ad-hyper-v-powershell-1" aria-label="Heading link"></a>[GUIDE] Ressources administrateurs — Windows Server 2025, AD, Hyper-V, PowerShell</h1>
<blockquote>
<p>Guide complet pour les administrateurs système et IT Pros. Couvre Windows Server 2025, Active Directory, Hyper-V, PowerShell, WSUS, DNS/DHCP et plus encore.</p>
</blockquote>
<hr>
<h2><a name="p-80-h-1-windows-server-2025-nouveauts-majeures-2" class="anchor" href="#p-80-h-1-windows-server-2025-nouveauts-majeures-2" aria-label="Heading link"></a>1. Windows Server 2025 — Nouveautés majeures</h2>
<p>Windows Server 2025 (disponibilité générale : novembre 2024) apporte des améliorations significatives en matière de sécurité, de gestion hybride et de performances.</p>
<h3><a name="p-80-hot-patching-3" class="anchor" href="#p-80-hot-patching-3" aria-label="Heading link"></a>Hot Patching</h3>
<p>Le <strong>Hot Patching</strong> permet d’appliquer des mises à jour de sécurité <strong>sans redémarrage</strong> du serveur. Cette fonctionnalité, auparavant réservée à Azure, est désormais disponible pour les installations on-premises via Azure Arc.</p>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Vérifier l'état du Hot Patching
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10
Activer via Azure Arc
az connectedmachine extension create --name "WindowsOSServicingExtension" --resource-group "MonRG" --machine-name "MonServeur"
</code></pre>
<p><strong>Avantages</strong> : réduction drastique des fenêtres de maintenance, disponibilité accrue (99,99 %+).</p>
<h3><a name="p-80-azure-arc-intgr-4" class="anchor" href="#p-80-azure-arc-intgr-4" aria-label="Heading link"></a>Azure Arc intégré</h3>
<p>Windows Server 2025 intègre nativement <strong>Azure Arc</strong>, permettant de gérer vos serveurs on-premises depuis le portail Azure :</p>
<ul>
<li>Politiques Azure Policy appliquées aux serveurs locaux</li>
<li>Microsoft Defender for Cloud unifié</li>
<li>Monitoring via Azure Monitor et Log Analytics</li>
<li>Gestion des mises à jour avec Azure Update Manager</li>
</ul>
<h3><a name="p-80-smb-over-quic-5" class="anchor" href="#p-80-smb-over-quic-5" aria-label="Heading link"></a>SMB over QUIC</h3>
<p>Le protocole <strong>SMB over QUIC</strong> remplace le VPN traditionnel pour l’accès aux partages de fichiers :</p>
<ul>
<li>Chiffrement TLS 1.3 natif</li>
<li>Traversée facilitée des pare-feu (port UDP 443)</li>
<li>Performance améliorée sur les réseaux à haute latence</li>
</ul>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Configurer SMB over QUIC sur le serveur
New-SmbServerCertificateMapping -Name "MonServeur"
-Thumbprint "CERT_THUMBPRINT" -StoreName "My"
Vérifier la configuration
Get-SmbServerCertificateMapping
</code></pre>
<h3><a name="p-80-amliorations-hyper-v-6" class="anchor" href="#p-80-amliorations-hyper-v-6" aria-label="Heading link"></a>Améliorations Hyper-V</h3>
<ul>
<li><strong>GPU Partitioning (GPU-P)</strong> pour les VMs</li>
<li>Support NVMe virtuel amélioré</li>
<li>Live Migration plus rapide avec compression mémoire</li>
<li>Machines virtuelles de génération 2 par défaut</li>
</ul>
<hr>
<h2><a name="p-80-h-2-active-directory-diagnostic-et-gestion-avance-7" class="anchor" href="#p-80-h-2-active-directory-diagnostic-et-gestion-avance-7" aria-label="Heading link"></a>2. Active Directory — Diagnostic et gestion avancée</h2>
<h3><a name="p-80-diagnostic-complet-8" class="anchor" href="#p-80-diagnostic-complet-8" aria-label="Heading link"></a>Diagnostic complet</h3>
<h4><a name="p-80-dcdiag-vrification-de-sant-du-contrleur-de-domaine-9" class="anchor" href="#p-80-dcdiag-vrification-de-sant-du-contrleur-de-domaine-9" aria-label="Heading link"></a>dcdiag — Vérification de santé du contrôleur de domaine</h4>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Diagnostic complet de tous les DC
dcdiag /v /c /d /e /s:NomDuDC
Tests spécifiques critiques
dcdiag /test😃NS /DnsAll # Tests DNS complets
dcdiag /test:Replications # État de la réplication
dcdiag /test:FSMOCheck # Vérification rôles FSMO
dcdiag /test:Advertising # Annonce des services
dcdiag /test:KccEvent # Événements KCC
dcdiag /test:Services # Services AD essentiels
Exporter le rapport complet
dcdiag /v /c /e > C:\Logs\dcdiag_rapport.txt
</code></pre>
<h4><a name="p-80-repadmin-rplication-active-directory-10" class="anchor" href="#p-80-repadmin-rplication-active-directory-10" aria-label="Heading link"></a>repadmin — Réplication Active Directory</h4>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Voir l'état de réplication de tous les DC
repadmin /replsummary
Forcer la réplication entre deux DC
repadmin /replicate DC02 DC01 "DC=domaine,DC=local"
Afficher les partenaires de réplication
repadmin /showrepl NomDuDC
Vérifier la file de réplication
repadmin /queue
Synchroniser toutes les partitions
repadmin /syncall /AdeP
</code></pre>
<h4><a name="p-80-nltest-test-de-confiance-et-localisation-dc-11" class="anchor" href="#p-80-nltest-test-de-confiance-et-localisation-dc-11" aria-label="Heading link"></a>nltest — Test de confiance et localisation DC</h4>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Vérifier la relation de confiance
nltest /sc_query:domaine.local
Trouver le DC le plus proche
nltest /dsgetdc:domaine.local
Réinitialiser le canal sécurisé
nltest /sc_reset:domaine.local
Test-ComputerSecureChannel -Repair -Verbose
</code></pre>
<h3><a name="p-80-rles-fsmo-12" class="anchor" href="#p-80-rles-fsmo-12" aria-label="Heading link"></a>Rôles FSMO</h3>
<div class="md-table">
<table>
<thead>
<tr>
<th>Rôle</th>
<th>Portée</th>
<th>Commande de vérification</th>
</tr>
</thead>
<tbody>
<tr>
<td>Schema Master</td>
<td>Forêt</td>
<td><code>Get-ADForest | Select SchemaMaster</code></td>
</tr>
<tr>
<td>Domain Naming Master</td>
<td>Forêt</td>
<td><code>Get-ADForest | Select DomainNamingMaster</code></td>
</tr>
<tr>
<td>RID Master</td>
<td>Domaine</td>
<td><code>Get-ADDomain | Select RIDMaster</code></td>
</tr>
<tr>
<td>PDC Emulator</td>
<td>Domaine</td>
<td><code>Get-ADDomain | Select PDCEmulator</code></td>
</tr>
<tr>
<td>Infrastructure Master</td>
<td>Domaine</td>
<td><code>Get-ADDomain | Select InfrastructureMaster</code></td>
</tr>
</tbody>
</table>
</div><pre data-code-wrap="powershell"><code class="lang-powershell"># Voir tous les rôles FSMO d'un coup
netdom query fsmo
Transférer un rôle (méthode propre)
Move-ADDirectoryServerOperationMasterRole -Identity "DC02" `
-OperationMasterRole PDCEmulator,RIDMaster
Saisir un rôle (si le DC source est hors ligne — ATTENTION)
Move-ADDirectoryServerOperationMasterRole -Identity "DC02" `
-OperationMasterRole SchemaMaster -Force
</code></pre>
<h3><a name="p-80-gpo-troubleshooting-avanc-13" class="anchor" href="#p-80-gpo-troubleshooting-avanc-13" aria-label="Heading link"></a>GPO — Troubleshooting avancé</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Forcer la mise à jour des GPO
gpupdate /force /boot /logoff
Générer un rapport HTML détaillé
gpresult /h C:\Logs\GPO_Rapport.html /f
gpresult /r # Résumé console
Vérifier les GPO appliquées à distance
Invoke-Command -ComputerName PC01 -ScriptBlock { gpresult /r }
Get-GPResultantSetOfPolicy -Computer "PC01" -User "domaine\utilisateur" `
-ReportType Html -Path "C:\Logs\RSOP_PC01.html"
</code></pre>
<p><strong>Filtrage WMI</strong> — Cibler précisément les machines :</p>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Exemple : GPO uniquement pour Windows 11 24H2+
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "10.0.2%" AND ProductType = "1"
Exemple : Uniquement les laptops
SELECT * FROM Win32_Battery WHERE BatteryStatus > 0
Tester un filtre WMI localement
Get-WmiObject -Query 'SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "10.0.2%"'
</code></pre>
<p><strong>Filtrage de sécurité</strong> : appliquer la GPO uniquement à un groupe de sécurité spécifique en retirant « Utilisateurs authentifiés » et en ajoutant le groupe cible.</p>
<p><strong>Héritage bloqué</strong> : clic droit sur l’OU > « Bloquer l’héritage ». Les GPO « Appliqué » (Enforced) outrepassent ce blocage.</p>
<hr>
<h2><a name="p-80-h-3-hyper-v-virtualisation-complte-14" class="anchor" href="#p-80-h-3-hyper-v-virtualisation-complte-14" aria-label="Heading link"></a>3. Hyper-V — Virtualisation complète</h2>
<h3><a name="p-80-cration-de-machines-virtuelles-15" class="anchor" href="#p-80-cration-de-machines-virtuelles-15" aria-label="Heading link"></a>Création de machines virtuelles</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Créer une VM Generation 2
New-VM -Name "SRV-WEB01" -MemoryStartupBytes 4GB -Generation 2 -NewVHDPath "D:\VMs\SRV-WEB01\SRV-WEB01.vhdx"
-NewVHDSizeBytes 100GB -SwitchName "vSwitch-Production"
Configurer les processeurs et la mémoire dynamique
Set-VM -Name "SRV-WEB01" -ProcessorCount 4 -DynamicMemory -MemoryMinimumBytes 2GB
-MemoryMaximumBytes 8GB -MemoryStartupBytes 4GB
Monter un ISO pour l'installation
Set-VMDvdDrive -VMName "SRV-WEB01" `
-Path "C:\ISO\WindowsServer2025.iso"
Configurer le Secure Boot
Set-VMFirmware -VMName "SRV-WEB01" `
-EnableSecureBoot On -SecureBootTemplate "MicrosoftWindows"
Démarrer la VM
Start-VM -Name "SRV-WEB01"
</code></pre>
<h3><a name="p-80-configuration-rseau-vswitch-16" class="anchor" href="#p-80-configuration-rseau-vswitch-16" aria-label="Heading link"></a>Configuration réseau — vSwitch</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Créer un vSwitch externe (accès réseau physique)
New-VMSwitch -Name "vSwitch-Production" `
-NetAdapterName "Ethernet0" -AllowManagementOS $true
Créer un vSwitch interne (communication hôte-VM)
New-VMSwitch -Name "vSwitch-Gestion" -SwitchType Internal
Créer un vSwitch privé (communication inter-VMs uniquement)
New-VMSwitch -Name "vSwitch-Isolé" -SwitchType Private
Lister les vSwitches
Get-VMSwitch | Format-Table Name, SwitchType, NetAdapterInterfaceDescription
</code></pre>
<h3><a name="p-80-live-migration-17" class="anchor" href="#p-80-live-migration-17" aria-label="Heading link"></a>Live Migration</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Activer Live Migration
Enable-VMMigration
Set-VMMigrationNetwork 10.0.0.0/24
Migrer une VM vers un autre hôte
Move-VM -Name "SRV-WEB01" -DestinationHost "YOURHOST02" `
-IncludeStorage -DestinationStoragePath "D:\VMs\SRV-WEB01"
</code></pre>
<p><strong>Prérequis</strong> : même domaine AD, délégation Kerberos (ou CredSSP), réseau dédié recommandé (10 Gbps+).</p>
<h3><a name="p-80-checkpoints-vs-backups-18" class="anchor" href="#p-80-checkpoints-vs-backups-18" aria-label="Heading link"></a>Checkpoints vs Backups</h3>
<div class="md-table">
<table>
<thead>
<tr>
<th>Aspect</th>
<th>Checkpoint</th>
<th>Backup (Windows Server Backup / VEEAM)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Usage</td>
<td>Test/développement</td>
<td>Production</td>
</tr>
<tr>
<td>Impact perf.</td>
<td>Oui (chaîne AVHDX)</td>
<td>Minimal</td>
</tr>
<tr>
<td>Restauration granulaire</td>
<td>Non</td>
<td>Oui</td>
</tr>
<tr>
<td>Recommandé en production</td>
<td><strong>Non</strong></td>
<td><strong>Oui</strong></td>
</tr>
</tbody>
</table>
</div><pre data-code-wrap="powershell"><code class="lang-powershell"># Créer un checkpoint (dev/test uniquement)
Checkpoint-VM -Name "SRV-WEB01" -SnapshotName "Avant-MiseAJour"
Supprimer les checkpoints (libérer espace)
Remove-VMCheckpoint -VMName "SRV-WEB01" -Name "Avant-MiseAJour"
</code></pre>
<h3><a name="p-80-bonnes-pratiques-stockage-vhdx-19" class="anchor" href="#p-80-bonnes-pratiques-stockage-vhdx-19" aria-label="Heading link"></a>Bonnes pratiques stockage VHDX</h3>
<ul>
<li>Utiliser des disques <strong>VHDX</strong> (et non VHD) — taille max 64 To, résilience aux corruptions</li>
<li>Préférer les disques <strong>fixes</strong> en production (meilleure perf.) vs dynamiques en dev</li>
<li>Séparer les VHDX OS et données sur des volumes physiques distincts</li>
<li>Utiliser <strong>ReFS</strong> ou <strong>NTFS 64K</strong> pour les volumes hébergeant les VHDX</li>
<li>Activer <strong>ODX</strong> (Offloaded Data Transfer) sur le stockage compatible</li>
</ul>
<hr>
<h2><a name="p-80-h-4-powershell-administration-serveur-20" class="anchor" href="#p-80-h-4-powershell-administration-serveur-20" aria-label="Heading link"></a>4. PowerShell — Administration serveur</h2>
<h3><a name="p-80-gestion-distance-21" class="anchor" href="#p-80-gestion-distance-21" aria-label="Heading link"></a>Gestion à distance</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Activer la gestion à distance (sur le serveur cible)
Enable-PSRemoting -Force
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "10.0.0.*"
Session interactive sur un serveur distant
Enter-PSSession -ComputerName SRV-DC01 -Credential (Get-Credential)
Exécuter une commande sur plusieurs serveurs
$serveurs = "SRV-DC01", "SRV-WEB01", "SRV-SQL01"
Invoke-Command -ComputerName $serveurs -ScriptBlock {
Get-Service -Name "W32Time" | Select-Object Name, Status, StartType
}
Copier un fichier vers un serveur distant via session PS
$session = New-PSSession -ComputerName SRV-WEB01
Copy-Item -Path "C:\Scripts\Deploy.ps1" -Destination "C:\Scripts\" `
-ToSession $session
</code></pre>
<h3><a name="p-80-desired-state-configuration-dsc-22" class="anchor" href="#p-80-desired-state-configuration-dsc-22" aria-label="Heading link"></a>Desired State Configuration (DSC)</h3>
<p>DSC permet de définir l’état souhaité d’un serveur et de le maintenir automatiquement :</p>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Exemple de configuration DSC
Configuration ServeurWeb {
Node "SRV-WEB01" {
WindowsFeature IIS {
Ensure = "Present"
Name = "Web-Server"
}
WindowsFeature IISMgmt {
Ensure = "Present"
Name = "Web-Mgmt-Tools"
}
File SiteWeb {
Ensure = "Present"
Type = "Directory"
DestinationPath = "C:\inetpub\monsite"
}
Service W3SVC {
Name = "W3SVC"
State = "Running"
StartType = "Automatic"
}
}
}
Compiler et appliquer
ServeurWeb -OutputPath "C:\DSC\ServeurWeb"
Start-DscConfiguration -Path "C:\DSC\ServeurWeb" -Wait -Verbose -Force
Vérifier la conformité
Test-DscConfiguration -Detailed
</code></pre>
<h3><a name="p-80-scripts-dadministration-essentiels-23" class="anchor" href="#p-80-scripts-dadministration-essentiels-23" aria-label="Heading link"></a>Scripts d’administration essentiels</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Inventaire des serveurs du domaine
Get-ADComputer -Filter {OperatingSystem -like "Server"} `
-Properties OperatingSystem, LastLogonDate |
Select-Object Name, OperatingSystem, LastLogonDate |
Export-Csv "C:\Rapports\Serveurs_AD.csv" -NoTypeInformation
Surveiller l'espace disque sur tous les serveurs
Invoke-Command -ComputerName (Get-Content "C:\Admin\serveurs.txt") -ScriptBlock {
Get-Volume | Where-Object { $.SizeRemaining -lt ($.Size * 0.1) } |
Select-Object @{N='Serveur';E={$env:COMPUTERNAME}}, DriveLetter,
@{N='Libre_Go';E={[math]::Round($.SizeRemaining/1GB,2)}},
@{N='Total_Go';E={[math]::Round($.Size/1GB,2)}}
}
</code></pre>
<hr>
<h2><a name="p-80-h-5-wsus-patch-tuesday-24" class="anchor" href="#p-80-h-5-wsus-patch-tuesday-24" aria-label="Heading link"></a>5. WSUS & Patch Tuesday</h2>
<h3><a name="p-80-configuration-wsus-25" class="anchor" href="#p-80-configuration-wsus-25" aria-label="Heading link"></a>Configuration WSUS</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Installer WSUS
Install-WindowsFeature -Name UpdateServices -IncludeManagementTools
Lancer la configuration post-installation
& "C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall `
CONTENT_DIR=D:\WSUS
Configurer le serveur amont (Microsoft Update)
Set-WsusServerSynchronization -SyncFromMU
$wsus = Get-WsusServer
$wsus.GetSubscription().StartSynchronization()
</code></pre>
<h3><a name="p-80-planification-des-mises-jour-26" class="anchor" href="#p-80-planification-des-mises-jour-26" aria-label="Heading link"></a>Planification des mises à jour</h3>
<div class="md-table">
<table>
<thead>
<tr>
<th>Phase</th>
<th>Délai après Patch Tuesday</th>
<th>Cible</th>
</tr>
</thead>
<tbody>
<tr>
<td>Test/Dev</td>
<td>J+1 à J+3</td>
<td>Serveurs de test</td>
</tr>
<tr>
<td>Pilote</td>
<td>J+7</td>
<td>10 % des postes production</td>
</tr>
<tr>
<td>Production vague 1</td>
<td>J+14</td>
<td>Postes de travail</td>
</tr>
<tr>
<td>Production vague 2</td>
<td>J+21</td>
<td>Serveurs de production</td>
</tr>
<tr>
<td>Serveurs critiques</td>
<td>J+28</td>
<td>DC, SQL, Exchange</td>
</tr>
</tbody>
</table>
</div><h3><a name="p-80-mecmsccm-overview-27" class="anchor" href="#p-80-mecmsccm-overview-27" aria-label="Heading link"></a>MECM/SCCM Overview</h3>
<p>Microsoft Endpoint Configuration Manager (MECM, ex-SCCM) offre une gestion avancée :</p>
<ul>
<li>Déploiement ciblé par collections</li>
<li>Fenêtres de maintenance configurables</li>
<li>Rapports de conformité détaillés</li>
<li>Séquences de tâches pour les déploiements complexes</li>
<li>Intégration avec Azure Update Manager pour les environnements hybrides</li>
</ul>
<h3><a name="p-80-rapport-de-conformit-28" class="anchor" href="#p-80-rapport-de-conformit-28" aria-label="Heading link"></a>Rapport de conformité</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Script de rapport de conformité WSUS
$wsus = Get-WsusServer
$computerScope = New-Object Microsoft.UpdateServices.Administration.ComputerTargetScope
$updateScope = New-Object Microsoft.UpdateServices.Administration.UpdateScope
$updateScope.ApprovedStates = "Any"
$summary = $wsus.GetSummariesPerComputerTarget($updateScope, $computerScope)
$summary | Select-Object @{N='Ordinateur';E={
($wsus.GetComputerTarget([guid]$_.ComputerTargetId)).FullDomainName
}}, InstalledCount, NeededCount, FailedCount |
Export-Csv "C:\Rapports\WSUS_Conformite.csv" -NoTypeInformation
</code></pre>
<hr>
<h2><a name="p-80-h-6-dns-dhcp-29" class="anchor" href="#p-80-h-6-dns-dhcp-29" aria-label="Heading link"></a>6. DNS & DHCP</h2>
<h3><a name="p-80-dns-configuration-et-troubleshooting-30" class="anchor" href="#p-80-dns-configuration-et-troubleshooting-30" aria-label="Heading link"></a>DNS — Configuration et troubleshooting</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Créer une zone DNS principale
Add-DnsServerPrimaryZone -Name "domaine.local" `
-ReplicationScope "Forest" -DynamicUpdate "Secure"
Ajouter des enregistrements
Add-DnsServerResourceRecordA -Name "srv-web01" -ZoneName "domaine.local" -IPv4Address "10.0.1.10"
Add-DnsServerResourceRecordCName -Name "intranet"
-ZoneName "domaine.local" -HostNameAlias "srv-web01.domaine.local"
Configurer un redirecteur conditionnel
Add-DnsServerConditionalForwarderZone -Name "partenaire.com" `
-MasterServers 192.168.1.1, 192.168.1.2
Transfert de zone (vers un serveur secondaire)
Set-DnsServerPrimaryZone -Name "domaine.local" -SecureSecondaries TransferToSecureServers
-SecondaryServers "10.0.0.12"
Troubleshooting DNS
Clear-DnsClientCache # Vider le cache client
Clear-DnsServerCache # Vider le cache serveur
Resolve-DnsName -Name "srv-web01.domaine.local" -Type A -DnsOnly
nslookup -type=SOA domaine.local
Test-DnsServer -IPAddress 10.0.0.10 -ZoneName "domaine.local"
</code></pre>
<h3><a name="p-80-dhcp-configuration-et-gestion-31" class="anchor" href="#p-80-dhcp-configuration-et-gestion-31" aria-label="Heading link"></a>DHCP — Configuration et gestion</h3>
<pre data-code-wrap="powershell"><code class="lang-powershell"># Installer et configurer DHCP
Install-WindowsFeature -Name DHCP -IncludeManagementTools
Add-DhcpServerSecurityGroup
Restart-Service DHCPServer
Créer un scope
Add-DhcpServerv4Scope -Name "Réseau Production" -StartRange 10.0.1.100 -EndRange 10.0.1.250
-SubnetMask 255.255.255.0 -LeaseDuration 8:00:00:00
Options du scope
Set-DhcpServerv4OptionValue -ScopeId 10.0.1.0 -DnsDomain "domaine.local" -DnsServer 10.0.0.10, 10.0.0.11
-Router 10.0.1.1
Réservation DHCP
Add-DhcpServerv4Reservation -ScopeId 10.0.1.0 -IPAddress 10.0.1.50 -ClientId "AA-BB-CC-DD-EE-FF"
-Name "Imprimante-RDC" -Description "Imprimante du rez-de-chaussée"
Exclure une plage
Add-DhcpServerv4ExclusionRange -ScopeId 10.0.1.0 `
-StartRange 10.0.1.1 -EndRange 10.0.1.99
Troubleshooting DHCP
Get-DhcpServerv4ScopeStatistics # Statistiques des scopes
Get-DhcpServerv4Lease -ScopeId 10.0.1.0 # Baux actifs
Get-DhcpServerv4FreeIPAddress -ScopeId 10.0.1.0 -NumAddress 5 # IPs libres
</code></pre>
<hr>
<h2><a name="p-80-h-7-tableau-des-commandes-powershell-essentielles-32" class="anchor" href="#p-80-h-7-tableau-des-commandes-powershell-essentielles-32" aria-label="Heading link"></a>7. Tableau des commandes PowerShell essentielles</h2>
<div class="md-table">
<table>
<thead>
<tr>
<th>Commande</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>Get-ADUser -Filter * -Properties LastLogonDate</code></td>
<td>Lister les utilisateurs AD avec dernière connexion</td>
</tr>
<tr>
<td><code>Get-ADComputer -Filter {Enabled -eq $true}</code></td>
<td>Lister les ordinateurs actifs du domaine</td>
</tr>
<tr>
<td><code>Get-EventLog -LogName System -Newest 50 -EntryType Error</code></td>
<td>Dernières erreurs système</td>
</tr>
<tr>
<td><code>Get-Process | Sort-Object CPU -Descending | Select -First 10</code></td>
<td>Top 10 processus par CPU</td>
</tr>
<tr>
<td><code>Test-NetConnection -ComputerName SRV01 -Port 443</code></td>
<td>Test de connectivité réseau</td>
</tr>
<tr>
<td><code>Get-WindowsFeature | Where Installed</code></td>
<td>Rôles et fonctionnalités installés</td>
</tr>
<tr>
<td><code>Get-SmbOpenFile</code></td>
<td>Fichiers ouverts sur les partages SMB</td>
</tr>
<tr>
<td><code>Get-DhcpServerv4Lease -ScopeId 10.0.1.0</code></td>
<td>Baux DHCP actifs</td>
</tr>
<tr>
<td><code>Resolve-DnsName -Name serveur01 -Type A</code></td>
<td>Résolution DNS</td>
</tr>
<tr>
<td><code>Get-WinEvent -FilterHashtable @{LogName='Security';Id=4625} -MaxEvents 20</code></td>
<td>Dernières tentatives de connexion échouées</td>
</tr>
<tr>
<td><code>Get-VM | Select Name, State, CPUUsage, MemoryAssigned</code></td>
<td>État des VMs Hyper-V</td>
</tr>
<tr>
<td><code>Get-VHD -Path "D:\VMs\disk.vhdx"</code></td>
<td>Informations sur un disque VHDX</td>
</tr>
<tr>
<td><code>Restart-Service -Name DNS -Force</code></td>
<td>Redémarrer le service DNS</td>
</tr>
<tr>
<td><code>Get-ADReplicationPartnerMetadata -Target *</code></td>
<td>Métadonnées de réplication AD</td>
</tr>
<tr>
<td><code>Backup-GPO -All -Path "C:\Backup\GPO"</code></td>
<td>Sauvegarder toutes les GPO</td>
</tr>
<tr>
<td><code>Get-BitLockerVolume</code></td>
<td>État du chiffrement BitLocker</td>
</tr>
</tbody>
</table>
</div><hr>
<h2><a name="p-80-h-8-ressources-officielles-33" class="anchor" href="#p-80-h-8-ressources-officielles-33" aria-label="Heading link"></a>8. Ressources officielles</h2>
<ul>
<li><strong>Microsoft Learn — Windows Server</strong> : <a href="https://learn.microsoft.com/fr-fr/windows-server/">learn.microsoft.com/windows-server</a></li>
<li><strong>Active Directory Documentation</strong> : <a href="https://learn.microsoft.com/fr-fr/windows-server/identity/identity-and-access">learn.microsoft.com/windows-server/identity</a></li>
<li><strong>Hyper-V Documentation</strong> : <a href="https://learn.microsoft.com/fr-fr/windows-server/virtualization/hyper-v/hyper-v-technology-overview">learn.microsoft.com/virtualization/hyper-v</a></li>
<li><strong>PowerShell Documentation</strong> : <a href="https://learn.microsoft.com/fr-fr/powershell/">learn.microsoft.com/powershell</a></li>
<li><strong>WSUS Documentation</strong> : <a href="https://learn.microsoft.com/fr-fr/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus">learn.microsoft.com/windows-server/administration/wsus</a></li>
<li><strong>Windows Server Blog</strong> : <a href="https://techcommunity.microsoft.com/t5/windows-server/ct-p/WindowsServer">techcommunity.microsoft.com</a></li>
<li><strong>Sysinternals Suite</strong> : <a href="https://learn.microsoft.com/fr-fr/sysinternals/">learn.microsoft.com/sysinternals</a></li>
</ul>
<hr>
<p><em>Ce guide est régulièrement mis à jour pour refléter les dernières évolutions de Windows Server et des outils d’administration Microsoft.</em></p>
<p><em>Pour un accompagnement professionnel : <a href="https://ayinedjimi-consultants.fr">ayinedjimi-consultants.fr</a></em></p>