FTP/Invoke-FTPWinSCP.ps1

function Invoke-FTPWinSCP {
    Param(
        # ftp script to run against the FTP server
        [Parameter(Mandatory=$true)]
        [string[]]
        $Script
    )
    $server =  Get-TFSConfigKeyValue 'ftpServer'
    $user = Get-TFSConfigKeyValue 'ftpUser'
    $password = Get-TFSConfigKeyValue 'ftpPassword'
    
    $winSCPPath = "C:\Program Files (x86)\WinSCP\WinSCP.com"
    
    $openFTP = "open ftpes://{0}:{1}@{2} -explicittls" -f $user, $password, $server
    $WinSCPScript = @($openFTP) + $Script + @("bye")
    $WinSCPScript | & $winSCPPath

}

Export-ModuleMember -Function Invoke-FTPWinSCP