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


Re: When using the debug option in Session object WinSCP script will not consecutively run

Thanks for your report.

Does it help, if you set $session.DebugLogPath = $Null before you dispose the object?

When using the debug option in Session object WinSCP script will not consecutively run

I use a PowerShell script to automate a simple transfer from an FTP server to another local server. I started having issues with the transfer and wanted to turn on the debug mode in WinSCP as I do not see any issues in my PowerShell logging. However, when I run my script with a DebugLogPath set, the debug file creates and logs data (however, the log file size stays at 0 kb until I open the file, generally indicating there is a handle to it still), however, if I try and run the script again it fails. If I take the debug flag off, no problems.
Applicable code below. If I run this session, close out PowerShell, then open a new PowerShell console and run again, i get this failure (FYI Line 66 is the session object instantiation[/code] bellow:

2019-08-30:1233:07 : The value supplied is not valid, or the property is read-only. Change the value, and then try again.
2019-08-30:1233:07 : 66
2019-08-30:1233:07 : 20
2019-08-30:1233:07 : $session = New-Object WinSCP.Session -Property @{

$session = New-Object WinSCP.Session -Property @{

            DebugLogPath = $script:debug_log_path
            SessionLogPath = $script:session_log_path
$session_options = New-Object WinSCP.SessionOptions -Property @{
            Protocol = [WinSCP.Protocol]::Sftp;
            HostName = $script:server;
            PortNumber = $script:port;
            UserName = $script:username;
            SecurePrivateKeyPassphrase = $script:secureprivatekeypassword;
            SshPrivateKeyPath = $script:sshprivatekeypath;
            SshHostKeyFingerprint = $script:sshhostfingerprint;     
$transfer_results = $session.GetFiles("*", "$script:local_save_to_path\$script:today\", $false, $transfer_options);
$session = $null;