Skip to content
Branch: master
Go to file


Failed to load latest commit information.
Latest commit message
Commit time

WinSCP PowerShell Module Wrapper

Build status

Overhaul complete:

I have been revisiting this module as of late, add making some major changes:

  1. New functions:
    • Get-WinSCPSession
    • Get-WinSCPHostKeyFingerprint
    • New-WinSCPSessionOption
    • New-WinSCPTransferResumeSupport
  2. The New-WinSCPSession has been split into two functions, most of the configurations for the session have been moved to the New-WinSCPSessionOption command. This will mimic the functionality of New-CimSessionOption and New-CimSession.
    • PS C:\> New-WinSCPSession -SessionOption (New-WinSCPSessionOption -HostName
  3. The session is not longer auto disposed when passed in the pipeline, handling the session state is now your responsibility.
  4. I am completely overhauling the help, and adding more examples using platyPS.
  5. The New-WinSCPSessionOption defaults to using Anonymous authentication.
  6. Updated pester tests.
  7. Re implemented AppVeyor build.
  8. Auto publishing to both and GitHub Releases.
  9. Lots of bug fixes.

Use at your own risk.

This module can be installed from the PowerShellGet Gallery, You need WMF 5 to use this feature.

# Inspect
Save-Module -Name WinSCP -Path <Path>

# Install
Install-Module -Name WinSCP

WinSCP Cmdlets


# Capture credentials.
$credential = Get-Credential

# Set the options to open the WinSCPSession with
$sessionOption = New-WinSCPSessionOption -HostName -Protocol Ftp -Credential $credential

# Open the session using the SessionOptions object.
# New-WinSCPSession sets the PSDefaultParameterValue of the WinSCPSession parameter for all other cmdlets to this WinSCP.Session object.
# You can set it to a variable if you would like, but it is only necessary if you will have more then one session open at a time.
New-WinSCPSession -SessionOption $sessionOption

# Use that session to create a new Directory.
New-WinSCPItem -Path './remoteDirectory' -ItemType Directory

# Upload a file to the directory.
Send-WinSCPItem -Path 'C:\localDirectory\localFile.txt' -Destination '/remoteDirectory/'

# Close and remove the session object.

Check back regularly for updates.

This project is licensed with GNU GENERAL PUBLIC LICENSE.

You can’t perform that action at this time.