NAVObjectMgt/Release-RDHNAVApplicationObjects.ps1
function Release-RDHNAVApplicationObjects { param( [Parameter(Mandatory = $true)] [String] $DockerHost, [Parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $DockerHostCredentials, [Parameter(Mandatory = $false)] [Switch] $DockerHostUseSSL, [Parameter(Mandatory = $false)] [System.Management.Automation.Remoting.PSSessionOption] $DockerHostSessionOption, [Parameter(Mandatory = $true)] [String] $ContainerName, [Parameter(Mandatory = $true)] [Object] $ReleaseSettings ) Write-Host -ForegroundColor Green "$($MyInvocation.MyCommand.Name) on $env:COMPUTERNAME" $LocalFile = Get-Item $ReleaseSettings.LocalPath -ErrorAction Stop if ([String]::IsNullOrEmpty($ReleaseSettings.ContainerPath)){ $ReleaseSettings.ContainerPath = "C:\ProgramData\NavContainerHelper\ReleaseProduct\$($ReleaseSettings.Product)_$($ReleaseSettings.ProductVersion.Replace('.',''))" } Copy-FileToDockerHost ` -DockerHost $DockerHost ` -DockerHostCredentials $DockerHostCredentials ` -DockerHostUseSSL:$DockerHostUseSSL ` -DockerHostSessionOption $DockerHostSessionOption ` -RemotePath $ReleaseSettings.ContainerPath ` -LocalPath $ReleaseSettings.LocalPath $ReleaseSettings.ContainerPath = (Join-Path $ReleaseSettings.ContainerPath $LocalFile.Name) [Object] $ReleaseResult = Invoke-Command -ComputerName $DockerHost -UseSSL:$DockerHostUseSSL -Credential $DockerHostCredentials -SessionOption $DockerHostSessionOption -ScriptBlock { param( $ContainerName, $ReleaseSettings ) Import-Module "CRS.NavContainerHelperExtension" -Force Release-NCHNAVApplicationObjects ` -ContainerName $ContainerName ` -ReleaseSettings $ReleaseSettings } -ArgumentList $ContainerName, $ReleaseSettings $ReleaseResult.LocalPath = (Join-Path (Get-Item $ReleaseSettings.LocalPath).Directory "$((Get-Item $ReleaseSettings.LocalPath).Name).Released.txt") Copy-FileFromDockerHost ` -DockerHost $DockerHost ` -DockerHostCredentials $DockerHostCredentials ` -DockerHostUseSSL:$DockerHostUseSSL ` -DockerHostSessionOption $DockerHostSessionOption ` -RemotePath $ReleaseResult.ContainerFilePath ` -LocalPath $ReleaseResult.LocalPath return $ReleaseResult } |