Invoke-Command: http://technet.microsoft.com/en-us/library/hh849719.aspx
From the help:
The Invoke-Command cmdlet runs commands on a local or remote computer and returns all output from the commands,
including errors. With a single Invoke-Command command, you can run commands on multiple computers.
To run a single command on a remote computer, use the ComputerName parameter. To run a series of related commands
that share data, use the New-PSSession cmdlet to create a PSSession (a persistent connection) on the remote
computer, and then use the Session parameter of Invoke-Command to run the command in the PSSession. To run a
command in a disconnected session, use the InDisconnectedSession parameter. To run a command in a background job,
use the AsJob parameter.
You can also use Invoke-Command on a local computer to evaluate or run a string in a script block as a command.
Windows PowerShell converts the script block to a command and runs the command immediately in the current scope,
instead of just echoing the string at the command line.
To start an interactive session with a remote computer, use the Enter-PSSession cmdlet. To establish a persistent
connection to a remote computer, use the New-PSSession cmdlet.
Before using Invoke-Command to run commands on a remote computer, read about_Remote
(http://go.microsoft.com/fwlink/?LinkID=135182).