When I need to move large files between Windows systems, I do not pick a tool by habit. LAN copies, WAN copies, and PowerShell remoting copies behave very differently. This post compares SCP (OpenSSH), Robocopy (SMB), and Copy-Item (WinRM) for the kinds of transfers I actually run.

The short version: Robocopy is usually best on a LAN, SCP or rsync is usually safer across untrusted or unstable networks, and Copy-Item is convenient for small files inside an existing PowerShell remoting workflow.

Quick answer

For large Windows file transfers on a LAN, use robocopy over SMB because it supports restartable copies, logging, and multi-threading. For encrypted transfers across mixed or less trusted networks, use SCP or rsync over SSH. Use PowerShell Copy-Item mainly for small files when you already have a PowerShell remoting session; it is convenient but not the best bulk-transfer tool.


At a Glance: The Contenders

Method Protocol Typical Speed (10 GbE) Typical Speed (1 GbE) Setup Effort Resumable? Notes
Robocopy SMB 3.x ~300-600 MB/s ~110-115 MB/s Medium Yes (/Z /J) Multi-threaded, fastest on LANs.
SCP (OpenSSH) SSH-2 (encrypted) ~110-120 MB/s ~90-100 MB/s Low Yes (with rsync) Single-threaded, CPU-bound due to encryption.
Copy-Item WinRM (HTTPS/SOAP) ~30-60 MB/s ~20-40 MB/s High No Not designed for bulk data transfer.

** Speed Winner (LAN):** Robocopy ** Security & Cross-Platform Winner:** SCP


1. Robocopy - The LAN Speed King

Robocopy (Robust File Copy) is a command-line utility that has been a staple of Windows administration for years. It uses the SMB protocol and is optimized for bulk file transfers on local networks.

robocopy "\\server\share" "C:\local\dest" hugefile.zip /MT:32 /Z /J /R:3 /W:5 /LOG+:copy.log

Why I Find It’s So Fast:

  • Multi-threaded: The /MT switch allows it to use multiple threads (up to 128) to copy files in parallel.
  • SMB 3.x Multichannel: On supported systems, it can leverage multiple network connections for a single transfer.
  • Unbuffered I/O: The /J switch reduces I/O overhead for large files.
  • Resumable: The /Z switch allows it to resume a transfer if it’s interrupted.

Real-World Test (10 GbE, 50 GB ZIP):

  • Robocopy: ~580 MB/s (91 seconds)
  • SCP: ~118 MB/s (7.1 minutes)

Requirements:

  • An accessible SMB share (e.g., \\server\share).
  • Port 445 open between the client and server.
  • Valid domain or local credentials.

2. SCP - The Secure and Reliable Workhorse

SCP (Secure Copy Protocol) is part of the OpenSSH suite and provides encrypted file transfers over the SSH protocol. It is the de facto standard for secure file transfers in the Linux world and is now natively available on Windows.

# Example in PowerShell
scp user@server:/path/to/hugefile.zip $env:USERPROFILE\Downloads\

Performance Tips:

  • Compression: Use the -C flag to enable compression, which can help on slower networks.
  • rsync for Resumability: For true resumable transfers, rsync over SSH is superior to scp.
    rsync -avz --progress --partial user@server:/path/hugefile.zip ./Downloads/

Why It’s Slower Than Robocopy on a LAN:

  • Single-threaded: scp does not use multiple threads for a single file transfer.
  • Encryption Overhead: The AES encryption used by SSH is CPU-intensive, which can become a bottleneck.
  • No Multichannel: It does not take advantage of multiple network paths.

Despite this, scp is still an excellent choice for 1 GbE networks, where it can often saturate the connection.


3. Copy-Item (via WinRM) - The PowerShell Native (but Slow) Option

PowerShell’s Copy-Item can be used with a remote PSSession to transfer files over WinRM. While convenient for small configuration files, it is not designed for bulk data transfer.

$session = New-PSSession -ComputerName server
Copy-Item -FromSession $session -Path "C:\share\hugefile.zip" -Destination "C:\local\"

Why It’s So Slow:

  • SOAP/XML Overhead: WinRM wraps data in heavy SOAP and XML envelopes.
  • No Parallel Chunks: It transfers files in a single, serial stream.
  • Not Resumable: If the transfer is interrupted, it must be restarted from the beginning.

Verdict: Avoid Copy-Item over WinRM for any files larger than a few megabytes.


The 5G Challenge: High Latency, Restricted Ports

Transferring files over a 5G wireless network introduces new challenges: higher latency, potential packet loss, and carrier-grade NAT that often blocks ports like SMB (445). Typical 5G Network Metrics:

  • Download Speed: 100-600 Mbps (12.5-75 MB/s)
  • Upload Speed: 20-100 Mbps (2.5-12.5 MB/s)
  • Latency: 15-50 ms
  • Firewall/NAT: CGNAT and carrier restrictions are common.

On a 5G network, latency tolerance and the ability to work over standard, unblocked ports become more important than raw, multi-threaded throughput.

5G Performance Comparison (50 GB ZIP):

Method Protocol Max Speed (5G) Time (50 GB) Resumable? Verdict
SCP SSH-2 ~60-70 MB/s ~12-15 min Yes Best for 5G
Robocopy SMB 3.x ~50-65 MB/s ~13-17 min Yes Good, but often blocked
Copy-Item WinRM ~15-30 MB/s ~30-60 min No Too slow and unreliable

Why SCP Wins on 5G:

  • Port 22 is Rarely Blocked: Unlike SMB (port 445), SSH (port 22) is almost universally allowed.
  • Latency Tolerance: The SSH protocol is more resilient to the higher latency and jitter of wireless networks.
  • Built-in Encryption and Compression: The -C flag helps reduce the amount of data sent over the limited bandwidth.

Final Recommendations

Goal Recommended Tool Why
Maximum LAN Speed robocopy /MT:32 /J /Z Multi-threaded, SMB 3 multichannel.
Secure Over Internet/WAN scp -C or rsync -e ssh Encrypted, reliable, and uses a standard port.
Resumable Transfers rsync -e ssh or robocopy /Z Both can resume interrupted transfers.
Cross-Platform Compatibility scp or rsync Works on Windows, Linux, and macOS.
Small Config Files Copy-Item over WinRM Convenient for PowerShell-native workflows.

** Pro Tip:** For the best of both worlds (speed and security), consider running Robocopy over a VPN that encrypts SMB traffic, or tunnel your Robocopy transfer through an SSH connection.


Conclusion

  • Robocopy is the undisputed champion for high-speed file transfers on a local network.
  • SCP (and its more powerful cousin, rsync) is the most reliable and secure choice for transferring files over the internet, especially on unreliable or restricted networks like 5G.
  • Copy-Item over WinRM should be reserved for small configuration files and not used for bulk data.

Operational Considerations

Raw transfer speed is only one part of the decision. Reliability, restart behavior, logging, encryption, and firewall rules matter just as much in real administration work.

For large LAN transfers, Robocopy is usually the best first choice because it handles retries, preserves timestamps, and can produce useful logs. Use /LOG or /TEE when copying production data so you can prove what was copied and identify failed files without rerunning the entire job blindly.

For WAN or internet transfers, prefer SSH-based tools unless you already have a secure site-to-site network. SCP is simple, but rsync is better when files may change or when a connection may drop. It can compare source and destination and transfer only the differences, which is valuable over slow links.

For PowerShell remoting, keep Copy-Item -ToSession focused on small operational files such as scripts, configuration fragments, and logs. It is convenient because it reuses an authenticated PowerShell session, but it is not designed to compete with SMB, Robocopy, or rsync for large data sets.

Always test with representative files. A transfer test using one large ISO file does not predict performance for a directory with 100,000 small files. Small files increase metadata overhead, antivirus scanning, and connection round trips. When measuring, test both large-file and many-small-file scenarios.

By understanding the strengths and weaknesses of each tool, I choose the right one for the job and ensure my file transfers are as fast, reliable, and secure as possible.