Requirement: must be run from local machine on remote machine with creds passed to the remote machine script.
$server = 'SRV1'
$credential = Get-Credential
$credentials = Get-Credential
Invoke-Command -ComputerName $server -Credential $credential -ScriptBlock {
C:\foo.ps1 $credentials
}
foo.ps1 requires functions that need $credentials
Inside foo.ps1
param($credentials)