That’d be “Secrets of PowerShell Remoting.”
The fact that it’s a VPN doesn’t matter; once the VPN is up, it’s just a network connection. So the remote machine needs to (a) have Remoting enabled, and (b) be willing to let you in. The latter is harder if you and the remote machine aren’t in the same domain; you’re going to have to either add them all as Trusted Hosts, or do the right thing and set up HTTPS on them instead of the default HTTP receiver for Remoting.
Accessing a file share uses SMB. That’s an entirely different protocol using entirely different authentication rules. For example, a file share will fall back to NTLM for non-domain authentication; Remoting won’t do that automatically.
And to answer the next problem…
[blockquote]If I could connect with PowerShell, I could invoke-command to copy a file from one PC to another, right?[/blockquote]
Not by default. When you remote to a machine, you only have access to local resources by default. A configuration change is needed on that machine, or in the remote domain, to allow you to hop around from machine to machine.
What might be easier is to look into PowerShell Web Access. This can run on any one Win2012+ machine in the customer environment, and you’d access it via your web browser. It gives you a web-based PowerShell console that can be used to remote to any other machine in that same environment (provided Remoting is enabled, obviously). But hopping from machine to machine is still an extra configuration - you can imagine the security problems around letting one account hop in and access anything, so MS doesn’t enable that by default.