First ever repo committed to Github. After troubleshooting Powershell scripts that upload and download with sftp as scheduled tasks over the years I decided to put together a toolset that would make creating and maintaining these scripts/tasks a lot easier.
https://github.com/tobiastillstam/Sftp-Scheduled-Task-Toolset
A PowerShell toolset for unattended SFTP file transfers on Windows, run as scheduled tasks. Includes a WinForms GUI for creating and managing transfer jobs.
Built around the WinSCP .NET assembly. Designed for sysadmins who need reliable scheduled SFTP transfers (downloads, uploads with local archive, or both), without writing a one-off script per server.
Features
- Bidirectional transfer — download from or upload to an SFTP server.
- Four authentication modes:
- DPAPI-encrypted credential file (default).
- Clear-text JSON config (ACL-restricted; for cross-account or SYSTEM use).
- SSH private key (
.ppk). - Direct PSCredential (for interactive testing).
- Run as the current user or SYSTEM, with safety checks for incompatible combinations.
- Per-task credentials and logs — each task gets its own files, named after the task, so multiple tasks never clash.
- GUI front-end with Create and Manage tabs (list, run, edit-in-place, remove).
- Email alerts on failure (or partial failure) via an unauthenticated SMTP relay.
- WhatIf/Confirm support, host-key fingerprint scanning, configurable log retention.
- Pure-ASCII source — no encoding gotchas with PowerShell 5.1.
