how to enable sessionlog in powershell example

Advertisement

istandard
Joined:
Posts:
1

how to enable sessionlog in powershell example

This is the powershell/.NET assembly example I found on this site. What code and where do I add it to enable the session log? Im having another issue with SSH Host fingerprint but I know you will need the log to help.

Here is the example script
try
{
# Load WinSCP .NET assembly
Add-Type -Path "WinSCPnet.dll"

# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Sftp
HostName = "example.com"
UserName = "user"
Password = "mypassword"
SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
}

$session = New-Object WinSCP.Session

try
{
# Connect
$session.Open($sessionOptions)

# Upload files
$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.TransferMode = [WinSCP.TransferMode]::Binary

$transferResult = $session.PutFiles("d:\toupload\*", "/home/user/", $False, $transferOptions)

# Throw on any error
$transferResult.Check()

# Print results
foreach ($transfer in $transferResult.Transfers)
{
Write-Host ("Upload of {0} succeeded" -f $transfer.FileName)
}
}
finally
{
# Disconnect, clean up
$session.Dispose()
}

exit 0
}
catch [Exception]
{
Write-Host $_.Exception.Message
exit 1
}

Reply with quote

Advertisement

prbrown
Joined:
Posts:
1
Location:
SG

Hello,

I'm using a generated script and I'm not really sure how to turn on the log;

Can you show me which part need to be change to enable the log.

Thanks.
# Load WinSCP .NET assembly
Add-Type -Path "C:\ci\WinSCPnet.dll"

# Set up session options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
    Protocol = [WinSCP.Protocol]::Sftp
    HostName = "####"
    UserName = "####"
    SshHostKeyFingerprint = "ssh-rsa 2048 #####"
    SshPrivateKeyPath = "######k"
}

$session = New-Object WinSCP.Session
$opt = New-object Session.SessionLogPath -

try
{
    # Connect
    $session.Open($sessionOptions)

    # Set up transfer options
    $transferOptions = New-Object WinSCP.TransferOptions -Property @{
        PreserveTimestamp = $False
    }
    
    # Transfer files
    $session.PutFiles("C:\ci\upload\", "/upload/*", $False, $transferOptions).Check()
}
finally
{
    $session.Dispose()
}

Reply with quote

martin
Site Admin
martin avatar
Joined:
Posts:
32,072
Location:
Prague, Czechia

    ...
    $session.SessionLogPath = "C:\path\to\winscp.log"
    # Connect
    $session.Open($sessionOptions)
    ...

Reply with quote

Advertisement

You can post new topics in this forum