All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Note: This project is under active development. Pre-1.0 versions may include breaking changes without a major version bump.
- Script 02: the OS gate now matches Microsoft Learn (Windows Server 2019 / Windows 10 1703 or later; Server 2016 has no
mbr2gpt.exe), the file must really exist, and BitLocker protection must be suspended and is re-checked after suspending. Exit code 100 is reported as converted-with-warnings. - Script 03: every disk file (and differencing parents) is copied to a timestamped folder and verified by size and SHA256 before the VM is removed; the removal is gated on that proof.
-BackupVHDX:$falseneeds-IUnderstandNoBackup. Free space is checked first, existing backups are never overwritten,-WhatIfcopies and removes nothing, a VM with no NIC is refused before removal, and a failure after removal prints where the disks and backup are. - Script 05 and the docs state the extension requirement for
reconnect-to-azureand the internal, work-in-progress status; the docs no longer suggest deleting the Azure resource to undo a reconnect.
scripts/azurelocal/04-Batch-ConvertVMs.ps1passed parameters script 03 does not have, so every VM failed; it now runs 03 then 05.- README links pointed at
.adocfiles that were migrated to.md. - The VitePress nav and sidebar gave
Referencean object instead of a list, so the docs build loggeditems is not iterableon every page.
scripts/common/ConversionSafety(testable gates), Pester 5 unit tests (tests/Unit), PSScriptAnalyzer settings,tests/Invoke-Checks.ps1, a pull-request CI workflow and release-please. Version 0.1.0 is recorded in the manifests only; nothing is tagged.- Azure Migrate positioning in the README and docs.
- Initial release of the Azure Local VM Conversion Toolkit
- Two fully separate script paths —
scripts/hyperv/(Hyper-V only, no Azure) andscripts/azurelocal/(Azure Local portal-managed) scripts/hyperv/01-Setup-ConversionEnvironment.ps1— cluster health validation, Gen 1 VM inventory and config export. No Azure dependencies.scripts/guest/02-Convert-MBRtoGPT.ps1— in-guest MBR to GPT boot disk conversion viambr2gpt.exescripts/hyperv/03-Convert-Gen1toGen2.ps1— single-VM Gen 1 to Gen 2 conversion with VHDX backup and re-clustering. No Azure dependencies.scripts/hyperv/04-Batch-ConvertVMs.ps1— batch orchestrator for the Hyper-V path. No Azure dependencies.scripts/azurelocal/01-Setup-ConversionEnvironment.ps1— same as Hyper-V variant plus Azure connectivity and HCI registration validationscripts/azurelocal/03-Convert-Gen1toGen2.ps1— same Gen 1→Gen 2 conversion plus Arc resource bookkeepingscripts/azurelocal/04-Batch-ConvertVMs.ps1— batch orchestrator for the Azure Local pathscripts/azurelocal/05-Reconnect-AzureLocalVM.ps1— projects an existing Gen 2 Hyper-V VM into the Azure Local management plane viaaz stack-hci-vm reconnect-to-azure- Working directory structure on CSV for backups, configs, logs, and temp files