PowerShell Remoting
You can run commands on one or hundreds of computers with a single PowerShell command. Windows PowerShell supports remote computing by using various technologies, including WMI, RPC, and WS-Management
Last updated
You can run commands on one or hundreds of computers with a single PowerShell command. Windows PowerShell supports remote computing by using various technologies, including WMI, RPC, and WS-Management
Last updated
The
Invoke-Command
cmdlet runs commands on a local or remote computer and returns all output from the commands, including errors. Using a singleInvoke-Command
command, you can run commands on multiple computers.
Executing Remote Commands with Invoke-Command
The Invoke-Command
cmdlet in PowerShell is a versatile command used to execute scripts and commands on both local and remote systems. Here is how it works:
To run commands on a single remote computer, you use Invoke-Command
with the -ComputerName
parameter:
This will execute the whoami
and hostname
commands on the remote computer named dcorp-mgmt
.
For establishing a persistent connection to a remote computer, you can create a PowerShell session (PSSession):
The variable $sess
stores the PSSession for the target computer dcorp-mgmt.dollarcorp.moneycorp.local
.
You can then run commands in that session using Invoke-Command
:
This command modifies the antivirus preferences on the remote computer, utilizing the previously established session $sess
.
To invoke custom functions or scripts that are defined locally on your computer on a remote session, you wrap the function name within ${function:FunctionName}
:
Here, Invoke-Mimi
is presumably a custom or imported function that is being called remotely via $sess
.
Running a Script on a Remote Server
To execute a local script on a remote machine using Invoke-Command
, the -FilePath
parameter can be used along with the -ComputerName
:
This runs the script rfs.ps1
that is located at c:\scripts
on Server01
.
Running Commands on Multiple