
Prima di poter utilizzare PowerShell Remoting, è necessario abilitarlo sui computer remoti. Ecco come abilitare PowerShell Remoting.
Codice: Seleziona tutto
# Abilita PowerShell Remoting
Enable-PSRemoting -Force
# Configura il firewall per consentire il traffico PowerShell Remoting
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any -Action Allow
Write-Output "PowerShell Remoting abilitato."

Questo script esegue un comando remoto su un singolo computer specificato.
Codice: Seleziona tutto
# Specifica il nome del computer remoto e le credenziali
$remoteComputer = "NomeComputerRemoto"
$cred = Get-Credential
# Esegui un comando remoto
Invoke-Command -ComputerName $remoteComputer -Credential $cred -ScriptBlock {
# Comando da eseguire sul computer remoto
Get-Process
}
Write-Output "Comando remoto eseguito su $remoteComputer."

Questo script esegue un comando remoto su più computer specificati.
Codice: Seleziona tutto
# Specifica i nomi dei computer remoti e le credenziali
$remoteComputers = @("NomeComputerRemoto1", "NomeComputerRemoto2", "NomeComputerRemoto3")
$cred = Get-Credential
# Esegui un comando remoto su ciascun computer
Invoke-Command -ComputerName $remoteComputers -Credential $cred -ScriptBlock {
# Comando da eseguire sui computer remoti
Get-Service
}
Write-Output "Comando remoto eseguito su tutti i computer specificati."

Questo script copia un file dal computer locale a un computer remoto.
Codice: Seleziona tutto
# Specifica il nome del computer remoto, le credenziali, e i percorsi del file
$remoteComputer = "NomeComputerRemoto"
$cred = Get-Credential
$localFilePath = "C:\Percorso\Del\File.txt"
$remoteFilePath = "C:\Percorso\Remoto\File.txt"
# Copia il file sul computer remoto
Copy-Item -Path $localFilePath -Destination "\\$remoteComputer\C$\Percorso\Remoto\" -Credential $cred
Write-Output "File copiato su $remoteComputer."

Questo script raccoglie informazioni sul sistema di un computer remoto.
Codice: Seleziona tutto
# Specifica il nome del computer remoto e le credenziali
$remoteComputer = "NomeComputerRemoto"
$cred = Get-Credential
# Ottieni informazioni sul sistema remoto
Invoke-Command -ComputerName $remoteComputer -Credential $cred -ScriptBlock {
Get-ComputerInfo
}
Write-Output "Informazioni sul sistema ottenute da $remoteComputer."