PsExec
is a SysInternals tool that will run a process on a remote computer.
PowerShell is also able to launch a process remotely.
As to your additional question, I have generally found it more worthwhile customizing my tfs builds writing build activities in C# and/or using the built-in activities and customizing the build template in xaml. Not fun, but I find external scripts run into more permissions issues and are difficult to debug. I've tried them, and then I usually end up back in C#.