Functions/Invoke-UraMeDeployment.ps1

function Invoke-UraMeDeployment {
    [cmdletbinding()]
    param (
        [Parameter(Mandatory = $true)]
        [string]$Citrix,
        [Parameter(Mandatory = $false)]
        [string]$AppExe = "Ura.exe",
        [Parameter(Mandatory = $false)]
        [System.IO.FileInfo]$TestDestinationFolder = "\\denu1s300\PH-CLIENT-FMO$\UraMe_BMS\TEST",
        [Parameter(Mandatory = $false)]
        [System.IO.FileInfo]$AccDestinationFolder = "\\denu1s300\PH-CLIENT-FMO$\UraMe_BMS\ACC",
        [Parameter(Mandatory = $false)]
        [System.IO.FileInfo]$ProdDestinationFolder = "\\denu1s300\PH-CLIENT-FMO$\UraMe_BMS\PROD",
        [Parameter(Mandatory = $false)]
        [System.IO.FileInfo]$TestRootDeploymentFolder = "\\rssi05ms0006\data$\UraMe\Files\TEST",
        [Parameter(Mandatory = $false)]
        [System.IO.FileInfo]$AccRootDeploymentFolder = "\\rssi05ms0006\data$\UraMe\Files\ACC",
        [Parameter(Mandatory = $false)]
        [System.IO.FileInfo]$ProdRootDeploymentFolder = "\\rssi05ms0006\data$\UraMe\Files\PROD",
        [Parameter(Mandatory = $false)]
        [System.IO.FileInfo]$DeploymentLogFolder = "\\rssi05ms0006\data$\UraMe\Deployment Log"
    )

    switch ($Citrix) {
        "TEST" {
            $DestinationFolder = $TestDestinationFolder
        }
        "ACC" {
            $DestinationFolder = $AccDestinationFolder
        }
        "PROD" {
            $DestinationFolder = $ProdDestinationFolder
        }
    }

    $Export = [pscustomobject]@{
        DestinationFolder   = $DestinationFolder
        AppExe              = $AppExe
        DeploymentLogFolder = $DeploymentLogFolder
    }

    return $Export
    #Remove-Variable SourceFolder, App, TEST, ACC, PROD, AppExe, FolderBrowser, Check, Verzija, DeploymentShowParams, MsgBox -ErrorAction SilentlyContinue
}