Kako upravljati računalom s mobilnog telefona pomoću PowerShell Remotinga

Zadnje ažuriranje: 15/10/2025

  • Udaljeno upravljanje koristi WinRM/WS-Man (HTTP/HTTPS) i omogućuje sesije 1-na-1, 1-na-mnoge i trajne sesije sa sigurnosnim kontrolama.
  • Enable-PSRemoting konfigurira uslugu, slušače i vatrozid; HTTPS zahtijeva važeći certifikat i podudaranje CN/SAN.
  • Rezultati se vraćaju deserializirani; metode se pozivaju unutar udaljenog skriptnog bloka, a prilagođene krajnje točke se koriste za precizno delegiranje.
Udaljeno upravljanje PowerShellom

Možda već lokalno automatizirate mnoge zadatke pomoću PowerShella, ali gdje ih zapravo trebate automatizirati? PowerShell Remoting čini razliku To je kada interaktivno ili paralelno pokrećete naredbe na udaljenim računalima, bilo da ih je nekoliko ili stotine. Ova tehnologija, dostupna od verzije Windows PowerShell 2.0 i poboljšana od verzije 3.0, temelji se na WS-Managementu (WinRM) i pretvara PowerShell u robusnom, skalabilnom i sigurnom kanalu za daljinsko upravljanje.

Prije svega, važno je razumjeti dvije ključne ideje: cmdlete s -Parametar NazivRačunala (npr. Get-Process ili Get-Service) nisu dugoročni put koji preporučuje Microsoft, a PowerShell Remoting ne funkcionira kao "trik". Zapravo, provodi međusobnu autentifikaciju, bilježi evidenciju revizije i poštuje vaša uobičajena dopuštenja, bez pohranjivanja vjerodajnica ili magičnog pokretanja bilo čega sa super privilegijama.

Što je PowerShell Remoting i zašto ga koristiti?

s Uklanjanje PowerShell-a možete izvršavanje gotovo svake naredbe na daljinu koje biste mogli pokrenuti u lokalnoj sesiji, od upita usluga do implementacije konfiguracija, i to na stotinama računala odjednom. Za razliku od cmdleta koji prihvaćaju -ComputerName (mnogi koriste DCOM/RPC), Remoting putuje putem WS-Mana (HTTP/HTTPS), koji je prilagođeniji vatrozidu, omogućuje paralelizam i prebacuje posao na udaljeni host, a ne na klijenta.

To se prevodi u tri praktične prednosti: bolje performanse u masovnim izvršenjima, manje trenja u mrežama s restriktivnim pravilima i sigurnosnim modelom koji je u skladu s Kerberos/HTTPS-om. Nadalje, time što se ne oslanja na svaki cmdlet za implementaciju vlastitog daljinskog upravljanja, Remoting Radi za bilo koji scenarij ili ulogu koji je dostupan na odredištu.

Prema zadanim postavkama, noviji Windows poslužitelji dolaze s omogućenim daljinskim upravljanjem; u sustavima Windows 10/11 aktiviraš ga s jednom cmdletom. I da, možete koristiti alternativne vjerodajnice, trajne sesije, prilagođene krajnje točke i još mnogo toga.

Napomena: Udaljeno upravljanje nije sinonim za otvaranje svega. Prema zadanim postavkama, samo administratori Mogu se povezati, a radnje se izvršavaju pod njihovim identitetom. Ako vam je potrebna precizna delegacija, prilagođene krajnje točke omogućuju vam da otkrijete samo bitne naredbe.

Arhitektura udaljenog rada PowerShella

Kako radi unutra: WinRM, WS-Man i portovi

PowerShell Remoting radi u klijent-poslužitelj modelu. Klijent šalje WS-Management zahtjeve putem HTTP (5985/TCP) ili HTTPS (5986/TCP)Na cilju, usluga Windows Remote Management (WinRM) sluša, razrješuje krajnju točku (konfiguraciju sesije) i hostira PowerShell sesiju u pozadini (proces wsmprovhost.exe). vraćanje serijaliziranih rezultata klijentu u XML-u putem SOAP-a.

Prvi put kada omogućite Remoting, konfiguriraju se slušatelji, otvara se odgovarajuća iznimka vatrozida i stvaraju se konfiguracije sesije. Od PowerShella 6+, više izdanja koegzistira i Omogućiti-PSRemoting Registrira krajnje točke s nazivima koji odražavaju verziju (na primjer, PowerShell.7 i PowerShell.7.xy).

Ekskluzivan sadržaj - Kliknite ovdje  Globalno upozorenje o kritičnoj ranjivosti u Google Chromeu: što trebate znati i kako se zaštititi

Ako u svom okruženju dopuštate samo HTTPS, možete stvoriti siguran slušatelj s certifikatom koji je izdao pouzdani CA (preporučeno). Alternativno, druga je alternativa korištenje TrustedHosts-a na ograničen način, svjestan rizika, za scenarije radne grupe ili računala koja nisu domene.

Imajte na umu da Powershell Remoting može koegzistirati s cmdletima s -ComputerName, ali Microsoft gura WS-Mana kao standardni i budući način za udaljenu administraciju.

Omogućavanje PowerShell Remotinga i korisnih parametara

U sustavu Windows samo otvorite PowerShell kao administrator i pokrenite Omogućiti-PSRemotingSustav pokreće WinRM, konfigurira automatsko pokretanje, omogućuje slušač i stvara odgovarajuća pravila vatrozida. Na klijentima s javnim mrežnim profilom to možete namjerno dopustiti pomoću -PreskočiProvjeruMrežnogProfila (a zatim pojačajte određenim pravilima):

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

 

Sintaksa također omogućuje, -Potvrdi y -Što ako za kontrolu promjena. Zapamtite: Dostupno je samo na Windowsimai morate pokrenuti konzolu s povišenim ovlastima. Kreirana pravila razlikuju se između izdanja poslužitelja i klijenta, posebno na javnim mrežama, gdje su prema zadanim postavkama ograničena na lokalnu podmrežu osim ako ne proširite opseg (na primjer, pomoću Set-NetFirewallRule).

Za popis već snimljenih konfiguracija sesije i potvrdu da je sve spremno, koristite Get-PSSessionConfigurationAko se pojave krajnje točke PowerShell.x i Workflow, okvir za udaljeno upravljanje (Remoting framework) je operativan.

Udaljena sesija s PowerShellom

Načini korištenja: 1 na 1, 1 na više i trajne sesije

Kada vam je potrebna interaktivna konzola na jednom računalu, obratite se Ulaz-PSSessionPojavit će se upit i sve što izvršite ići će na udaljeni host. Vjerodajnice možete ponovno koristiti pomoću Get-Credential kako biste izbjegli stalno ponovno unošenje:

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

Ako tražite slanje naredbi na nekoliko računala odjednom, alat je Prizvati-Command sa skriptnim blokom. Prema zadanim postavkama, pokreće do 32 istovremene veze (podesivo s -ThrottleLimit). Rezultati se vraćaju kao deserijalizirani objekti (bez "živih" metoda):

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

Trebate pozvati metodu poput .Stop() ili .Start()? Učinite to. unutar skriptnog bloka u udaljenom kontekstu, a ne lokalno deserializirani objekt, i to je to. Ako postoji ekvivalentni cmdlet (Stop-Service/Start-Service), obično je poželjnije koristiti ga radi jasnoće.

Kako biste izbjegli troškove pokretanja i završavanja sesija u svakom pozivu, stvorite Trajna PSSession i ponovno ga upotrijebite u više poziva. Za stvaranje veze koristite New-PSSession, a za ponovnu upotrebu tunela koristite Invoke-Command-Session. Ne zaboravite ga zatvoriti s Remove-PSSession kada završite.

Serijalizacija, ograničenja i dobre prakse

Važan detalj: prilikom putovanja, objekti se "+splješte" i stižu kao deserijalizirane snimke, sa svojstvima, ali bez metoda. To je namjerno i štedi propusnost, ali znači da ne možete koristiti članove koji izvršavaju logiku (poput .Kill()) na lokalnoj kopiji. Rješenje je očito: pozvati te metode. na daljinu a ako su vam potrebna samo određena polja, filtrirajte pomoću Select-Object kako biste poslali manje podataka.

Ekskluzivan sadržaj - Kliknite ovdje  Kako spriječiti oštećenje datoteka?

U skriptama izbjegavajte Enter-PSSession (namijenjeno interaktivnoj upotrebi) i koristite Invoke-Command s blokovima skripti. Ako očekujete više poziva ili trebate sačuvati stanje (varijable, uvezeni moduli), koristiti trajne sesije i, ako je primjenjivo, odspojite ih/ponovno ih spojite pomoću Disconnect-PSSession/Connect-PSSession u PowerShellu 3.0+.

Autentifikacija, HTTPS i scenariji izvan domene

U domeni, izvorna autentifikacija je Kerberos I sve teče. Kada uređaj ne može provjeriti naziv poslužitelja ili se povežete s CNAME IP adresom ili aliasom, potrebna vam je jedna od ove dvije opcije: 1) Listener HTTPS s certifikatom izdao CA kojem vjerujete ili 2) dodajte odredište (naziv ili IP adresu) u TrustedHosts i koristiti vjerodajniceDruga opcija onemogućuje međusobnu autentifikaciju za taj host, pa smanjuje opseg na potreban minimum.

Postavljanje HTTPS slušača zahtijeva certifikat (idealno od vašeg PKI-a ili javnog CA-a), instaliran u timskom spremištu i vezan na WinRM. Port 5986/TCP se zatim otvara u vatrozidu i koristi od strane klijenta. -KoristiteSSL u udaljenim cmdletima. Za autentifikaciju klijentskog certifikata možete mapirati certifikat na lokalni račun i povezati se s -Otisak palca certifikata (Enter-PSSession ovo ne prihvaća izravno; prvo stvorite sesiju s New-PSSession.)

Drugi skok i delegiranje ovlasti

Poznati "dvostruki skok" pojavljuje se kada nakon povezivanja sa serverom trebate da taj server pristupi treći resurs u vaše ime (npr. SMB dijeljenje). Postoje dva pristupa za dopuštanje ovoga: CredSSP i delegiranje Kerberos protokola s ograničenim resursima.

s CredSSP Omogućujete klijentu i posredniku da eksplicitno delegiraju vjerodajnice i postavljate pravilo (GPO) koje dopušta delegiranje određenim računalima. Brzo se konfigurira, ali je manje sigurno jer se vjerodajnice prenose u obliku čistog teksta unutar šifriranog tunela. Uvijek ograničite izvore i odredišta.

Poželjna alternativa u domeni je ograničena Kerberos delegacija (ograničena delegacija na temelju resursa) u modernom AD-u. To omogućuje krajnjoj točki da se osloni na primanje delegiranja od srednje točke za određene usluge, izbjegavajući otkrivanje vašeg identiteta pri početnoj vezi. Zahtijeva nedavne kontrolere domene i ažurirani RSAT.

Prilagođene krajnje točke (konfiguracije sesije)

Jedan od dragulja Remotinga je mogućnost registracije točaka povezivanja s prilagođene mogućnosti i ograničenjaPrvo generirate datoteku s New-PSSessionConfigurationFile (moduli za prethodno učitavanje, vidljive funkcije, aliasi, ExecutionPolicy, LanguageMode itd.), a zatim je registrirate s Register-PSSessionConfiguration, gdje možete postaviti RunAsCredential i dozvole (SDDL ili GUI sučelje s -ShowSecurityDescriptorUI).

Za sigurno delegiranje, otkrijte samo ono što je potrebno pomoću -VisibleCmdlets/-VisibleFunctions i onemogućite slobodno skriptiranje ako je prikladno pomoću Jezični način rada Ograničeni jezik ili NoLanguage. Ako napustite FullLanguage, netko bi mogao upotrijebiti blok skripte za pozivanje neizloženih naredbi, što, u kombinaciji s RunAs, bila bi to rupaDizajnirajte ove krajnje točke s preciznim zupcima i dokumentirajte njihov opseg.

Domene, GPO-i i grupni softver

U AD-u možete implementirati Powershell Remoting u velikim razmjerima s GPO-om: omogućiti automatsku konfiguraciju WinRM slušača, postavite uslugu na Automatskii stvorite iznimku vatrozida. Imajte na umu da GPO-i mijenjaju postavke, ali ne uključuju uvijek uslugu odmah; ponekad je potrebno ponovno pokrenuti ili prisilno pokrenuti ažuriranje gp-a.

Ekskluzivan sadržaj - Kliknite ovdje  Kako koristiti Norton Mobile Security?

U radnim grupama (izvan domene), konfigurirajte udaljeni rad s Omogućiti-PSRemoting, postavite TrustedHosts na klijentu (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) i koristite lokalne vjerodajnice. Za HTTPS možete montirati samopotpisane certifikate, iako se preporučuje korištenje pouzdanog CA i potvrditi ime koji ćete koristiti u -ComputerName u certifikatu (CN/SAN podudaranje).

Ključni cmdleti i sintaksa

Šačica komandosa pokriva 90% dnevnih scenarijaZa aktiviranje/deaktiviranje:

Enable-PSRemoting    
Disable-PSRemoting

Interaktivna sesija 1 na 1 i izlaz:

Enter-PSSession -ComputerName SEC504STUDENT 
Exit-PSSession

1 prema mnogima, s paralelizmom i vjerodajnicama:

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

Trajne sesije i ponovnu upotrebu:

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

Testiranje i WinRM Koristan:

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

Praktične napomene o vatrozidu, mreži i portovima

Otvorite 5985/TCP za HTTP i 5986/TCP za HTTPS na ciljnom računalu i na bilo koji međuzaštitni zidNa Windows klijentima, Enable-PSRemoting stvara pravila za domene i privatne profile; za javne profile ograničen je na lokalnu podmrežu osim ako ne izmijenite opseg pomoću Set-NetFirewallRule -RemoteAddress Any (vrijednost koju možete procijeniti na temelju svog rizika).

Ako koristite SOAR/SIEM integracije koje pokreću udaljene naredbe (npr. iz XSOAR-a), provjerite ima li poslužitelj DNS razrješavanje prema hostovima, povezivost s 5985/5986 i vjerodajnice s dovoljnim lokalnim dozvolama. U nekim slučajevima, NTLM/Basic autentifikacija može zahtijevati prilagodbu (npr. korištenje lokalnog korisnika u Basicu s SSL-om).

Parametri Enable-PSRemoting (Sažetak operacija)

-Confirm traži potvrdu prije izvršavanja; -Force ignorira upozorenja i napravite potrebne promjene; ​​-SkipNetworkProfileCheck omogućuje Remoting na javnim klijentskim mrežama (prema zadanim postavkama ograničeno na lokalnu podmrežu); -WhatIf vam pokazuje što bi se dogodilo bez primjene promjena. Osim toga, kao i svaki standardni cmdlet, podržava zajednički parametri (-Verbose, -ErrorAction, itd.).

Imajte na umu da "Omogući" ne stvara HTTPS slušače ili certifikate za vas; ako vam je potrebna end-to-end enkripcija od početka i autentifikacija na temelju potvrđen, konfigurirajte HTTPS slušač i provjerite CN/SAN u odnosu na ime koje ćete koristiti u -NazivRačunala.

Korisne WinRM i PowerShell naredbe za udaljeno upravljanje

neki bitne stvari za noćni krevet iz dana u dan:

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

Prilikom upravljanja Windowsima u velikim razmjerima, Remoting vam omogućuje prelazak s "računalnog pristupa" na deklarativni i sigurni pristup. Kombiniranjem trajnih sesija, snažne autentifikacije (Kerberos/HTTPS), ograničenih krajnjih točaka i jasnih tragova za dijagnostiku, dobivate brzinu i kontrolu bez žrtvovanja sigurnosti ili revizije. Ako također standardizirate aktivaciju GPO-a i savladate posebne slučajeve (TrustedHosts, double hop, certifikati), imat ćete solidnu udaljenu platformu za svakodnevno poslovanje i odgovor na incidente.

nevidljivi zlonamjerni softver
Povezani članak:
Kako zaštititi svoje računalo od nevidljivog zlonamjernog softvera poput XWorm i NotDoor