Import-Module winscp

 try {
        $session                              = New-Object WinSCP.Session
        [xml]$credential                      = Get-Content "xxx\Credential.xml"
        $sessionOptions                       = New-Object WinSCP.SessionOptions
        $sessionOptions.Protocol              = [WinSCP.Protocol]::Sftp
        $sessionOptions.HostName              = "xxx"
        $sessionOptions.UserName              = $credential.Configuration.UserName
        $sessionOptions.TimeOut               = 15
        $sessionOptions.SecurePassword        = (ConvertTo-SecureString $credential.Configuration.Password)
        $sessionOptions.SshHostKeyFingerprint = "xxx"
        $sessionOptions.AddRawSettings("SendBuf", "0")

        # open session
        $session.SessionLogPath = "C:\Temp\Test\pswinscplog.txt" 
        $session.Open($sessionOptions)

        if (Test-WinSCPPath -WinSCPSession $session -Path "Outbound") {}
        else {
            $session.Dispose()
            exit 0
        }
   
        # Upload files
        $transferOptions                     = New-Object WinSCP.TransferOptions
        $transferOptions.TransferMode        = [WinSCP.TransferMode]::Binary
        $transferOptions.FilePermissions     = $Null
        $transferOptions.PreserveTimestamp   = $False
        $transferOptions.ResumeSupport.State = [WinSCP.TransferResumeSupportState]::Off
        $transferResult                      = $session.PutFiles("c:\temp\test\test.zip", "/Outbound/", $False, $transferOptions)
 
        # Throw on any error
        $transferResult.Check()

        # Print results
        foreach ($transfer in $transferResult.Transfers) {
            $filename = $transfer.FileName
            $filename = $filename.substring(31)
            $xfresult = "$filename uploaded successfully. "
        }

        # Disconnect, clean up
        $session.Dispose()
    }
    catch [Exception]
    {
        Send-MailMessage -SmtpServer "xxx" -From "xxx" `
        -To "xxx" -Subject "WINSCP upload failure!" -Body "There was a problem with the file upload."
        $session.Dispose()
        exit 1
    }
