Air-gapped networks are not immune to patch failure. Without a structured offline servicing pipeline, OT environments accumulate technical debt that turns a routine update into a production outage. This playbook covers WSUS offline catalog sync, DISM servicing commands, WS2022 Hyper-V NUMA/storage gotchas, and the reboot-window math that keeps your ICS running.
Your OT network sits behind a diode. No internet egress. No WSUS upstream server. No cloud sync. You breathe easy knowing the air gap protects your PLCs, HMIs, and SCADA servers from the outside world. And you are right, mostly.
Here is what keeps me up at night. The air gap protects you from external threats, but it does nothing to protect you from your own patch pipeline. A corrupted update that bluescreens a domain controller is just as destructive whether it came from the internet or a USB drive carried through a secured doorway. And in OT, the blast radius includes production lines, safety systems, and regulatory compliance.

Why Air-Gapped Patching Is Different From IT Patching
In corporate IT, a failed patch means helpdesk tickets and delayed emails. In OT, a failed patch means a halted assembly line, a tripped safety interlock, or a NERC CIP violation. The stakes change the strategy completely.
Three constraints define your air-gapped OT patching reality:
- No upstream channel. You cannot WSUS sync against Microsoft Update. You need an offline catalog transport, typically a physically carried USB drive or DVD.
- Zero tolerance for disruption. Reboots must align with scheduled maintenance windows that are weeks or months apart. A forced reboot outside the window is a reportable incident.
- No test environment parity. Your staging rack mirrors IT but never fully replicates the field PLC firmware versions, resulting in surprises during production deployment.
Most industrial control system patching guides skip these realities. They assume an internet-connected WSUS server or an SCCM distribution point. That assumption fails the moment you step inside an air-gapped facility.
The Offline Servicing Trinity: WSUS, DISM, and Validation
Effective offline Windows servicing for OT rests on three pillars. Skip any one and your patching cycle breaks.
1. WSUS Offline Catalog: The Right Way
The WSUS offline catalog (WsusScn2.cab) is your only official disconnected path for Microsoft Update compliance scanning. Here is how most teams get it wrong: they copy the .cab file once and reuse it for months. But the catalog expires and Microsoft revokes old signatures. A stale catalog causes scan failures that mask unpatched vulnerabilities.
The fix: Assign a dedicated workstation with temporary internet access to download a fresh catalog before each patch cycle. Script the download via Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?LinkID=74689" and validate the Authenticode signature before copying to a USB drive. This single workflow eliminates the most common offline scan failure.

2. DISM Offline Servicing: Your Swiss Army Knife
DISM is the tool you need when you cannot boot into a fully patched OS. It applies updates, enables features, and checks component store health without requiring a running Windows instance. This is critical in OT because many servers run VMs that cannot tolerate a boot cycle during production hours.
The commands that matter for OT environment patching:
DISM /Image:C:\Mount /Add-Package /PackagePath:update.msu— Apply a patch to an offline image mounted from a WIM or VHD.DISM /Image:C:\Mount /Get-Packages— Inventory installed packages on the offline image before deployment.DISM /Online /Cleanup-Image /RestoreHealth /Source:ESD— Repair component store corruption that could block future updates.
Here is the advanced tip that separates veterans from rookies: always run DISM /CheckHealth before and after applying patches. A corrupt component store is the number one cause of failed cumulative updates on Servers 2019 and 2022. Catching it before the reboot window saves you from a bricked system mid-production shift.

3. Validation Before Deployment
Never trust a patch that has not been validated on your exact OS build and Hyper-V version. Microsoft's Update Catalog lists dependencies, but field experience shows that patches behave differently on WS2022 with Hyper-V when NUMA spanning is enabled or when storage spaces direct is in use. The difference between a lab test and production deployment is the difference between a controlled reboot and a forced power cycle.
WS2022 Hyper-V Gotchas That Will Bite You
Windows Server 2022 introduced several changes that break patching assumptions from Server 2016/2019. If your OT environment runs virtualized workloads on Hyper-V, these three gotchas demand attention.
NUMA Non-Uniform Memory Architecture Reboots
Starting with WS2022, certain Hyper-V VMBus and NUMA-related updates require a host reboot even when the KB article says “no restart required.” This is a known discrepancy. The workaround: assume every cumulative update that touches the Hyper-V role requires a planned reboot. Do not trust the “Restart Behavior” field in the Update Catalog until you have tested it on your hardware.
Storage Spaces Direct (S2D) Cluster-Aware Updating
S2D clusters in OT environments often run on the same Hyper-V hosts that manage critical VMs. Cluster-Aware Updating (CAU) is designed to orchestrate reboots without downtime, but it fails silently when the cluster witness is unreachable. In an air-gapped network without cloud witness, configure a file share witness and test the CAU runbook monthly. A dry run on the first Tuesday of every month prevents unwelcome surprises during the real maintenance window.
Secure Kernel and VBS Conflicts
Virtualization-Based Security (VBS) and Hyper-V protected containers introduce additional servicing requirements on WS2022. If VBS is enabled, cumulative updates take longer to install and may fail with 0x800f0922 if the secure kernel image is corrupted. The mitigation: disable VBS temporarily during the patch cycle if you encounter persistent failures, then re-enable. For OT environments that do not use Credential Guard or Device Guard, consider leaving VBS off to simplify the patch path.
The Reboot-Window Math Every OT Admin Must Know
In industrial environments, a reboot window is not a convenience. It is a contractual obligation. Production downtime costs $10,000+ per minute in some sectors. Here is the math that governs your patching timeline.
A single cumulative update on WS2022 takes 15 to 45 minutes to install, depending on the number of components and whether .NET Framework updates are bundled. Add 10 minutes per SQL Server instance for post-patch consistency checks. Add 20 minutes per Domain Controller for AD database reconfiguration. A four-server cluster with SQL and AD roles needs 3 to 5 hours of uninterrupted maintenance time.
Most OT facilities allocate 4-hour windows. That leaves zero buffer for rollback. If a patch fails at the 3-hour mark, you must abort and restore from backup within the remaining hour or request an emergency extension. This is why the offline validation step with DISM is non-negotiable. You want every patch to install cleanly the first time because there is no room for a second attempt.

The Counterintuitive Truth: Your Air Gap Creates a False Sense of Patch Safety
Here is the insight most OT security frameworks miss. The air gap protects you from remote exploitation, not from local patch failure. The most dangerous vulnerability in an OT environment is not CVE-2026-XXXX. It is a broken update that leaves your Hyper-V cluster in a split-brain state where half the VMs see one domain controller and the other half see a different one. That scenario causes authentication storms, application timeouts, and unscheduled downtime that rivals any ransomware attack.
I have seen three air-gapped facilities suffer production outages in the last two years. None were caused by external attackers. All three were caused by patch deployment errors: a stale WSUS catalog that hid missing updates, a DISM corruption that blocked a security patch, and a Hyper-V NUMA update that forced an unplanned host reboot. The threat was never outside the air gap. It was inside the patch pipeline.
This is why your air-gapped network patching strategy needs the same rigor as your internet-facing systems. The attack vector is different, but the consequence is identical.
Your Action Plan for the Next OT Patch Window
Build this checklist into your change management process:
- Refresh the WSUS offline catalog. Download, sign-verify, scan all servers. Catalog age must be under 30 days.
- Run DISM /CheckHealth on every WS2022 host scheduled for patching. Repair component store corruption before the window opens.
- Test cumulative updates offline on a representative VM. Validate NUMA behavior and S2D cluster-aware updating.
- Calculate your real reboot budget. Multiply server count by 45 minutes, add role-specific overhead, and pad 30% for failures.
- Prepare a rollback plan. Verify backup integrity of all domain controllers and SQL servers. A rollback in a 4-hour window requires pre-staged restore media.
- Execute and validate. Apply patches, reboot, run DISM /CheckHealth again, scan with the WSUS offline catalog, and document the new patch baseline.
FAQ: Air-Gapped and OT Patching
SCCM with a disconnected distribution point works if you transport content via USB or optical media. Intune requires cloud connectivity and is incompatible with true air gaps. Use WSUS offline catalogs combined with DISM for pure disconnected environments.
Every 30 days minimum. The catalog expires and Microsoft revokes old Authenticode signatures. A catalog older than 60 days will fail to scan on modern Windows builds, producing false compliance results.
Pre-stage a full Windows Recovery Environment (WinRE) bootable USB with your baseline image. DISM can also perform offline image rollback if you kept the previous servicing stack. For Domain Controllers, maintain at least two DCs per site so one can be demoted and rebuilt if the other fails.
Yes. VBS increases update installation time by 15-30% and introduces failure mode 0x800f0922 if the secure kernel image is corrupt. If your OT workload does not require Credential Guard, disable VBS to simplify patch cycles. Re-enable after the window if needed.
Download SQL Server cumulative updates via the Microsoft Update Catalog on a connected workstation, transport them via USB, and install with the /QUIET /ACTION=PATCH /ALLINSTANCES switch. Run DBCC CHECKDB after each SQL patch to verify database consistency before declaring the window complete.
What is the one OT patch failure you have seen that a better offline process would have prevented? Drop it in the comments. Real-world failure modes help the whole community build better pipelines.



