Last Update: Sep 05, 2024 | Published: Aug 17, 2021
I’m kicking off my series to upgrade my Hyper-V lab running Active Directory Domain Services. I’ll be performing in-place upgrades from Windows Server 2016/2019 to Windows Server 2022! I’ll also have some posts on updating the other member servers, file servers, Server Core, Windows Admin Center servers, etc. to 2022.
Now, if you think only a daredevil like Evil Knievel (or someone with a death wish) would try something like this, you may be right. What am I doing upgrading domain controllers to a brand-new operating system version (that’s essentially not generally available at the time of this writing)? Why are you doing an in-place upgrade of a domain controller? For that matter, why the hell are you performing an in-place upgrade of a Windows server, period? Good points.
However, I put it to you that those thoughts are traditional. Back in the day, no server admin in their right mind would have done an in-place upgrade of Windows NT Server 4.0 to Windows 2000 Server. It just didn’t happen. MOSTLY because it was infamously unreliable. The chances of Windows Server being OK, much less all the configuration, services, and applications working post-upgrade were near null. 🙂 And am I suggesting or even recommending following these exact procedures on your production environment with physical servers? Probably not. The point of this post is to show you what can be done, how to do it, and to incorporate this knowledge into your plans at your organization to make things a little smoother when you upgrade your ADDS environment.
Let me start by describing what my Hyper-V lab environment looks like.
Server Name | Operating System | RAM | CPUs |
WS16-DC1 | Windows Server 2016 Datacenter | 4 GB | 4 vCPU |
WS16-DC2 | Windows Server 2016 Datacenter | 4 GB | 4 vCPU |
WS19-DC3 | Windows Server 2019 Datacenter | 4 GB | 4 vCPU |
WS16-FS01-Core | Windows Server 2016 Datacenter Core | 3 GB | 4 vCPU |
WS16-WinAdminCe | Windows Server 2016 Datacenter | 4 GB | 2 vCPU |
WS19-SQL01 | Windows Server 2019 Datacenter | 8 GB | 4 vCPU |
WS19-SSSE-01 | Windows Server 2019 Datacenter | 8 GB | 4 vCPU |
WS22-FS02 | Windows Server 2022 Datacenter | 3 GB | 4 vCPU |
WS22-FS03-Core | Windows Server 2022 Datacenter Core | 3 GB | 2 vCPU |
The memory and CPUs are for reference. You can use whatever specs work for you and your test environments. My plan is to mount the ISO for Windows Server 2022, perform an upgrade of the operating system, then verify everything is still working as expected. Here are some details of ‘WS16-DC1’ before the upgrade. As you can see, all patched up (as of August 2021 Patch Tuesday).
Let’s start this. I’ve mounted the Windows Server 2022 ISO in Hyper-V. I double-clicked on the D: drive and Windows Server Setup starts.
A few screens of checking for updates and entering our product key.
On the ‘Select Image’ screen, we’re going to maintain our Desktop Experience through the upgrade.
Another screen to agree to license terms…
And now, the beauty of the ‘in-place upgrade’!
After I clicked Next, it downloads the latest MCU (Monthly Cumulative Update) & SSU (Servicing Stack Update).
And, the point of no return…
Crossing fingers… 😉
And, it’s alive!!!
Well, look at that. Yes, I just ran an in-place upgrade of a Domain Controller running Windows Server 2016 and upgraded it to Windows Server 2022. Not a hitch along the way. One curiosity pops in my head…either the schema of Active Directory did NOT need to get updated to introduce a WS2022 domain controller, OR Setup took care of it behind the scenes. Personally, I am 99.9% sure that Windows Server 2022 does not include new forest and domain functional levels… which goes hand in hand with the outcome of the upgrade.
There would have been some verbiage during Setup to confirm the schema was being updated. Anyway, that’s a good sign to IT Pros. Less complexity in this complex world is a nice touch. Instead of purchasing new physical servers, installing WS2022, adding the ADDS role, promoting the server to a domain controller, decommissioning your old DC…we’re done in one step.
Plus, the system requirements for Windows Server 2022 are very close to Windows Server 2016. If you have an ancient server, sure, lifecycle management would recommend a new box. But if you have, for example, a Dell R640 or even R630 with a decent warranty, I would strongly recommend placing this option on the table.
All shiny, pretty, even patched up to August 2021 Patch Tuesday levels (20348.169). The fact that Windows is running is excellent news. You can see that Active Directory is looking good so far. I went over to Windows Update, to make sure Windows was up-to-date…nope… 🙂
It is fairly typical for there to be more patches to install after Windows Setup of any flavor. When Setup goes to Windows Update, as I said, it downloads the latest ‘Critical’ Updates. That’s the MCU. So, Windows Defender and .NET Framework updates are not critical. Even still, it’s a good practice to get fully patched before resuming your production workloads.
Well, there you have it. Admittedly, this is a pretty basic environment. The servers I started out with were minimal, with no applications installed. And doing it on Hyper-V, the process is easier, less planning involved, thinking about physical hardware, and performing OS upgrades. But again, the driver model changes ever so slightly, even from 2016 to 2022.
I would make a strong recommendation along this front though before you run Setup – upgrade the server’s BIOS, firmware, chipset drivers, NIC firmware and drivers, etc. For example (Yes, I’m a Dell guy), Dell releases the Server Update Utility (SUU) every quarter. All you have to do is download the (large) ISO, extract it to a network share, then run ‘suulauncher.exe’. It will scan the system’s inventory, scan the repository of updates included in the ISO and give you an easy table with items recommended for an upgrade.
I will accomplish the following sections:
Let’s get started on our 2nd DC. I have mounted my trusty Windows Server 2022 ISO file in Hyper-V and double-clicked on my D: drive. Here is some pre-upgrade info.
I clicked Next and Install a whole lotta times…
And then…
“Alohomora…” (to unlock the mysteries and power of Windows…)
I logged onto my Windows 10 client PC, opened Active Directory Users and Computers, opened the properties for WS16-DC2, and voila!
I went through an almost identical procedure on my last DC, WS19-DC3. Again, this is running Windows Server 2019 Datacenter. I will provide some preliminary info here, then mount the WS2022 ISO, then double-click and commence!
I then clicked Install. 😉 Windows Setup progressed as usual…The ‘Working on updates’ phase hung out at 99% for a good deal of time (at least 5 minutes). It honestly made me a little nervous…Trust me, I’ve been in IT for over 20 years. I know how to perseverate and think horrible thoughts during progress screens! But then, out of the (literally) blue, Shazam!
Excellent! We have successfully upgraded our Active Directory Domain Services role with 3 DCs to the latest Windows Server 2022 operating system. Quite a feat if I do say so myself. Now, let’s start on the final phase of this post, upgrading WS16-FS01-Core running Windows Server 2016 Core to Windows Server 2022 Core.
To refresh your memory, the Core version of Windows Server does not include the traditional Desktop Experience. You have a single command line and extremely limited GUI options available. I believe the Date and Time dialog will pop up if you look to change the time. There are only a handful of GUI windows they kept in the binaries. The point of the Core version is to limit the security footprint and provide a ‘fast and fluid’ experience by managing the server remotely. Microsoft of course recommends the use of Windows Admin Center. So, let’s fire up that VM and check out what we can see.
Everything you wanted to know about WS16-FS01-Core but were afraid to ask. 🙂 So, we have a nicely running system. Before we start the upgrade, let’s confirm the Share we have via the Files & file sharing module.
Yep, ‘Shares’ is all set. We can confirm access from our Windows 10 client PC.
Alright, let’s start the upgrade. Again, I’ve mounted the Windows Server 2022 ISO via Hyper-V for this VM’s DVD drive. At the command prompt, I typed D: for the D: drive and then typed setup.exe. And yes, that lovely (Core) Windows Server Setup screen!
I don’t need to show you all the Windows Setup screens. However, on the Select Image screen, I am keeping the Core version intact and choosing the ‘non-Desktop Experience’ option.
Yes, we are READY!
Very cool. I clicked Install and I will spare you how lovely the ‘Installing Windows Server’ screen looks via Core. Let’s just say some text looks squished. Not to worry…we’re upgrading the core operating system two major versions newer, seamlessly keeping the Core installation option, preserving the Fileserver role, thus allowing us to minimize the attack footprint of the server, keep the fileserver lean and mean, and, as an added bonus, to make patching a breeze. Honestly, Windows Admin Center doesn’t get enough credit. Throughout an IT Pro’s daily, weekly, or even monthly routine, you may NEVER have to log in to your Windows Core servers. Maybe only to upgrade them to Windows Server 2022. This is not really a joke. I set up the File Share on the server via Windows Admin Center; it was simple. You can use WAC to run Windows Update on them, manually, if you have to. Renaming computers, restarting the server, checking something in Device Manager, even opening Event Viewer…all possible from WAC. Really, give it a try. You can find my post on how to install it here.
Back to the Batcave…
And we have liftoff! And yes, new in Windows Server 2022 Core – SConfig loads automatically after you log in. I always run sconfig when logging into Core; it’s a nice touch by Microsoft.
Before we finish this spell, let’s run Windows Update (6) and check for updates. Of course! There are three separate ‘.NET Framework’ updates.
Excellent!
There you go, a 3-in-1, super colossal, spectacular journey to upgrade 3 servers to Windows Server 2022. I don’t think I can overstate this, but the reliability Microsoft engineered into Windows Setup all these years, and today, in Windows Server 2022, is impressive. If the use cases work in your environment, instead of spending capital dollars on a new server, racking it, powering it, networking it, installing an operating system, migrating all your roles, features, applications, services…now you can safely upgrade them seamlessly to Windows Server 2022. But first, here are my recommendations before proceeding:
Next Steps? Really? Look how much you accomplished already! OK. Yes, that is a lot. But, I still have 3 more servers to upgrade to Windows Server 2022 – the first is the SharePoint Server Subscription Edition I installed a few weeks back, the second is the corresponding SQL Server 2019 server for said SSSE (these are both running Windows Server 2019), and the last is my Windows Admin Center server running Windows Server 2016.
In this section, I will be upgrading three more servers:
I’ll try not to include repetitive steps and screens as best as I can. My previous posts around Windows Server 2022 include quite a good deal of detail in this arena. Rest assured, I’ll make sure you can follow along and keep you ready for any gotchas along the way. Let’s get started on Windows Admin Center.
Let’s start with the, well, Starting Line.
This is ‘WS16-WinAdminC’ running Windows Server 2016 Datacenter, with the latest (Aug 2021) patches. I’ve mounted the ever-so-popular Windows Server 2022 ISO (now officially available!) in Hyper-V and double-clicked on my D: drive.
And away we go!
After agonizing MINUTES of waiting (I love Hyper-V and a decent PC), we are done. Let’s check a few things across the board, shall we?
And look at this. Not only did Windows Admin Center fire right up after the upgrade, but it also automatically updated to the latest supported version. How’s that for efficiency?
All right, onto the next…
This is when things could get interesting. For the final 2 servers, I would imagine these may be the ones where we run into a glitch or two, or a major issue. Nothing happens until it happens. 🙂 But upgrading SQL Server 2019 to a newer Windows Server version, in-place… you definitely don’t hear about that too often, do you? Well, Evil Knievel is back. Let’s see where we stand before we start.
And here is the pre-upgrade state of SQL Server 2019. You can see we’re running the latest cumulative update (CU) for SQL2019. You can also see all the SharePoint databases below.
By the way, this is my HP Z2 PC running the Hyper-V role…Do you think I may need more RAM? 😉
Whoa. OK, well, we still have some free memory, we should be fine. Let’s start Setup!
I went through all the standard Windows Server Setup screens, just as before. I got to the point of no return, ‘Ready to install.’
OK then. Let’s hit it!
So, well, I was right, unfortunately. I hit my first ‘glitch.’ I fired up SQL Server Management Studio (SSMS) 18.9.1 and I could not connect to the SQL database engine. A standard ‘can’t locate the server/engine’ message. So, first thought, services. I had a look, and, for whatever reason, the ‘SQL Server’ service was not started. It was set to Automatic. I clicked Start, and it fired right up. I then went back to connect and, we’re good. (As a post follow up, I’ll reboot the server and see if it was a glitch or maybe part of a larger problem)
And as you can see, SQL knows she’s running on Windows Server 2022 Datacenter. I switched over to my trusted Windows 10 client PC to confirm SharePoint (SSSE) was still running, reloaded a few pages, and tested Site Collections. All looks dandy. Isn’t this fun?
Is everybody ready for the most interesting (and fragile?) upgrade? Onto the last!
Again, let’s give you some preliminary, pre-upgrade stats and details.
I mounted the magical Windows Server 2022 ISO, fired up Windows Setup, and, incidentally, ran into this screen briefly after Setup started…
Very slick. At that first ‘Checking for updates’ screen, Setup goes out to get updated Windows Setup bits…updates to the engine that installs Windows Server, to confirm a continually more reliable upgrade and setup process for all. Excellent! (Who knows what bugs we just avoided thanks to those updates? Thank you Microsoft)
I reached the ‘Ready to install’ screen, crossed my fingers and toes, and clicked Install!
OK, the upgrade was completed successfully. So far, so good.
I checked Windows Admin Center for more verification.
And the last small item to check was SharePoint. I went to my Windows 10 client PC and refreshed SharePoint Central Administration and the 2 Team Sites I had. Let me tell you, they took a while to refresh. The SharePoint ‘content engine’ is a beast. There are a lot of resources behind being able to present modern team sites. And of course, my single PC with limiting resources, versus a huge datacenter farm of SharePoint content servers, SQL Servers, well, you get the idea.
But, (yes, enough of the chatter…) it all worked! Like, everything. Honestly, I’ve been in professional IT for > 20 years. I did NOT expect this all to work. I only had that one glitch with the SQL Server service on WS19-SQL01, but, compared to the mess I could be in right now, I would say this was a resounding success!
Here’s what we accomplished: I upgraded seven servers to Windows Server 2022. This included 3 DCs, a SQL Server 2019 server, a SharePoint Server Subscription Edition (Preview) server, a fileserver running Windows Server 2016 Core, and our trusty Windows Admin Center server. That was a lot of work and a lot of fun. I hope each and every one of you finds a little nugget of assistance when performing similar upgrades in your environments. Seriously – the fact that SQL and SharePoint survived the rug from being pulled from underneath their feet…fantastic.
I’m contemplating keeping this ‘series’ alive for a while. I have a decent server infrastructure, all running the latest Windows Server operating system. 😉 I’ll spend some time thinking about what other servers I could introduce, any more potential upgrades I could perform. If you have any ideas about what would benefit you in your environment, please leave a comment and I’ll be in touch.
Thank you very much for joining me on this educational, helpful, and successful upgrade project. Hats off to the Microsoft Windows & Azure engineering teams. Keep up the good work!