Clone or download
dotps1 Build - Update WinSCP Core to 5.13.3. Bug fixes for #76, #78, and #79.…
… Added new cmdlet Copy-WinSCPItem. Simplified path validation in Move-WinSCPItem.
Latest commit e3a3eef Jun 21, 2018


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 ftp.dotps1.github.io)
  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 implimented AppVeyor build.
  8. Auto publishing to both PowerShellGallery.com 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


Example 1:

# Capture credentials.
$credential = Get-Credential

# Set the options to open the WinSCPSession with
$sessionOption = New-WinSCPSessionOption -HostName ftp.dotps1.github.io -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 the session object.

Check back regularly for updates.

This project is licensed with GNU GENERAL PUBLIC LICENSE.