Skip to content

AzureLocal/azurelocal-beacon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AzL Beacon

Pre-deployment endpoint and network readiness validation for Azure Local.

Boots from iDRAC Virtual Media or USB — no installed OS, no domain join, no licensing required. Boot it on bare metal before you touch the deployment wizard. Know your environment is ready.


What it does

On boot, Start-AzlBeacon.ps1 presents an interactive menu. Choose your deployment path — it calls Start-AzlValidation.ps1 to run the applicable categories from these 6, all grounded in Microsoft and Dell source documents:

# Category What it checks
1 Basic network NIC up, IP assigned, gateway reachable
2 DNS Forward/reverse lookups, TCP/UDP port 53, AD domain resolution
3 Active Directory ports LDAP 389, LDAPS 636, Kerberos 88, RPC 135, DNS 53, SRV records (AD path only)
4 Azure endpoint sweep TCP + HTTPS probe — Azure Local firewall requirements + EastUS HCI + Dell OEM endpoints
5 Environment Checker Invoke-AzStackHciConnectivityValidation + Invoke-AzStackHciNetworkValidation (Microsoft's official validators)
6 Arc integration Invoke-AzStackHciArcIntegrationValidation (optional — requires Azure device-code sign-in)

Results land at X:\results\ on the WinPE RAM drive in JSON format. Copy off before reboot.


Prerequisites

Build machine

Requirement Install
Windows ADK winget install Microsoft.WindowsADK
WinPE Add-on winget install Microsoft.ADKPEAddon
PowerShell 7.4+ winget install Microsoft.PowerShell
Administrator rights DISM mount requires elevation
Internet access For PS7 download + Save-Module (skippable — see air-gap build)

NIC drivers

Dell AX 16G NIC drivers are bundled in the repo at drivers/dell-ax/ (extracted from Dell SBE bundle 5.0.2603.1641). The build script picks them up automatically — no separate download or driver export required.

For non-Dell hardware, supply your own drivers:

.\src\Build-WinPEImage.ps1 -DriverPath C:\my-drivers

Quick start

!!! tip "No pre-configuration required" All environment values (DC IPs, DNS, gateway, domain FQDN) are collected interactively by the Beacon menu at boot. Just build the ISO and boot it.

1. Build

# Minimal — downloads PS7, no drivers
.\src\Build-WinPEImage.ps1

# Recommended — pre-exported drivers, cached PS7 zip
.\src\Build-WinPEImage.ps1 -DriverPath C:\drivers -PS7ZipPath C:\downloads\PowerShell-7.4.6-win-x64.zip

# Build ISO + write USB simultaneously
.\src\Build-WinPEImage.ps1 -DriverPath C:\drivers -BuildUSB -UsbDriveLetter F

# Air-gapped (no internet)
Save-Module -Name AzStackHci.EnvironmentChecker -Path C:\staging\Modules   # on internet-connected machine
.\src\Build-WinPEImage.ps1 -SkipModuleDownload -PS7ZipPath C:\downloads\PowerShell-7.4.6-win-x64.zip

# Dry run
.\src\Build-WinPEImage.ps1 -WhatIf

Output: src/output/azl-validate-<yyyyMMdd>.iso

3. Boot via iDRAC Virtual Media

  1. Log in to the iDRAC web console.
  2. Open Virtual Console → Virtual Media → Connect Virtual Media.
  3. Under Map CD/DVD, select the ISO and click Map Device.
  4. Reboot: power menu → one-time boot (F11) → Virtual CD/DVD.
  5. WinPE loads, startnet.cmd runs, the Beacon menu appears.

To preserve results before reboot:

:: Map a network share inside WinPE
net use Z: \\<server>\<share>
xcopy X:\results Z:\beacon-results /E /Y

Repo layout

azurelocal-beacon/
├── src/
│   ├── Build-WinPEImage.ps1          # Build script — creates the bootable ISO
│   ├── Start-AzlValidation.ps1       # Validation engine — runs on boot
│   ├── Convert-EndpointsToJson.ps1   # Regenerates endpoints.json from markdown sources
│   ├── startnet.cmd                  # WinPE boot entry point
│   └── config/
│       ├── validation-config.example.json   # Template — copy and populate per engagement
│       └── endpoints.json                   # Azure endpoint list (pre-built, regenerate with Convert-*)
├── config/
│   └── endpoints/
│       ├── azurelocal-endpoints.md   # Azure Local service endpoints (source for Convert-*)
│       ├── arc-endpoints.md          # Arc agent + ARB endpoints
│       └── dell-endpoints.md         # Dell SBE endpoints
├── docs/
│   └── index.md                      # Validation lifecycle and coverage matrix
└── ...

Validation lifecycle

AzL Beacon is stage 1 of 5 in the Azure Local validation lifecycle:

Stage When Tooling
1 — Beacon (this tool) Before OS install, bare hardware Custom sweep + Invoke-AzStackHciConnectivityValidation
2 — Post-OS, pre-registration After Azure Stack HCI OS on nodes Invoke-AzStackHciHardwareValidation, Invoke-AzStackHciSoftwareValidation, azcmagent check
3 — Pre-deployment After AD prep Invoke-AzStackHciExternalActiveDirectoryValidation, Invoke-AzStackHciArcIntegrationValidation
4 — Portal wizard Nodes with answer file Invoke-AzStackHciNetworkValidation -DeployAnswerFile
5 — Deployment Cloud deployment (integrated) All validators re-run automatically

Rebuild triggers

Rebuild the ISO when:

  • src/Start-AzlValidation.ps1 changes
  • src/config/validation-config.json changes (engagement-specific values)
  • src/config/endpoints.json changes (regenerate with Convert-EndpointsToJson.ps1 after endpoint list updates)
  • Driver versions change (re-export from node after firmware/driver updates)
  • PowerShell 7 minor version bumps

Contributing

See CONTRIBUTING.md.


License

MIT — see LICENSE.

About

AzL Beacon — pre-deployment endpoint, network, and hardware readiness validation for Azure Local. Bootable WinPE diagnostic image; no installed OS required.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors