Cumu cuntrullà u vostru PC da u vostru telefuninu cù PowerShell Remoting

Ultimu aghjurnamentu: 15/10/2025

  • A cumunicazione à distanza usa WinRM/WS-Man (HTTP/HTTPS) è permette sessioni 1 à 1, 1 à parechji è persistenti cù cuntrolli di sicurezza.
  • Enable-PSRemoting configura u serviziu, l'ascoltatori è u firewall; HTTPS richiede un certificatu validu è una currispundenza CN/SAN.
  • I risultati sò restituiti deserializzati; i metudi sò invucati in u bloccu di script remotu è i punti finali persunalizati sò aduprati per una delegazione granulare.
Cunnessione à distanza di PowerShell

Pudete digià automatizà parechje attività cù PowerShell lucalmente, ma induve site veramente A cumunicazione à distanza di PowerShell face a differenza Hè quandu eseguite cumandamenti nantu à macchine remote, ch'elle sianu poche o centinaie, in modu interattivu o in parallelu. Sta tecnulugia, dispunibile dapoi Windows PowerShell 2.0 è migliurata dapoi 3.0, hè basata annantu à WS-Management (WinRM) è cunverte PowerShell in un canale di gestione remota robustu, scalabile è sicuru.

Prima di tuttu, hè impurtante capisce duie idee chjave: cmdlets cù -Parametru NomeOrdinatore (per esempiu, Get-Process o Get-Service) ùn sò micca a strada à longu andà cunsigliata da Microsoft, è PowerShell Remoting ùn funziona micca cum'è un "hack". In fatti, impone l'autenticazione mutuale, registri di audit è rispetta i vostri permessi abituali, senza almacenà credenziali o eseguisce magicamente qualcosa cù super privilegii.

Chì ghjè PowerShell Remoting è perchè aduprà lu?

Con Trasmissione PowerShell puderete eseguisce guasi ogni cumandamentu à distanza chì pudete lancià in una sessione lucale, da l'interrogazione di i servizii à l'implementazione di cunfigurazioni, è fà cusì nantu à centinaie d'urdinatori à tempu. À u cuntrariu di i cmdlet chì accettanu -ComputerName (parechji utilizanu DCOM/RPC), Remoting viaghja via WS-Man (HTTP/HTTPS), chì hè più rispettuosu di i firewall, permette u parallelismu è scarica u travagliu à l'ospite remoto, micca à u cliente.

Questu si traduce in trè vantaghji pratichi: migliori prestazioni in esecuzioni massive, menu attritu in e rete cù regule restrittive è un mudellu di sicurezza coerente cù Kerberos/HTTPS. Inoltre, ùn dipendendu micca da ogni cmdlet per implementà u so propiu remotu, Remoting Funziona per qualsiasi script o rolu chì hè dispunibule à destinazione.

Per difettu, i servitori Windows recenti sò dotati di Remoting attivatu; in Windows 10/11 l'attivate cù un solu cmdlet. È sì, pudete aduprà credenziali alternative, sessioni persistenti, endpoint persunalizati è assai di più.

Nota: A cumunicazione à distanza ùn hè micca sinonima di apre tuttu. Per difettu, solu amministratori Si ponu cunnette, è l'azzioni sò eseguite sottu a so identità. Sè avete bisognu di una delegazione fine, i punti finali persunalizati vi permettenu di espone solu i cumandamenti essenziali.

Architettura di remotazione PowerShell

Cumu funziona dentru: WinRM, WS-Man è i porti

PowerShell Remoting funziona in un mudellu client-server. U cliente manda richieste WS-Management via HTTP (5985/TCP) o HTTPS (5986/TCP)Nant'à u target, u serviziu Windows Remote Management (WinRM) ascolta, risolve u puntu finale (cunfigurazione di sessione) è ospita a sessione PowerShell in u sfondate (prucessu wsmprovhost.exe), restituisce i risultati serializzati à u cliente in XML via SOAP.

A prima volta chì attivate Remoting, l'ascoltatori sò cunfigurati, l'eccezzione di firewall adatta hè aperta è e cunfigurazioni di sessione sò create. Da PowerShell 6+, parechje edizioni coesistenu, è Enable-PSRemoting Registra i punti finali cù nomi chì riflettenu a versione (per esempiu, PowerShell.7 è PowerShell.7.xy).

Cuntinutu esclusivu - Cliccate quì  Cumu risolve i prublemi di rendiment cù Intego Mac Internet Security?

Sè vo permettite solu HTTPS in u vostru ambiente, pudete creà un ascoltatore sicuru cù un certificatu emessu da una CA di fiducia (cunsigliatu). In alternativa, un'altra alternativa hè di utilizà TrustedHosts in modu limitatu è attenti à u risicu, per scenarii di gruppi di travagliu o urdinatori fora di duminiu.

Nutate chì Powershell Remoting pò coesiste cù cmdlets cù -ComputerName, ma Microsoft spinge WS-Man cum'è u modu standard è à prova di futuru per l'amministrazione remota.

Attivazione di PowerShell Remoting è Parametri Utili

In Windows, basta à apre PowerShell cum'è amministratore è eseguisce Enable-PSRemotingU sistema avvia WinRM, cunfigura l'avviu automaticu, abilita l'ascoltatore è crea e regule di firewall adatte. Nantu à i clienti cù un prufilu di rete publica, pudete permette questu deliberatamente cù -Saltà a Verifica di u Profilu di Rete (è dopu rinfurzà cù regule specifiche):

Enable-PSRemoting
Enable-PSRemoting -Force
Enable-PSRemoting -SkipNetworkProfileCheck -Force

 

A sintassi permette ancu, - Cunfirmà y - E se per u cuntrollu di u cambiamentu. Ricurdatevi: Hè dispunibule solu nant'à Windows, è duvete eseguisce a cunsola elevata. E regule create sò diverse trà l'edizioni Server è Client, in particulare nantu à e rete publiche, induve per difettu sò limitate à a sottorete lucale, à menu chì ùn espandiate u scopu (per esempiu, cù Set-NetFirewallRule).

Per elencà e cunfigurazioni di sessione digià registrate è cunfirmà chì tuttu hè prontu, aduprate Get-PSSessionConfigurationSè i punti finali PowerShell.x è Workflow appariscenu, u framework Remoting hè operativu.

Sessione remota cù PowerShell

Modi d'usu: 1 à 1, 1 à parechji, è sessioni persistenti

Quandu avete bisognu di una cunsola interattiva nant'à un solu urdinatore, rivolgetevi à Enter-PSSessionL'invitu apparirà, è tuttu ciò chì eseguite anderà à l'ospite remoto. Pudete riutilizà e credenziali cù Get-Credential per evità di inserirle di novu constantemente:

$cred = Get-Credential
Enter-PSSession -ComputerName dc01 -Credential $cred
Exit-PSSession

Sè ciò chì cercate hè di mandà cumandamenti à parechji urdinatori à tempu, u strumentu hè Invoke-Command cù un scriptblock. Per difettu, lancia finu à 32 cunnessione simultanee (aghjustabile cù -ThrottleLimit). I risultati sò restituiti cum'è oggetti deserializati (senza metudi "in diretta"):

Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service -Name W32Time } -Credential $cred

Avete bisognu d'invucà un metudu cum'è .Stop() o .Start() ? Fate lu. in u bloccu di script in u cuntestu remoto, micca l'ughjettu deserializatu lucale, è basta. S'ellu ci hè un cmdlet equivalente (Stop-Service/Start-Service), hè di solitu preferibile aduprà per chiarezza.

Per evità u costu di inizià è finisce e sessioni in ogni chjama, create un Sessione PS persistente è riutilizallu in parechje invocazioni. Aduprate New-PSSession per creà a cunnessione, è aduprate Invoke-Command-Session per riutilizà u tunnel. Ùn vi scurdate di chjudelu cù Remove-PSSession quandu avete finitu.

Serializazione, limiti è bone pratiche

Un dettagliu impurtante: quandu si viaghja, l'uggetti si "+appiattiscenu" è ghjunghjenu cum'è snapshots deserializati, cù pruprietà ma senza metudi. Questu hè vuluntariu è risparmia larghezza di banda, ma significa chì ùn pudete micca aduprà membri chì eseguiscenu logica (cum'è .Kill()) nantu à copia lucale. A suluzione hè evidente: invucà questi metudi. in remota è s'è vo avete bisognu solu di certi campi, filtrate cù Select-Object per mandà menu dati.

Cuntinutu esclusivu - Cliccate quì  Cumu evità blocchi è sanzioni nantu à TikTok?

In i scripts, evitate Enter-PSSession (destinatu à l'usu interattivu) è aduprate Invoke-Command cù blocchi di script. Sè prevedete parechje chjamate o avete bisognu di priservà u statu (variabili, moduli impurtati), aduprà sessioni persistenti è, s'ellu hè applicabile, disconnectateli/ricunnetteli cù Disconnect-PSSession/Connect-PSSession in PowerShell 3.0+.

Autentificazione, HTTPS è scenarii fora di duminiu

In un duminiu, l'autenticazione nativa hè Kerberos È tuttu scorre. Quandu u dispusitivu ùn pò micca verificà u nome di u servitore, o vi cunnette à un IP CNAME o alias, avete bisognu di una di queste duie opzioni: 1) Listener HTTPS cù certificatu emessu da una CA di fiducia, o 2) aghjunghje a destinazione (nome o IP) à TrustedHosts è aduprà credenzialiA seconda opzione disattiva l'autenticazione mutuale per quellu host, dunque riduce u scopu à u minimu necessariu.

A cunfigurazione di un ascoltatore HTTPS richiede un certificatu (idealmente da a vostra PKI o da una CA publica), installatu in u magazinu di a squadra è ligatu à WinRM. U portu 5986/TCP hè tandu apertu in u firewall è, da u cliente, utilizatu. -Aduprà SSL in cmdlet remoti. Per l'autenticazione di u certificatu di u cliente, pudete mappà un certificatu à un contu lucale è cunnette vi cù -Impronta digitale di u certificatu (Enter-PSSession ùn accetta micca questu direttamente; create prima a sessione cù New-PSSession.)

U secondu saltu è a delegazione di credenziali

U famosu "doppiu saltu" appare quandu, dopu avè cunnessu à un servitore, avete bisognu di quellu servitore per accede à un terza risorsa per voi (per esempiu, una spartera SMB). Ci sò dui approcci per permette questu: CredSSP è a delegazione Kerberos vincolata basata nantu à e risorse.

Con CredSSP Permettite à u cliente è à l'intermediariu di delegà esplicitamente l'infurmazioni d'identità, è definite una pulitica (GPO) per permette a delegazione à urdinatori specifici. Hè rapidu da cunfigurà, ma menu sicuru perchè l'infurmazioni d'identità viaghjanu in testu chjaru in u tunnel criptatu. Limitate sempre e fonti è e destinazioni.

L'alternativa preferita in u duminiu hè a delegazione Kerberos vincolata (delegazione vincolata basata nantu à e risorse) in AD mudernu. Questu permette à l'endpoint di cunfidà si nantu à a ricezione di a delegazione da u middlepoint per servizii specifichi, evitendu di espone a vostra identità nantu à a cunnessione iniziale. Richiede cuntrolli di duminiu recenti è un RSAT aggiornatu.

Punti finali persunalizati (cunfigurazioni di sessione)

Unu di i vantaghji di u Remoting hè di pudè registrà i punti di cunnessione cù capacità è limiti persunalizatiPrima generate un schedariu cù New-PSSessionConfigurationFile (moduli da precaricare, funzioni visibili, alias, ExecutionPolicy, LanguageMode, ecc.), è dopu u registrate cù Register-PSSessionConfiguration, induve pudete definisce Eseguisce cum'è credenziali è permessi (interfaccia SDDL o GUI cù -ShowSecurityDescriptorUI).

Per una delegazione sicura, espone solu ciò chì hè necessariu cù -VisibleCmdlets/-VisibleFunctions è disattiva i script gratuiti se apprupriatu cù Modu di linguaLingua ristretta o NoLanguage. Sè vo lasciate FullLanguage, qualchissia puderia aduprà un bloccu di script per invucà cumandamenti micca esposti, chì, cumminati cù RunAs, saria un pirtusuCuncepisce questi punti finali cù un pettine à denti fini è documenta u so scopu.

Domini, GPO è Groupware

In AD pudete implementà Powershell Remoting à scala cù GPO: permette a cunfigurazione automatica di l'ascoltatori WinRM, impostate u serviziu in Automaticu, è crea l'eccezzione di u firewall. Ricurdatevi chì i GPO cambianu i paràmetri, ma ùn attivanu micca sempre u serviziu istantaneamente; qualchì volta avete bisognu di riavvià o furzà un gpupdate.

Cuntinutu esclusivu - Cliccate quì  Cumu cunnosce a vostra password di Gmail

In i gruppi di travagliu (fora di u duminiu), cunfigurà a cumunicazione à distanza cù Enable-PSRemoting, impostate TrustedHosts nant'à u cliente (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) è aduprate credenziali lucali. Per HTTPS, pudete muntà certificati autofirmati, ancu s'ellu hè cunsigliatu d'utilizà una CA di fiducia è validà u nome chì aduprerete in -ComputerName in u certificatu (currispundenza CN/SAN).

Cmdlet chjave è sintassi

Una manata di commandos coprenu u 90% di scenarii di ogni ghjornuPer attivà/disattivà:

Enable-PSRemoting    
Disable-PSRemoting

Sessione interattiva 1 à 1 è surtita:

Enter-PSSession -ComputerName SEC504STUDENT 
Exit-PSSession

1 à parechji, cù parallelisimu è credenziali:

Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service W32Time } -Credential $cred

Sessioni persistenti è riutilizà:

$s = New-PSSession -ComputerName localhost -ConfigurationName PowerShell.7
Invoke-Command -Session $s -ScriptBlock { $PSVersionTable }
Remove-PSSession $s

Test è WinRM utile:

Test-WSMan -ComputerName host
winrm get winrm/config
winrm enumerate winrm/config/listener
winrm quickconfig -transport:https

Note pratiche nantu à u firewall, a rete è i porti

Apri 5985/TCP per HTTP è 5986/TCP per HTTPS nant'à l'urdinatore di destinazione è nant'à qualsiasi firewall intermediuNant'à i clienti Windows, Enable-PSRemoting crea regule per i prufili di duminiu è privati; per i prufili publichi, hè limitatu à a sotturete lucale, à menu chì ùn mudificate u scopu cù Set-NetFirewallRule -RemoteAddress Any (un valore chì pudete valutà secondu u vostru risicu).

Sè vo aduprate integrazioni SOAR/SIEM chì eseguiscenu cumandamenti remoti (per esempiu da XSOAR), assicuratevi chì u servitore abbia Risoluzione DNS à l'ospiti, cunnessione à 5985/5986, è credenziali cù permessi lucali sufficienti. In certi casi, l'autentificazione NTLM/Basic pò richiede un aghjustamentu (per esempiu, aduprendu un utilizatore lucale in Basic cù SSL).

Parametri Enable-PSRemoting (Riepilogu Operativu)

-Confirm dumanda cunferma prima di l'esecuzione; -Force ignora l'avvertimenti è fà i cambiamenti necessarii; -SkipNetworkProfileCheck permette a cumunicazione à distanza nantu à e rete di clienti publichi (limitata per difettu à a sotturete lucale); -WhatIf vi mostra ciò chì accadrerebbe senza applicà i cambiamenti. Inoltre, cum'è qualsiasi cmdlet standard, supporta parametri cumuni (-Verbose, -ErrorAction, ecc.).

Ricurdatevi chì "Enable" ùn crea micca ascoltatori o certificati HTTPS per voi; sè avete bisognu di crittografia end-to-end da u principiu è autenticazione basata annantu à certificati, cunfigurate l'ascoltatore HTTPS è validate CN/SAN contr'à u nome chì aduprarete in -ComputerName.

Cumandamenti utili di cunnessione remota WinRM è PowerShell

Certi articuli essenziali di lettu per a vita di tutti i ghjorni:

winrm get winrm/config
winrm enumerate winrm/config/listener
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any
Test-WSMan -ComputerName host -Authentication Default -Credential (Get-Credential)
New-PSSession -ComputerName host 
Enter-PSSession -ComputerName host 
Enable-PSRemoting -SkipNetworkProfileCheck -Force

Quandu si gestisce Windows à scala, u Remoting permette di passà da "urdinatore à urdinatore" à un approcciu dichjarativu è sicuru. Cumbinendu sessioni persistenti, autenticazione forte (Kerberos/HTTPS), endpoint ristretti è tracce chiare per a diagnostica, guadagnate velocità è cuntrollu senza sacrificà a sicurità o l'audit. Sè standardizate ancu l'attivazione di GPO è maestrate i casi speciali (TrustedHosts, double hop, certificati), averete una piattaforma remota solida per l'operazioni di ogni ghjornu è a risposta à l'incidenti.

malware invisibile
Articulu ligatu:
Cumu prutege u vostru PC da malware invisibili cum'è XWorm è NotDoor