PowerShell Get-ChildItem - Path Too Long
There are 2 other solutions for this
As of Windows 10 / Windows server 2016 (Build 1607 or newer) you can use to remove
Set-ItemProperty 'HKLM:\System\CurrentControlSet\Control\FileSystem' -Name LongPathsEnabled' -value 1
If you are using PowerShell 5.1
or above you can use
get-childitem -LiteralPath
So in this case you would define $Source = "\\?\C:\Users\User1"
and replace Get-ChildItem -Path "$Source\*.*" -Recurse -Force
with Get-ChildItem -LiteralPath "$Source\*.*" -Recurse -Force