MAT 1.5 is available (now with NIC recreation!)


I am happy to announce that MAT 1.5 is now available. Grab your copy now: 


The Migration Automation Toolkit (MAT) 1.5 brings a large number of improvements over the previous MAT and also puts the MAT and the MAT (Powered by Project Shift) at a feature parity. This means that the most asked about enhancement is now finally in MAT: NIC recreation. We recreate up to three nics with all the fixings (IP addresses, all DNS information, the MAC address of the VMware nic, and VLAN tagging). While MAT and MAT (Powered by Project Shift) both recreate this information, they do so in slightly different ways because of the method of conversion is different for each (expect Michael to create a post on that down the road).

I expect that this will be the last major change to the MAT for MVMCv1 as this has all the features I had originally hoped to cover. But that doesn’t mean someone out there might not come up with a feature so awesome we have to update it again. 🙂

The full list of new features and fixes is below but the main additions are:

  • All MAT commands exposed by CLI (no need to use the menu)
  • Pre-flight checks
  • Tab-complete commands (for quicker typing)
  • Automatic (optional) removal of CD\DVD
  • Automatic (optional) removal of floppies
  • Automatic (optional)recreation of NICs (for up to 3 nics) on Hyper-V including:
    • Static IP addresses
    • DNS information
    • MAC addresses
    • VLAN Tagging
  • Renaming all ps1 files to a standard PowerShell convention


What’s New in 1.5


FIXED BUG: Get-Report functions fail if no data is present

FIXED BUG: Add warning for !gotrows

FIXED BUG: Reports – clear first line of erroneous XML from Report

FIXED BUG: Adding $VM.GuestVMFQDN values to temp table produces no data

FIXED BUG: Repair variable format in table

FIXED BUG: Some $XMLPath values throw error

FIXED BUG: Elevation fails with parameters from right-click

FIXED BUG: Fixed/Dynamic disk switch not available

NEW: Create new function for Show-Warnings

NEW: Update Help with Show-Warnings

NEW: Add PreFlight checks

NEW: Check PowerShell version

NEW: Check for SQL connection

NEW: Check for PowerShell 32 bit if recreating NICs

NEW: Create general function to handle preflight errors

NEW: Check for supported versions of VMware

NEW: Verify VM is running before starting

NEW: Jump to next VM if current VM is off

NEW: Use timestamp in reports filename

NEW: Discovery and disconnect CD devices

NEW: Discovery and disconnect floppy drives

NEW: Add variables to make cd/floppy removal optional

NEW: Add network rebuild function as optional

NEW: Add scripts to save NIC info

NEW Add scripts to remove old nic/recreate nic on Hyper-V

NEW Add scripts to recreate NIC info

NEW: Add scripts to recreate VLAN info

NEW: Add option to preserve and recreate MAC

NEW: Add checks to verify power states are set properly

NEW: Add BackUPVMNetwork to ConvertVM-Functions

NEW: Add VM-Wait and Net-Rebuild to ConvertVM-Process

NEW: Check to verify Network exists

NEW: Update Management functions with DisplayName

NEW: Change user exposed VM references to refer to “Display Name” not FQDN

NEW: Add collection cycle to include all data possible

NEW: Add VMList logic for new collection data

NEW: Add logic in update db to support new collection data

NEW: Revise Stored Proc

NEW: New SQL View “VMDETAILS_VIEW” rolling up all VM data

NEW: New data in SQL Temp table

NEW: New field in SQL Versions table

NEW: Add Warning field to catch any non-critical errors

NEW: Add Show-Status with new Warning field

NEW: Add reports with Warning field

NEW: Add Reset function with Warning

NEW: Add database/script version check

NEW: Tag DB with version

NEW: Tag Script with version

NEW: Add logic to verify and fail if not valid

NEW: Version Variable file

NEW: Add Check-version function

NEW: Add logic to skip functions

NEW: Add “dynamicdisk” to Variable.xml

NEW: Add logic to convert script to support /Dynamic

NEW: Add logic to support power on/off regardless of MVMC power states

NEW: Integrate MAt4Shift Options

NEW: Add new DB collection

NEW: Add new Stored Proc

NEW: Rename scripts to mirror MAT4Shift conventions

NEW: Add "tab complete" functions to ConvertVM.ps1

NEW: Add Collect option

NEW: Add Update option

NEW: Add Create-List option

NEW: Add region sections to ConvertVM-Functions

NEW: Add region sections for Convert-VM Logging

NEW: Add region sections for ConvertVM-Process

NEW: Alphabetize functions

NEW: Add function to open Notepad after Create-List



As always keep your comments and improvements coming!


Keep calm and migrate,

Migration Mark