I created Powershell backup script that iterates the Get-AXModel output and does backups.
Change variables at the top of the file to meet your configuration.
Click the “show source” below to see the code.
<# backup of ax models. Gary Holsopple Vitamix... gholsopple@vitamix.com created 1.18.2012 changed to iterate xml 4/11/2012 #> import-module "C:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\Microsoft.Dynamics.ManagementUtilities.ps1" #region functions Function New-BackUpFolder($destinationFolder) { $dte = get-date $dte = $dte.tostring() -replace "[:\s/]", "." $backUpPath = "$destinationFolder" + $dte $null = New-Item -path $backUpPath -itemType directory return $backUpPath } #end New-BackUpFolder Function fBackup([string]$model, [string]$fileName, [string]$axEnv) { Export-AXModel -model $model -file $fileName -config $axEnv } #endregion #region Variables $axBackupFolder = "c:\axModelBackup\" $backupFilePath = New-BackupFolder($axBackupFolder) $devenv = "DynamicsAX12Development" [System.Collections.ArrayList] $e = New-Object System.Collections.ArrayList $e = @("Foundation"; "Foundation Labels"; "Foundation Upgrade"; "Update for Foundation Upgrade"; "Update for Foundation"; "SYP Labels";) [System.Xml.XmlDocument] $xml [System.Xml.XmlNode] $obj [System.Xml.XmlNode] $property #endregion #region do the work $xml = (Get-AXModel | convertto-xml ) $nodes = $xml.SelectNodes("Objects/Object") foreach ($obj in $nodes) { foreach ($property in $obj.SelectNodes("Property")) { if ($property.GetAttribute("Name").Equals( "Name" )) { $nameToBackup = $property.InnerText if ($e.contains($nameToBackup)) { continue } $backupFileName = $backupFilePath + "\" + $nameToBackup + ".axmodel" fBackup $nameToBackup $backupFileName $devenv } } } #endregion