Skip to main content
Version: Next

Task 13: Phase 03 Verification

Runbook Phase 03 Platform

Status: Active | Estimated Time: 3–5 minutes | Last Updated: 2026-03-07


Overview

Read-only verification script that confirms all Phase 03 OS Configuration tasks completed successfully across all cluster nodes. Run this after Task 12 completes — or after running individual tasks — before proceeding to Phase 04 ARC Registration.

Read-only

This script makes no changes to any node. It only reads and reports state.


What Is Verified

TaskCheckPass Condition
01WinRMService running, HTTP listener active
02RDPRegistry value = 0, firewall rule enabled
03/04Static IP + DHCP disabledIP matches variables.yml, DHCP = Disabled
05DNS serversPrimary and secondary match variables.yml
06DNS resolutionSuccessful DNS lookup
07NTPStratum < 15, source is not Local CMOS Clock or Free-running
08ICMPICMPv4 Echo Request firewall rule enabled
09Unused adaptersNo disconnected adapters still enabled
10HostnameCOMPUTERNAME matches variables.yml hostname
11StorageNo non-primordial pools, no virtual disks, all non-boot disks online

Prerequisites

RequirementDetails
Phase 03 Tasks 01–12 completeAll OS configuration tasks run
variables.yml populatedAll node IPs, hostnames, network values set
WinRM accessible from management serverRequired for remote checks

Variables from variables.yml

PathTypeDescription
cluster_nodes[].management_ipstringExpected static IP per node
cluster_nodes[].hostnamestringExpected hostname per node
dns.primarystringExpected primary DNS
dns.secondarystringExpected secondary DNS
active_directory.ntp_serversarrayExpected NTP source

Run from the management server. Reads all expected values from variables.yml and verifies each node remotely.

# Task 13 - Phase 03 Verification (all nodes)
.\scripts\deploy\04-cluster-deployment\phase-03-os-configuration\task-13-phase03-verification\powershell\Invoke-Phase03Verification-Orchestrated.ps1 `
-ConfigPath .\config\variables.yml

Verify a single node:

.\scripts\deploy\04-cluster-deployment\phase-03-os-configuration\task-13-phase03-verification\powershell\Invoke-Phase03Verification-Orchestrated.ps1 `
-ConfigPath .\config\variables.yml `
-TargetNode azl-lab-01-n02

Expected Output

A passing run produces a result like:

[2026-03-07 14:30:00] [----] ================================================================
[2026-03-07 14:30:00] [----] Phase 03 OS Configuration — Verification (Tasks 01–11)
[2026-03-07 14:30:00] [----] ================================================================
...
[2026-03-07 14:30:05] [----] NODE: azl-lab-01-n01 (192.168.211.11)
[2026-03-07 14:30:05] [----] ================================================================
[PASS] Task01_WinRM PASS (Service=Running, Listener=Active)
[PASS] Task02_RDP PASS (Reg=0, FWRules=3)
[PASS] Task0304_StaticIP PASS (IP=192.168.211.11 DHCP=Disabled)
[PASS] Task05_DNS PASS (10.250.1.36, 10.250.1.37)
[PASS] Task06_DNSResolve PASS
[PASS] Task07_NTP PASS (Stratum=4 Source=10.250.1.36)
[PASS] Task08_ICMP PASS (2 rule(s) enabled)
[PASS] Task09_Adapters PASS (No disconnected adapters still enabled)
[PASS] Task10_Hostname PASS (azl-lab-01-N01)
[PASS] Task11_Storage PASS (4 non-boot disk(s) clean and online)
...
[2026-03-07 14:31:50] [PASS] All 4 node(s) passed Phase 03 verification.

Interpreting Results

ResultMeaningAction
PASSCheck succeededNone
WARNNon-critical issue (e.g. storage pools present, adapter not fully cleaned up)Review before proceeding
FAILCheck failed — configuration is incorrectRe-run the relevant task

Common Failures

CheckFailure MessageResolution
Task0304_StaticIPFAIL: DHCP=EnabledRe-run Task 03/04 (static IP)
Task07_NTPFAIL: Source=Local CMOS ClockRe-run Task 07 (NTP). Check NTP server reachability
Task10_HostnameFAIL: Got='WIN-XXXX'Re-run Task 10 (hostname rename) and reboot node
Task11_StorageWARN: Pools=1 VDisks=2Run Task 11 (Clear Storage) before proceeding to Phase 04
Connection failsConnection failed: ...Verify WinRM is enabled on the node (Task 01)

Script Reference

ParameterRequiredDescription
-ConfigPathRecommendedPath to variables.yml. Auto-detects if omitted
-CredentialNoPSCredential. Resolved from Key Vault if omitted
-TargetNodeNoFilter to specific node(s) by hostname or IP

Script location:

scripts/deploy/04-cluster-deployment/phase-03-os-configuration/
task-13-phase03-verification/powershell/
Invoke-Phase03Verification-Orchestrated.ps1

Troubleshooting

IssueCauseResolution
Verification script reports group membership mismatchGPO not yet applied or replication delayRun gpupdate /force on the affected node, wait 60 seconds, then re-run verification
PSRemoting test fails for one or more nodesWinRM service not running or firewall blocking port 5985On the failing node: Enable-PSRemoting -Force; verify firewall rule: Get-NetFirewallRule -Name WINRM-HTTP-In-TCP
Script cannot resolve node hostnameDNS record missing or staleVerify DNS with Resolve-DnsName <hostname>; re-run DNS record creation from Phase 01 Task 03

← Task 12: Combined Script · ↑ Phase 03 · Phase 04: ARC Registration →