functions/Copy-DBOPackageArtifact.ps1
Function Copy-DBOPackageArtifact { <# .SYNOPSIS Copies a DBOps package file stored in the specific artifact repository to the specified location. .DESCRIPTION Copies a DBOps package file from an artifact repository created by Publish-DBOPackageArtifact to the specified location. .PARAMETER Name Name of the DBOps package Aliases: FileName, Package .PARAMETER Repository Path to the artifact repository - a folder or a network share Aliases: RepositoryPath .PARAMETER Destination Target path where to copy the package .PARAMETER Version If specified, searches for a specific version of the package inside the repository .PARAMETER Passthru Returns a filesystem object after excecution .PARAMETER Confirm Prompts to confirm certain actions .PARAMETER WhatIf Shows what would happen if the command would execute, but does not actually perform the command .EXAMPLE # Copies the latest version of the package myPackage.zip from the repository \\data\repo to the local folder .\ Copy-DBOPackageArtifact -Name myPackage.zip -Repository \\data\repo -Destination . .EXAMPLE # Copies a specific version of the package myPackage.zip from the repository \\data\repo to the folder c:\workspace Copy-DBOPackageArtifact -Name myPackage -Repository \\data\repo -Version 2.2.1 -Destination c:\workspace .NOTES #> [CmdletBinding(SupportsShouldProcess)] Param( [Parameter(Mandatory = $true)] [Alias('RepositoryPath')] [object]$Repository, [Parameter(Mandatory = $true)] [Alias('FileName', 'Package')] [string]$Name, [string]$Destination, [Version]$Version, [Switch]$Passthru ) begin { $src = Get-DBOPackageArtifact -Repository $Repository -Name $Name -Version $Version } process { if ($src) { if ($PSCmdlet.ShouldProcess($src, "Copying file to the destination $Destination")) { Copy-Item -Path $src -Destination $Destination -Passthru:$Passthru } } } end { } } |