functions/import-d365model.ps1
<# .SYNOPSIS Import a model into Dynamics 365 for Finance & Operations .DESCRIPTION Import a model into a Dynamics 365 for Finance & Operations environment .PARAMETER Path Path to the axmodel file that you want to import .PARAMETER Model Name of the model that you want to work against .PARAMETER BinDir The path to the bin directory for the environment Default path is the same as the AOS service PackagesLocalDirectory\bin Default value is fetched from the current configuration on the machine .PARAMETER MetaDataDir The path to the meta data directory for the environment Default path is the same as the aos service PackagesLocalDirectory .PARAMETER Replace Instruct the cmdlet to replace an already existing model .EXAMPLE PS C:\> Import-D365Model -Path c:\temp\d365fo.tools\CustomModel.axmodel This will import the "c:\temp\d365fo.tools\CustomModel.axmodel" model into the PackagesLocalDirectory location. .EXAMPLE PS C:\> Import-D365Model -Path c:\temp\d365fo.tools\CustomModel.axmodel -Replace This will import the "c:\temp\d365fo.tools\CustomModel.axmodel" model into the PackagesLocalDirectory location. If the model already exists it will replace it. .NOTES Tags: ModelUtil, Axmodel, Model, Import, Replace, Source Control, Vsts, Azure DevOps Author: Mötz Jensen (@Splaxi) #> function Import-D365Model { # [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidDefaultValueSwitchParameter", "")] [CmdletBinding()] param ( [Parameter(Mandatory = $True, Position = 1 )] [Alias('File')] [string] $Path, [Parameter(Mandatory = $false, Position = 2 )] [string] $BinDir = "$Script:PackageDirectory\bin", [Parameter(Mandatory = $false, Position = 3 )] [string] $MetaDataDir = "$Script:MetaDataDir", [switch] $Replace ) Invoke-TimeSignal -Start if($Replace) { Invoke-ModelUtil -Command "Replace" -Path $Path -BinDir $BinDir -MetaDataDir $MetaDataDir } else { Invoke-ModelUtil -Command "Import" -Path $Path -BinDir $BinDir -MetaDataDir $MetaDataDir } Invoke-TimeSignal -End } |