Besoin de passer cinq serveurs Windows Server 2012 R2 Datacenter (DE) vers 2016/2019 sans perte de rôles ? Voici une méthode éprouvée, centrée sur la cohérence édition‑langue‑architecture et un déroulé pas à pas, avec checklists, commandes PowerShell et astuces de dépannage.
Migration de Windows Server 2012 R2 Datacenter vers 2016 / 2019 : que faut‑il savoir ?
Problématique
Vous disposez de cinq serveurs en Windows Server 2012 R2 Datacenter (build 9600) en allemand. L’objectif est une mise à niveau in‑place vers Windows Server 2016 ou 2019 Datacenter sans perte de données ni de rôles. En lançant l’ISO standard anglais, l’option « Conserver les fichiers et applications » apparaît désactivée, assortie d’un message demandant d’utiliser « la même version » que celle installée.
Pourquoi l’option « Conserver les fichiers et applications » est‑elle grisée ?
Sur Windows Server, l’assistant d’upgrade impose des correspondances strictes. Si l’une d’elles n’est pas respectée, la conservation in‑place est bloquée :
- Langue : la langue de l’ISO doit impérativement correspondre à la langue d’affichage système (ex.
de-DE
→ ISO allemand). Un ISO anglais ne peut pas conserver les applications d’un OS allemand. - Édition : Datacenter → Datacenter. Le passage Standard ↔ Datacenter n’est pas supporté pendant l’upgrade (hors conversion de licence préalable).
- Architecture : x64 → x64 (toutes les versions concernées sont 64 bits, mais la vérification subsiste).
- Type de média : Retail/Volume/MAK/KMS/Evaluation : un média « Evaluation » vers un OS « Retail/Volume » peut désactiver la conservation. Il faut une clé valide si vous partez d’une évaluation.
- Option d’installation : Server Core ↔ Server Core et Desktop Experience ↔ Desktop Experience ; ne pas croiser ces options sous peine de perte d’applications.
Solution proposée (vue d’ensemble)
- Respecter les correspondances strictes :
- Édition : Datacenter → Datacenter
- Architecture : x64 → x64
- Langue : Allemand → ISO allemand « Windows Server 2016 Datacenter (DE) » ou « Windows Server 2019 Datacenter (DE) »
- Option : si vos 2012 R2 sont avec GUI, choisir « Server with Desktop Experience » dans l’assistant 2016/2019
- Lancer l’upgrade :
- Monter l’ISO localement et exécuter
setup.exe
. - Choisir « Conserver les fichiers, paramètres et applications » (doit être actif avec l’ISO DE).
- Valider l’édition/option d’installation strictement identiques à l’existant.
- Monter l’ISO localement et exécuter
- Chemins directs autorisés :
- 2012 R2 → 2016 ou 2012 R2 → 2019 (supporté).
- Si 2022 est la cible, réaliser 2012 R2 → 2019, puis 2019 → 2022.
- Pré‑requis : correctifs récents, désactivation temporaire des agents tiers (AV, sauvegarde), backup complet ou snapshot, ≥ 20 Go libres sur
C:
. - Post‑upgrade : réactiver les agents, vérifier les rôles (AD DS, Hyper‑V, IIS…), installer immédiatement les mises à jour.
Chemins de mise à niveau supportés
Source | Cible | In‑place avec conservation | Conditions |
---|---|---|---|
2012 R2 Datacenter (DE) | 2016 Datacenter (DE) | Oui | Langue/édition/option identiques |
2012 R2 Datacenter (DE) | 2019 Datacenter (DE) | Oui | Langue/édition/option identiques |
2012 R2 Datacenter (DE) | 2022 Datacenter (DE) | Indirect | Passer par 2019 |
2012 R2 Standard (DE) | 2019 Datacenter (DE) | Non pendant l’upgrade | Conversion de licence avant ou après via clés/SLMGR |
2012 R2 (DE, Evaluation) | 2019 (DE, Retail/Volume) | Conditionnel | Nécessite une clé adéquate ; sinon conservation non proposée |
Avant de commencer : audit express de vos serveurs
Réalisez un instantané de l’état avant migration (édition, langue, rôles, pilotes). Les commandes ci‑dessous vous aident à documenter l’existant et à anticiper les blocages.
:: Édition, build, langue
systeminfo | findstr /I "OS Name OS Version System Locale Input Locale"
dism /online /Get-Intl
:: Rôles et fonctionnalités
powershell -NoLogo -NoProfile -Command "Get-WindowsFeature | Where-Object {$_.InstallState -eq 'Installed'} | Sort DisplayName | Format-Table -Auto"
:: Applications installées
powershell -NoLogo -NoProfile -Command "Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall*, HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall* | Select-Object DisplayName, DisplayVersion, Publisher | Where-Object {$_.DisplayName} | Sort DisplayName"
:: Pilotes
powershell -NoLogo -NoProfile -Command "Export-WindowsDriver -Online -Destination C:\Drivers_Backup"
:: Espace disque
wmic logicaldisk get name, freespace, size
Pré‑requis détaillés (à cocher)
- ✔ Correctifs 2012 R2 : appliquer les dernières mises à jour disponibles.
- ✔ Espace disque : ≥ 20 Go libres sur la partition système (
C:
). - ✔ Agents tiers : désactiver temporairement AV, sauvegarde, supervision, EDR, agents VSS spécifiques.
- ✔ Backup/Snapshot : image système complète et sauvegarde applicative (bases, IIS config, partages).
- ✔ Compatibilité pilotes : mettre à jour NIC/RAID/HBA avant l’upgrade (HCL/firmwares).
- ✔ Langue : vérifier que l’interface système est
de-DE
(dism /online /Get-Intl
), supprimer les packs inutiles. - ✔ Activation : noter la clé/activation actuelle (
slmgr /dlv
) pour débogage. - ✔ Ordonnancement : planifier l’ordre de passage (serveurs sans rôle critique, puis IIS/Hyper‑V, enfin DC si nécessaire).
Procédure d’upgrade pas à pas
- Monter l’ISO allemand 2016/2019 sur le serveur (
de-DE
). - Lancer
setup.exe
; au besoin, décocher ou laisser activé le téléchargement des mises à jour dynamiques selon votre politique. - Choisir l’édition et l’option d’installation :
- Desktop Experience si l’OS source a une interface graphique.
- Server Core si l’OS source est Core.
- À l’étape « Choisir quoi conserver », vérifier que « Conserver les fichiers, paramètres et applications » est sélectionné.
- Valider les avertissements de compatibilité (listes d’applications à désinstaller, pilotes obsolètes).
- Laisser l’assistant parcourir les phases de copie, migration des fonctionnalités et redémarrages.
- À la fin, se reconnecter, vérifier l’activation, et lancer immédiatement Windows Update.
Vérifications post‑upgrade
- Réactiver AV/agents de sauvegarde/supervision et installer leurs versions compatibles 2016/2019.
- Contrôler les services et rôles : AD DS, DNS, DHCP, Hyper‑V, IIS, RDS, fichiers/impression, WSUS, etc.
- Exécuter
Server Manager
(GUI) ousconfig
(Core) pour appliquer les mises à jour de sécurité. - Sur les hôtes Hyper‑V : mettre à niveau la version de configuration des VM si souhaité (
Update-VMVersion
), puis mettre à jour les Integration Services au sein des VM si nécessaire. - Exécuter une batterie de tests applicatifs/transactions réelles.
Cas particuliers par rôles (bonnes pratiques)
Contrôleurs de domaine (AD DS)
- État de santé avant upgrade :
dcdiag /v
,repadmin /replsummary
, vérification DNS, sauvegarde System State. - SYSVOL doit être en DFSR (pas FRS). Contrôlez :
dfsrmig /getmigrationstate
doit renvoyer ELIMINATED. Si ce n’est pas le cas, migrez d’abord. - Niveaux fonctionnels : ne les élevez qu’après validation complète. L’upgrade n’impose pas la hausse immédiate.
- Ordre : si vous avez plusieurs DC, évitez d’upgrader tous les DC du même site simultanément. Conservez au moins un DC 2012 R2 sain avant de basculer le suivant.
Hyper‑V
- Sur hôte autonome : arrêter proprement les VM sensibles ou migrer vers un hôte temporaire.
- En cluster : utiliser la fonctionnalité Cluster OS Rolling Upgrade (2016+) : drainer un nœud, l’éjecter, l’upgrader, le réintégrer, puis passer au suivant. Ne faites jamais une montée in‑place sur tous les nœuds en parallèle.
- Après upgrade :
- Mettre à jour les pilotes NIC/Storage certifiés.
- Vérifier vSwitch, QoS, SR‑IOV, vSAN/CSV, Live Migration, réplication Hyper‑V.
IIS / .NET
- Exporter la configuration
applicationHost.config
(%windir%\System32\inetsrv\config
), sauvegarder certificats et stores. - Tester les sites (authentification, pools d’applications, versions .NET, modules ISAPI, réécriture). Certaines applications peuvent nécessiter .NET 4.x spécifique.
- Vérifier TLS/Schannel (TLS 1.2 activé par défaut sur 2019) et suites de chiffrement selon vos politiques.
Serveur de fichiers / DFS
- Exporter listes de partages et permissions (
Get-SmbShare
,icacls
). - Vérifier VSS, quotas FSRM, déduplication (paramètres migrés mais à contrôler).
RDS
- Noter les rôles (Broker, Web Access, Licensing). Certaines combinaisons exigent des mises à jour de clients RDP et politiques.
AD CS (PKI)
- Exporter la clé privée, modèles, AIA/CDP. Ne pas procéder à la légère ; valider la compatibilité des algorithmes et longueurs de clé.
Dépannage : messages et causes fréquentes
Symptôme | Cause probable | Correctif |
---|---|---|
« Conserver les fichiers et applications » grisé | Langue ISO ≠ langue système, édition ≠ édition, Core ↔ GUI, média Evaluation | Utiliser ISO allemand correspondant, choisir la même option d’installation, fournir une clé licite |
Échec pendant « Features migration » | Pilote tiers (AV/HBA/NIC), filtre disque, agent de sauvegarde actif | Désactiver/désinstaller temporairement, relancer l’upgrade |
Rollback automatique | Manque d’espace, corruption composant, pilote incompatible | Libérer espace, exécuter Dism /Online /Cleanup-Image /RestoreHealth , mettre à jour pilotes |
Activation perdue | Canal KMS/MAK/média différent | slmgr /ato ou renseigner la clé volume ; vérifier connectivité au KMS |
Applications web cassées après upgrade | .NET/handlers, TLS, permission de dossiers | Réinstaller composants IIS requis, forcer TLS 1.2 si nécessaire, revérifier ACL |
Scripts utiles (audit et validation)
Exporter les rôles et services
powershell -NoLogo -NoProfile -Command ^
"Get-WindowsFeature | Where-Object InstallState -eq 'Installed' | `
Select Name, DisplayName | Export-Csv C:\PreUpgrade_Roles.csv -NoTypeInformation; `
Get-Service | Where-Object Status -ne 'Stopped' | `
Select Name, DisplayName, Status, StartType | `
Export-Csv C:\PreUpgrade_Services.csv -NoTypeInformation"
Vérifier les ports d’écoute critiques après upgrade
powershell -NoLogo -NoProfile -Command "Get-NetTCPConnection -State Listen | `
Group-Object LocalPort | Sort-Object Name | `
Select-Object Name, Count"
Contrôler AD après upgrade
dcdiag /v
repadmin /replsummary
repadmin /showrepl *
Sécurité et protocoles
- Profitez de l’upgrade pour normaliser TLS 1.2+, durcir les suites de chiffrement et désactiver older protocols si vos applications le permettent.
- Vérifiez les GPO de durcissement (SMB signing, LDAP channel binding, Netlogon durci) et l’impact sur vos applications.
Licences et évolution
- Activation : l’activation reste valide si le droit de mise à niveau (Software Assurance) existe. En environnement KMS, l’activation s’effectue après l’upgrade (
slmgr /ato
). - Fin de support 2012 R2 : 10 octobre 2023 (ESU possible jusqu’en octobre 2026). La montée de version réduit l’exposition et facilite la conformité.
Plan de repli
- Instantané hyperviseur si vos serveurs sont virtualisés : restauration quasi‑immédiate en cas de problème.
- Image système + sauvegardes applicatives si ce sont des serveurs physiques.
- En cas d’échec, consulter
C:\$WINDOWS.~BT\Sources\Panther\setupact.log
etsetuperr.log
pour diagnostiquer.
Checklist rapide à garder sous la main
- ☑ ISO allemand 2016 ou 2019 Datacenter (même option GUI/Core).
- ☑ Sauvegarde complète / snapshot, espace libre ≥ 20 Go.
- ☑ Mise à jour pilotes, désactivation AV/backup agents.
- ☑ Pour DC :
dfsrmig
à ELIMINATED,dcdiag
propre. - ☑ Lancer
setup.exe
→ Conserver fichiers, paramètres et applications. - ☑ Post‑upgrade : Windows Update, vérification des rôles, réactivation des agents, tests applicatifs.
FAQ minute
Puis‑je changer la langue pendant l’upgrade ?
Non. La conservation n’est possible qu’avec un média de même langue (de-DE
→ ISO allemand). Les changements de langue se traitent en side‑by‑side (réinstallation) ou via packs spécifiques, pas pendant une montée majeure.
Puis‑je passer de Standard à Datacenter pendant l’upgrade ?
Non pendant la montée : effectuez la conversion (clé Datacenter) soit avant, soit après l’upgrade, puis activez.
Quid d’un serveur « Core » ?
Core → Core et GUI → GUI. Changer de style (Core ↔ GUI) au cours de l’upgrade compromet la conservation des applications.
Dois‑je reconstruire un domaine pour passer en 2019 ?
Non. L’upgrade in‑place d’un DC 2012 R2 vers 2019 est supportée si l’environnement est sain (DFSR, réplication OK). Monter un nouveau serveur et le promouvoir reste toutefois la méthode la plus souple en cas de doutes.
Conclusion
La clé d’une mise à niveau in‑place réussie depuis Windows Server 2012 R2 Datacenter réside dans la cohérence stricte édition‑langue‑architecture et la préparation : ISO allemand correspondant, pré‑requis rigoureux, sauvegarde, puis vérification méticuleuse des rôles après redémarrage. En appliquant les contrôles ci‑dessus et en respectant les chemins supportés (2012 R2 → 2016/2019), vous conservez vos données et vos services tout en modernisant la plateforme, avec à la clé des gains de sécurité, de performances et de support.
Récapitulatif opérationnel
Étape | Action | Point de contrôle |
---|---|---|
Préparation | Désinstaller AV/backup agents, MAJ 2012 R2, pilotes, backup/snapshot | ≥ 20 Go libres, rapports dcdiag /repadmin propres |
Validation langue/édition | dism /online /Get-Intl , systeminfo | Langue de-DE , Datacenter confirmé |
Upgrade | Monter ISO DE, setup.exe , choisir Desktop Experience si GUI | Option « Conserver fichiers, paramètres et applications » active |
Post‑upgrade | Windows Update, réactiver agents, tests applicatifs | Rôles OK, journaux sans erreurs bloquantes |
Optimisation | Durcissement TLS, Update‑VMVersion, montée des niveaux fonctionnels AD (si validé) | Conformité sécurité, compatibilité applicative confirmée |
Informations complémentaires utiles
Élément | Détail |
---|---|
Fin du support de 2012 R2 | 10 octobre 2023 (ESU possible jusqu’en oct. 2026) |
Évolution des licences | L’activation reste valide ; pas de clé supplémentaire si Software Assurance permet la montée de version |
Chemins non supportés | Standard ↔ Datacenter sans conversion, langue différente, « Evaluation » → « Retail/Volume » sans clé |
En synthèse, téléchargez l’ISO allemand correspondant à votre édition Datacenter, respectez la correspondance édition‑langue‑architecture, préparez soigneusement vos serveurs, et lancez l’upgrade : vous obtiendrez une transition transparente, sans perte de données ni de rôles.