Kuidas juhtida arvutit mobiiltelefonist PowerShelli kaugjuhtimise abil

Viimane uuendus: 15/10/2025

  • Kaugjuurdepääs kasutab WinRM/WS-Mani (HTTP/HTTPS) ja võimaldab üks-ühele, üks-mitmele ja püsivaid seansse turvakontrollidega.
  • Käsk Enable-PSRemoting konfigureerib teenuse, kuulajad ja tulemüüri; HTTPS nõuab kehtivat sertifikaati ja CN/SAN-i vastavust.
  • Tulemused tagastatakse deserialiseeritult; meetodeid kutsutakse välja kaugskriptiploki sees ja täpse delegeerimise jaoks kasutatakse kohandatud lõpp-punkte.
PowerShelli kaugjuurdepääs

Sa võid juba paljusid ülesandeid PowerShelliga lokaalselt automatiseerida, aga kus sa tegelikult... PowerShelli kaugtöö teeb vahet See toimub siis, kui käivitate käske kaugarvutites, olgu neid siis paar või sadu, interaktiivselt või paralleelselt. See tehnoloogia, mis on saadaval alates Windows PowerShell 2.0-st ja täiustatud alates versioonist 3.0, põhineb WS-Managementil (WinRM) ja teisendab PowerShell töökindlas, skaleeritavas ja turvalises kaughalduskanalis.

Esiteks on oluline mõista kahte peamist ideed: cmdlet-käsud koos -ArvutiNimi parameeter (nt Get-Process või Get-Service) ei ole Microsofti soovitatud pikaajaline lahendus ja PowerShelli kaugjuurdepääs ei tööta "häkkimise" abil. Tegelikult jõustab vastastikuse autentimise, auditilogid ja austavad teie tavapäraseid õigusi, ilma volitusi salvestamata või midagi maagiliselt superõigustega käivitamata.

Mis on PowerShelli kaugtöö ja miks seda kasutada?

koos PowerShelli kaugjuhtimine võite käivitage peaaegu iga käsk eemalt mida saaksite käivitada kohalikus seansis, alates teenuste päringust kuni konfiguratsioonide juurutamiseni ja teha seda sadades arvutites korraga. Erinevalt cmdlettidest, mis aktsepteerivad -ComputerName (paljud kasutavad DCOM/RPC-d), on kaugjuurdepääs liigub WS-Mani kaudu (HTTP/HTTPS), mis on tulemüürisõbralikum, võimaldab paralleelsust ja suunab töö kaughostile, mitte kliendile.

See tähendab kolme praktilist eelist: parem jõudlus massiivsete teostustega, vähem hõõrdumist võrkudes piiravate reeglite ja Kerberose/HTTPS-iga kooskõlas oleva turvamudeliga. Lisaks, kuna iga cmdlet ei ole oma kaugjuhtimispuldi rakendamiseks vajalik, saab kaugjuhtimispuldi abil See töötab iga stsenaariumi või rolli puhul mis on sihtkohas saadaval.

Vaikimisi on uuemates Windowsi serverites kaugtöö lubatud; Windows 10/11-s sa aktiveerid selle ühe cmdlet-käsuga. Ja jah, saate kasutada alternatiivseid volitusi, püsivaid seansse, kohandatud lõpp-punkte ja palju muud.

Märkus. Kaugjuurdepääs ei ole sünonüüm kõige avamisega. Vaikimisi ainult administraatorid Nad saavad ühenduda ja toiminguid teostatakse nende identiteedi all. Kui vajate täpset delegeerimist, võimaldavad kohandatud lõpp-punktid teil avaldada ainult olulisi käske.

PowerShelli kaugtöö arhitektuur

Kuidas see seespool töötab: WinRM, WS-Man ja pordid

PowerShelli kaughaldus töötab klient-serveri mudelis. Klient saadab WS-Managementi päringuid järgmise kaudu: HTTP (5985/TCP) või HTTPS (5986/TCP)Sihtkohas kuulab, lahendab Windows Remote Management (WinRM) teenus lõpp-punkti (seansi konfiguratsioon) ja majutab PowerShelli seanssi taustal (protsess wsmprovhost.exe). serialiseeritavate tulemuste tagastamine kliendile XML-is SOAP-i kaudu.

Kaugühenduse esmakordsel lubamisel konfigureeritakse kuulajad, avatakse sobiv tulemüüri erand ja luuakse seansi konfiguratsioonid. PowerShell 6+ versioonist alates eksisteerivad samaaegselt mitu väljaannet ja Luba-PSRemoting Registreerib lõpp-punktid nimedega, mis kajastavad versiooni (näiteks PowerShell.7 ja PowerShell.7.xy).

Eksklusiivne sisu – klõpsake siin  Globaalne hoiatus Google Chrome'i kriitilise haavatavuse kohta: mida peate teadma ja kuidas ennast kaitsta

Kui lubate oma keskkonnas ainult HTTPS-i, saate luua turvaline kuulaja usaldusväärse CA väljastatud sertifikaadiga (soovitatav). Teise võimalusena on töörühmade või domeeniväliste arvutite puhul kasutada TrustedHostsi piiratud ja riskiteadlikul viisil.

Pane tähele, et Powershelli kaugjuurdepääs saab eksisteerida koos cmdlettidega, mille puhul on kood -ComputerName, aga Microsoft lükkab WS-Mani edasi kui standardne ja tulevikukindel viis kaughalduseks.

PowerShelli kaugjuurdepääsu lubamine ja kasulikud parameetrid

Windowsis avage lihtsalt PowerShell administraatorina ja käivitage see. Luba-PSRemotingSüsteem käivitab WinRM-i, konfigureerib automaatse käivituse, lubab kuulaja ja loob sobivad tulemüürireeglid. Avaliku võrguprofiiliga klientidel saate selle teadlikult lubada -SkipNetworkProfileCheck (ja seejärel tugevdage konkreetsete reeglitega):

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

 

Süntaks võimaldab ka -Kinnita y -Mis siis kui muudatuste kontrollimiseks. Pidage meeles: See on saadaval ainult Windowsisja peate käivitama kõrgendatud konsooli. Loodud reeglid erinevad serveri- ja kliendiväljaannete vahel, eriti avalikes võrkudes, kus need on vaikimisi piiratud kohaliku alamvõrguga, kui te ulatust ei laienda (näiteks Set-NetFirewallRule abil).

Juba salvestatud seansi konfiguratsioonide loetlemiseks ja kõige valmisoleku kinnitamiseks kasutage Get-PSSessionConfigurationKui PowerShell.x ja Workflow lõpp-punktid ilmuvad, on kaugtööraamistik töökorras.

Kaugseanss PowerShelliga

Kasutusrežiimid: 1 kuni 1, 1 kuni mitu ja püsivad seansid

Kui vajate interaktiivset konsooli ühel arvutil, pöörduge Enter-PSSessionIlmub viip ja kõik, mille täidate, läheb kaughostile. Saate volitusi uuesti kasutada funktsiooniga Get-Credential, et vältida nende pidevat uuesti sisestamist:

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

Kui otsite võimalust saata käske korraga mitmele arvutile, siis see tööriist on... Käivita käsk skriptiplokiga. Vaikimisi käivitab see kuni 32 samaaegset ühendust (reguleeritav valikuga -ThrottleLimit). Tulemused tagastatakse kujul deserialiseeritud objektid (ilma "live" meetoditeta):

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

Kas on vaja käivitada meetod nagu .Stop() või .Start()? Tee seda. skriptiploki sees kaugkeskkonnas, mitte kohalikus deserialiseeritud objektis, ja ongi kõik. Kui on olemas samaväärne cmdlet (Stop-Service/Start-Service), on selguse huvides tavaliselt eelistatav seda kasutada.

Seansside alustamise ja lõpetamisega seotud kulude vältimiseks iga kõne puhul looge Püsiv PSSession ja kasutage seda mitme kutsumise korral uuesti. Kasutage ühenduse loomiseks käsku New-PSSession ja tunneli taaskasutamiseks käsku Invoke-Command-Session. Ärge unustage seda pärast lõpetamist käsuga Remove-PSSession sulgeda.

Serialiseerimine, piirangud ja head tavad

Oluline detail: reisides objektid "+lamenduvad" ja saabuvad kohale deserialiseeritud hetktõmmised, omadustega, aga ilma meetoditeta. See on tahtlik ja säästab ribalaiust, aga see tähendab, et sa ei saa kasutada liikmeid, mis käivitavad kohalikus koopias loogikat (nagu .Kill()). Lahendus on ilmne: kutsu need meetodid esile. eemalt Ja kui vajate ainult teatud välju, filtreerige Select-Object abil, et saata vähem andmeid.

Eksklusiivne sisu – klõpsake siin  Kuidas vältida failide kahjustamist?

Skriptides tuleks vältida Enter-PSSession käsku (mõeldud interaktiivseks kasutamiseks) ja kasutada skriptiplokkide puhul Invoke-Command käsku. Kui eeldatakse mitut kutset või on vaja säilitada olekut (muutujad, imporditud moodulid), kasutage püsivaid seansse ja vajadusel ühendage need lahti/ühendage uuesti PowerShelli 3.0+ versioonis käsuga Disconnect-PSSession/Connect-PSSession.

Autentimine, HTTPS ja domeenivälised stsenaariumid

Domeenis on natiivne autentimine Kerberos Ja kõik sujub. Kui seade ei saa serveri nime kinnitada või kui loote ühenduse CNAME IP või aliasega, vajate ühte järgmistest kahest valikust: 1) Kuulaja HTTPS sertifikaadiga mille on väljastanud usaldusväärne CA või 2) lisage sihtkoht (nimi või IP) TrustedHosts'i ja kasutage volitusiTeine valik keelab selle hosti vastastikuse autentimise, vähendades seega ulatust vajaliku miinimumini.

HTTPS-kuulaja seadistamiseks on vaja sertifikaati (ideaalis teie PKI-lt või avalikult sertifitseerimisasutuselt), mis on installitud meeskonna salvestusse ja seotud WinRM-iga. Seejärel avatakse tulemüüris port 5986/TCP ja seda kasutatakse kliendi poolt. -KasutaSSL-i kaugkäskudes. Kliendi sertifikaadi autentimiseks saate sertifikaadi kohaliku kontoga siduda ja ühenduse luua -Sertifikaadi pöidlajälg (Enter-PSSession seda otse ei aktsepteeri; loo seanss esmalt New-PSSession abil.)

Teine hüpe ja volituste delegeerimine

Kuulus „topelthüpe“ ilmneb siis, kui pärast serveriga ühenduse loomist on vaja, et server pääseks ligi kolmas ressurss teie nimel (nt SMB jagamine). Selle lubamiseks on kaks lähenemisviisi: CredSSP ja ressursipõhine piiratud Kerberose delegeerimine.

koos CredSSP Sa lubad kliendil ja vahendajal volitusi selgesõnaliselt delegeerida ning määrad poliitika (GPO), mis lubab delegeerimise konkreetsetele arvutitele. See on kiire seadistada, kuid vähem turvaline, kuna volitused liiguvad krüpteeritud tunnelis selge tekstina. Piira alati allikaid ja sihtkohti.

Eelistatud alternatiiv domeenis on piiratud Kerberose delegeerimine (ressursipõhine piiratud delegeerimine) tänapäevases AD-s. See võimaldab lõpp-punktil teatud teenuste puhul tugineda delegeerimise vastuvõtmisele keskpunktist, vältides teie identiteedi avalikustamist esmasel ühenduse loomisel. Nõuab uusimaid domeenikontrollereid ja ajakohastatud RSAT-i.

Kohandatud lõpp-punktid (seansi konfiguratsioonid)

Üks Remotingu pärle on võimalus registreerida ühenduspunkte kohandatud võimalused ja piirangudEsmalt genereeritakse fail funktsiooniga New-PSSessionConfigurationFile (eellaaditavad moodulid, nähtavad funktsioonid, aliased, ExecutionPolicy, LanguageMode jne) ja seejärel registreeritakse see funktsiooniga Register-PSSessionConfiguration, kus saab määrata Käivita volitusena ja õigused (SDDL või GUI-liides valikuga -ShowSecurityDescriptorUI).

Ohutu delegeerimise tagamiseks avaldage ainult vajalik valikuga -VisibleCmdlets/-VisibleFunctions ja keelake vabad skriptid vajadusel valikuga Keelerežiim Piiratud keel või NoLanguage. Kui jätate FullLanguage'i välja, saab keegi skriptiplokki kasutada paljastamata käskude käivitamiseks, mis koos RunAs-idega see oleks aukKujundage need lõpp-punktid peenehambulise kammiga ja dokumenteerige nende ulatus.

Domeenid, GPO-d ja grupitöö

AD-s saate Powershelli kaugjuhtimise juurutada skaalal GPO abil: lubada WinRM-kuulajate automaatset konfigureerimist, määrake teenus automaatseksja looge tulemüüri erand. Pidage meeles, et rühmapoliitika objektid (GPO-d) muudavad sätteid, kuid need ei lülita teenust alati kohe sisse; mõnikord peate taaskäivitama või sundima gpupdate'i.

Eksklusiivne sisu – klõpsake siin  Kuidas kasutada Norton Mobile Security'i?

Töörühmades (mitte domeenis) konfigureerige kaugtöö Luba-PSRemoting, määrake kliendile TrustedHosts (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) ja kasutage kohalikke volitusi. HTTPS-i puhul saate paigaldada iseallkirjastatud sertifikaate, kuigi soovitatav on kasutada usaldusväärset sertimiskeskust ja kinnitage nimi mida kasutate sertifikaadis valikus -ComputerName (CN/SAN vaste).

Peamised cmdlet-käsud ja süntaks

Käputäis komandosid katavad 90% igapäevastest stsenaariumidestAktiveerimiseks/deaktiveerimiseks:

Enable-PSRemoting    
Disable-PSRemoting

Interaktiivne seanss 1:1 ja väljumine:

Enter-PSSession -ComputerName SEC504STUDENT 
Exit-PSSession

1 kuni palju, paralleelsuse ja volitustega:

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

Püsivad seansid ja taaskasutamine:

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

Testimine ja WinRM Kasulik:

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

Praktilised märkused tulemüüri, võrgu ja portide kohta

Avage sihtarvutis ja teises arvutis HTTP jaoks protokoll 5985/TCP ja HTTPS jaoks protokoll 5986/TCP. mis tahes vahepealne tulemüürWindowsi klientides loob Enable-PSRemoting reeglid domeeni- ja privaatsete profiilide jaoks; avalike profiilide puhul on see piiratud kohaliku alamvõrguga, välja arvatud juhul, kui muudate ulatust valikuga Set-NetFirewallRule -RemoteAddress Any (väärtus, mille saate oma riski põhjal hinnata).

Kui kasutate SOAR/SIEM integratsioone, mis käitavad kaugkäsklusi (nt XSOAR-ist), veenduge, et serveril on DNS-i lahendus hostidega, ühenduvus serveriga 5985/5986 ja piisavate kohalike õigustega volikirjad. Mõnel juhul võib NTLM/Basic autentimist vajada kohandamist (nt kohaliku kasutaja kasutamine Basicus koos SSL-iga).

Enable-PSRemoting parameetrid (tegevuse kokkuvõte)

-Kinnita küsib enne käivitamist kinnitust; -Sundi ignoreerib hoiatusi ja tehke vajalikud muudatused; - SkipNetworkProfileCheck lubab kaugjuurdepääsu avalikes kliendivõrkudes (vaikimisi piiratud kohaliku alamvõrguga); - WhatIf näitab, mis juhtuks ilma muudatusi rakendamata. Lisaks toetab see nagu iga standardne cmdlet ühised parameetrid (-Verbose, -ErrorAction jne).

Pea meeles, et „Luba” ei loo sinu jaoks HTTPS-kuulajaid ega sertifikaate; kui vajad algusest peale otsast lõpuni krüptimist ja autentimist, mis põhineb sertifikaadid, konfigureerige HTTPS-kuulaja ja kontrollige CN/SAN-i nime suhtes, mida kasutate valikus -ComputerName.

Kasulikud WinRM-i ja PowerShelli kaugtöökäsud

Mõned olulised vooditarbed päevast päeva:

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

Windowsi ulatuslikul haldamisel võimaldab kaughaldus teil minna üle arvutitevaheliselt haldamiselt deklaratiivsele ja turvalisele lähenemisviisile. Püsivate seansside, tugeva autentimise (Kerberos/HTTPS), piiratud lõpp-punktide ja diagnostikaks vajalike selgete jälgede kombineerimise abil saab saavutad kiiruse ja kontrolli turvalisust või auditeerimist ohverdamata. Kui standardiseerite ka GPO aktiveerimise ja valdate erijuhtumeid (TrustedHosts, topelthüpe, sertifikaadid), on teil igapäevaste toimingute ja intsidentidele reageerimise jaoks kindel kaugplatvorm.

nähtamatu pahavara
Seotud artikkel:
Kuidas kaitsta oma arvutit nähtamatu pahavara (nt XWorm ja NotDoor) eest