Post a reply

Before posting, please read how to report bug or request support effectively.

Bug reports without an attached log file are usually useless.

Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)


Topic review


Thanks. That helps.

I had never used a TimeSpan in PowerShell before, but setting it up turned out to be pretty simple. Here's the code I used:

# Setup sFTPSession options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Sftp
HostName = $strTargetHostName
UserName = $strTargetUserName
Password = $strTargetPassword
SshHostKeyFingerprint = $strTargetFingerprint
Timeout = New-TimeSpan -Seconds 30 #increase from default of 15 seconds

The New-TimeSpan cmdlet can specify -Minutes, -Hours, etc. as well.

And it seems to have helped with the timeout issue I was having.

Much appreciated.

I've pointed you to SessionOptions.Timeout, not Session.Timeout.

Also, as documented, it's of time TimeSpan, not string nor numeral.

Thanks for the suggestion. I've looked at that, but the documentation is a little confusing. Under the documentation for the Session class ( the description for the Timeout property is "Maximal interval between two consecutive outputs from WinSCP console session, before TimeoutException is thrown. The default is one minute. It’s not recommended to change the value. For session/connection timeout, see SessionOptions.Timeout." And on the page for the SessionOptions, it says this: "Server response timeout. Defaults to 15 seconds." I don't understand the difference between the two, and which default is correct if they are referring to the same thing.

Also, what is the format for specifying a value in SessionOptions.Timeout? If 15 seconds is the default and I want to increase that to 30 seconds, would I specify the value as a literal string, or a numeral? If I was to increase it to more than 1 minute, how would that be formatted? "1:30", for example?


Here is a zip file with the WINSCP debug log, the session log and logging that I do within the script. I appreciate any insight you can add into why the file uploads are failing now and then.


O.K. I've turned on session logging and will upload both logs the next time we have this problem again.


Johnny Lee

Re: File transferring but .NET assembly timing out waiting to hear from host

We need also a session log file.
Though this kind of problems are hard to debug even just using a log file.

Not sure why my post showed up as "Guest" as the author, since I was logged in when I wrote it. At any rate, I seem to be logged in now and hope my identity will register so I can get alerted of any responses.

File transferring but .NET assembly timing out waiting to hear from host

I've using the .NET assembly in a PowerShell script to transfer a batch of files (1 - 4 of them at a time, generally) ranging in size from 10 KB to 500 KB. The script runs 3 times per day. Because of problems we were having the the transfers timing out, I turned off the 'Optimize connection buffer size', which seemed to help.

We've been having a run of interrupted transmissions for the past week. My hunch is that it's a problem with the connection on the other end. Would you look at the attached debug log and see what you think?


Johnny Lee