Implicit remoting allows you to load a module from a remote session and execute it "locally". What you are actually doing is running a proxy command. The actual function executes on the remote session, and the data is returned to you locally.
This approach does have the same caveats as running a command directly via Invoke-Command in that it is deserialized and rehydrated, losing any available methods on the object.
This is still a hugely useful trick, and I highly recommend using a prefix so you know in your code when something is running on the
remote system. For example Get-ADComputer
may become Get-RemoteADComputer
. You can specify whatever prefix you want, just make it