- Urrunetik kontrolatzeak WinRM/WS-Man (HTTP/HTTPS) erabiltzen du eta 1etik 1era, 1etik askora eta saio iraunkorrak ahalbidetzen ditu segurtasun-kontrolekin.
- Enable-PSRemoting-ek zerbitzua, entzuleak eta suebakia konfiguratzen ditu; HTTPS-k ziurtagiri baliozkoa eta CN/SAN bat etortzea behar ditu.
- Emaitzak deserializatuta itzultzen dira; metodoak urruneko script-blokean deitzen dira eta amaiera-puntu pertsonalizatuak erabiltzen dira delegazio zehatza lortzeko.
Baliteke dagoeneko zeregin asko automatizatzea PowerShell-ekin tokian bertan, baina nondik ateratzen dituzu benetan? PowerShell urruneko komunikazioak aldea eragiten du Komandoak urruneko makinetan exekutatzen dituzunean gertatzen da, gutxi batzuk edo ehunka izan, modu interaktibo edo paraleloan. Teknologia hau, Windows PowerShell 2.0tik eskuragarri eta 3.0tik hobetua, WS-Management (WinRM) oinarritzen da eta bihurtzen ditu PowerShell urruneko kudeaketa kanal sendo, eskalagarri eta seguru batean.
Lehenik eta behin, bi ideia nagusi ulertzea garrantzitsua da: cmdlet-ak -OrdenagailuIzena parametroa (adibidez, Get-Process edo Get-Service) ez dira Microsoftek gomendatzen duen epe luzerako bidea, eta PowerShell Remoting-ek ez du "hack" gisa funtzionatzen. Izan ere, elkarrekiko autentifikazioa ezartzen du, auditoria-erregistroak egiten ditu eta zure ohiko baimenak errespetatzen ditu, kredentzialak gorde edo super pribilegioak dituen ezer modu magikoan exekutatu gabe.
Zer da PowerShell urruneko kontrola eta zergatik erabili?
-rekin PowerShell Remoting ahal ia edozein komando urrunetik exekutatu tokiko saio batean abiarazi dezakezuna, zerbitzuak kontsultatzetik konfigurazioak zabaltzeraino, eta ehunka ordenagailutan aldi berean egin dezakezuna. -ComputerName onartzen duten cmdlet-ek ez bezala (askok DCOM/RPC erabiltzen dute), Remoting WS-Man (HTTP/HTTPS) bidez bidaiatzen du, suebakiarekiko egokiagoa denak, paralelismoa ahalbidetzen du eta lana urruneko ostalariari deskargatzen dio, ez bezeroari.
Horrek hiru abantaila praktiko dakartza: errendimendu hobea exekuzio masiboetan, sareetan marruskadura gutxiago arau murriztaileekin eta Kerberos/HTTPS-rekin bat datorren segurtasun-eredu batekin. Gainera, cmdlet bakoitzaren menpe ez dagoenez bere urruneko kontrola ezartzeko, urruneko kontrola Edozein gidoi edo roletarako balio du helmugan eskuragarri dagoena.
Berez, azken Windows zerbitzariek urruneko konexioa gaituta dute; Windows 10/11n aktibatzen duzu. cmdlet bakarrarekin. Eta bai, kredentzial alternatiboak, saio iraunkorrak, amaiera-puntu pertsonalizatuak eta gehiago erabil ditzakezu.
Oharra: Urrunetik lan egitea ez da dena irekitzearekin bateragarria. Berez, administratzaileak bakarrik Konektatu daitezke, eta ekintzak haien identitatearen pean exekutatzen dira. Ordezkaritza zehatza behar baduzu, amaiera-puntu pertsonalizatuek komando funtsezkoak soilik erakusteko aukera ematen dizute.

Nola funtzionatzen duen barruan: WinRM, WS-Man eta portuak
PowerShell urruneko komunikazioak bezero-zerbitzari eredu batean funtzionatzen du. Bezeroak WS-Management eskaerak bidaltzen ditu honen bidez: HTTP (5985/TCP) edo HTTPS (5986/TCP)Helburuan, Windows Remote Management (WinRM) zerbitzuak entzuten du, amaiera-puntua ebazten du (saioaren konfigurazioa) eta PowerShell saioa ostatatzen du atzeko planoan (wsmprovhost.exe prozesua), emaitza serializatuak bezeroari itzultzea XMLn SOAP bidez.
Urrunetik pasatzea lehen aldiz gaitzen duzunean, entzuleak konfiguratzen dira, suebakiaren salbuespen egokia irekitzen da eta saioen konfigurazioak sortzen dira. PowerShell 6+-tik aurrera, hainbat edizio elkarrekin bizi dira, eta Gaitu-PSRemoting Bertsioa islatzen duten izenekin amaiera-puntuak erregistratzen ditu (adibidez, PowerShell.7 eta PowerShell.7.xy).
Zure ingurunean HTTPS bakarrik onartzen baduzu, bat sor dezakezu entzule segurua CA fidagarri batek jaulkitako ziurtagiri batekin (gomendatua). Bestela, beste aukera bat TrustedHosts erabiltzea da, modu mugatuan eta arriskuen jakitun, lan-taldeen eszenatokietarako edo domeinukoak ez diren ordenagailuetarako.
Kontuan izan Powershell urruneko ekintzak -ComputerName duten cmdlet-ekin batera egon daitezkeela, baina Microsoftek WS-Man bultzatzen du urruneko administraziorako modu estandar eta etorkizunerako prestatu gisa.
PowerShell urruneko komunikazioa gaitzea eta parametro erabilgarriak
Windows-en, ireki PowerShell administratzaile gisa eta exekutatu Gaitu-PSRemotingSistemak WinRM abiarazten du, abiarazte automatikoa konfiguratzen du, entzulea gaitzen du eta suebakiaren arau egokiak sortzen ditu. Sare publikoko profila duten bezeroetan, hau nahita baimendu dezakezu honekin: -Sare-profilaren egiaztapena saltatu (eta gero arau zehatzekin indartu):
Enable-PSRemoting
Enable-PSRemoting -Force
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Sintaxiak ere ahalbidetzen du, -Berretsi y -Eta aldaketa kontrolatzeko. Gogoratu: Windows-en bakarrik dago eskuragarri, eta kontsola goratua exekutatu behar duzu. Sortutako arauak desberdinak dira Zerbitzari eta Bezero edizioen artean, batez ere sare publikoetan, non lehenespenez tokiko azpisare batera mugatzen diren, esparrua zabaltzen ez baduzu behintzat (adibidez, Set-NetFirewallRule erabiliz).
Dagoeneko grabatutako saioen konfigurazioak zerrendatzeko eta dena prest dagoela baieztatzeko, erabili Get-PSSessionConfigurationPowerShell.x eta, hala badagokio, Workflow amaierako puntuak agertzen badira, Remoting framework-a martxan dago.

Erabilera moduak: 1etik 1era, 1etik askora eta saio iraunkorrak
Ordenagailu bakarrean kontsola interaktibo bat behar duzunean, jo honera: Idatzi-PSSessionGonbidapena agertuko da, eta exekutatzen duzun guztia urruneko ostalarira joango da. Kredentzialak berrerabili ditzakezu Get-Credential erabiliz, etengabe berriro sartu behar ez izateko:
$cred = Get-Credential
Enter-PSSession -ComputerName dc01 -Credential $cred
Exit-PSSession
Hainbat ordenagailuri aldi berean komandoak bidaltzea bilatzen ari bazara, tresna hau da... Deitu-Komando scriptblock batekin. Berez, gehienez 32 konexio aldibereko abiarazten ditu (-ThrottleLimit-ekin doi daiteke). Emaitzak honela itzultzen dira deserializatutako objektuak (metodo “zuzenak” gabe):
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service -Name W32Time } -Credential $cred
.Stop() edo .Start() bezalako metodo bat deitu behar duzu? Egin ezazu. script-blokearen barruan urruneko testuinguruan, ez tokiko deserializatutako objektuan, eta kitto. cmdlet baliokide bat badago (Stop-Service/Start-Service), normalean hobe da erabiltzea argitasunagatik.
Dei bakoitzean saioak hasi eta amaitzearen kostua saihesteko, sortu PSSaio Iraunkorra eta berrerabili hainbat deialditan. Erabili New-PSSession konexioa sortzeko, eta erabili Invoke-Command-Session tunela berrerabiltzeko. Ez ahaztu ixtea Remove-PSSession-ekin amaitutakoan.
Serializazioa, mugak eta praktika onak
Xehetasun garrantzitsu bat: bidaiatzean, objektuak "+lautu" eta bezala iristen dira deserializatutako argazki-argazkiak, propietateekin baina metodorik gabe. Nahita egiten da eta banda-zabalera aurrezten du, baina esan nahi du ezin dituzula logika exekutatzen duten kideak erabili (.Kill() bezala) tokiko kopian. Irtenbidea agerikoa da: metodo horiek deitu. urrunekoan eta eremu batzuk bakarrik behar badituzu, iragazi Select-Object-ekin datu gutxiago bidaltzeko.
Scriptetan, saihestu Enter-PSSession (erabilera interaktiborako pentsatua) eta erabili Invoke-Command script blokeekin. Dei anitz aurreikusten badituzu edo egoera mantendu behar baduzu (aldagaiak, inportatutako moduluak), erabili saio iraunkorrak eta, hala badagokio, deskonektatu/berriro konektatu Disconnect-PSSession/Connect-PSSession komandoarekin PowerShell 3.0+ bertsioan.
Autentifikazioa, HTTPS eta domeinutik kanpoko eszenatokiak
Domeinu batean, autentifikazio natiboa da Kerberos Eta dena ondo doa. Gailuak zerbitzariaren izena egiaztatu ezin duenean, edo CNAME IP edo alias batera konektatzen zarenean, bi aukera hauetako bat behar duzu: 1) Entzulea HTTPS ziurtagiriarekin fidagarria den CA batek emana, edo 2) gehitu helmuga (izena edo IP helbidea) TrustedHosts-era eta erabili kredentzialakBigarren aukerak ostalari horrentzako elkarrekiko autentifikazioa desgaitzen du, beraz, esparrua beharrezko gutxienekora murrizten du.
HTTPS entzule bat konfiguratzeko, ziurtagiri bat behar da (hobe zure PKI edo CA publiko batetik), taldearen biltegian instalatuta eta WinRM-ra lotuta. Ondoren, 5986/TCP ataka suebakian irekitzen da eta, bezerotik, erabiltzen da. -Erabili SSL urruneko cmdlet-etan. Bezero ziurtagiriaren autentifikaziorako, ziurtagiri bat tokiko kontu batera mapatu eta konektatu zaitezke -Ziurtagiriaren hatz-marka (Enter-PSSession-ek ez du hau zuzenean onartzen; sortu saioa lehenik New-PSSession-ekin.)
Bigarren jauzia eta kredentzialen ordezkaritza
"Jauzi bikoitz" ospetsua agertzen da zerbitzari batera konektatu ondoren zerbitzari horrek atzitu behar duenean. hirugarren baliabidea zure izenean (adibidez, SMB partekatze bat). Bi modu daude hori ahalbidetzeko: CredSSP eta baliabideetan oinarritutako Kerberos ordezkaritza mugatua.
-rekin CredSSP Bezeroari eta bitartekariari kredentzialak esplizituki delegatzeko aukera ematen diezu, eta ordenagailu zehatzetara delegazioa baimentzeko politika bat (GPO) ezartzen duzu. Konfiguratzen azkarra da, baina ez da hain segurua, kredentzialak testu arruntean bidaiatzen baitira tunel enkriptatuan. Mugatu beti iturriak eta helmugak.
Domeinuan hobetsitako alternatiba da Kerberos ordezkaritza mugatua (baliabideetan oinarritutako ordezkaritza mugatua) AD modernoan. Horri esker, amaierako puntuak erdiko puntutik ordezkaritza jasotzean oinarritu daiteke zerbitzu espezifikoetarako, hasierako konexioan zure identitatea agerian uztea saihestuz. Domeinu kontrolatzaile berriak eta RSAT eguneratua behar ditu.
Amaiera-puntu pertsonalizatuak (saio-konfigurazioak)
Urrunetik kontrolatzearen harribitxietako bat konexio puntuak erregistratu ahal izatea da. gaitasun eta muga pertsonalizatuakLehenik eta behin, New-PSSessionConfigurationFile fitxategi bat sortzen duzu (aurrez kargatzeko moduluak, funtzio ikusgaiak, aliasak, ExecutionPolicy, LanguageMode, etab.), eta gero Register-PSSessionConfiguration-ekin erregistratzen duzu, non ezarri dezakezun ExekutatuKredentzial gisa eta baimenak (SDDL edo GUI interfazea -ShowSecurityDescriptorUI-rekin).
Delegazio seguru baterako, beharrezkoa dena bakarrik erakutsi -VisibleCmdlets/-VisibleFunctions-ekin eta desgaitu doako script-ak egokia bada -rekin Hizkuntza Modua Hizkuntza Mugatua edo NoLanguage. FullLanguage aukera uzten baduzu, norbaitek script bloke bat erabil dezake agerian utzi gabeko komandoak abiarazteko, eta horrek, ExekutatuAs-ekin konbinatuta, zulo bat izango litzateke.Diseinatu amaiera-puntu hauek arretaz eta dokumentatu haien irismena.
Domeinuak, GPOak eta Groupwarea
AD-n Powershell Remoting eskala handian zabaldu dezakezu GPO erabiliz: WinRM entzuleen konfigurazio automatikoa baimendu, zerbitzua Automatiko gisa ezarri, eta sortu suebakiaren salbuespena. Gogoratu GPOek ezarpenak aldatzen dituztela, baina ez dutela beti zerbitzua berehala aktibatzen; batzuetan berrabiarazi edo gpupdate bat behartu behar duzu.
Lan-taldeetan (domeinukoak ez direnetan), konfiguratu urruneko komunikazioa honekin: Gaitu-PSRemoting, ezarri TrustedHosts bezeroan (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) eta erabili tokiko kredentzialak. HTTPSrako, auto-sinatutako ziurtagiriak muntatu ditzakezu, nahiz eta CA fidagarri bat erabiltzea gomendatzen den eta izena balioztatu. ziurtagirian -ComputerName-n erabiliko duzuna (CN/SAN bat etortzea).
Cmdlet nagusiak eta sintaxia
Komando gutxi batzuek estaltzen dute Eguneroko egoeren % 90Aktibatzeko/desaktibatzeko:
Enable-PSRemoting
Disable-PSRemoting
Saio interaktiboa 1etik 1era eta irteera:
Enter-PSSession -ComputerName SEC504STUDENT
Exit-PSSession
1etik askora, paralelismo eta kredentzialekin:
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service W32Time } -Credential $cred
Saio iraunkorrak eta berrerabili:
$s = New-PSSession -ComputerName localhost -ConfigurationName PowerShell.7
Invoke-Command -Session $s -ScriptBlock { $PSVersionTable }
Remove-PSSession $s
Probak eta WinRM Erabilgarria:
Test-WSMan -ComputerName host
winrm get winrm/config
winrm enumerate winrm/config/listener
winrm quickconfig -transport:https
Suebaki, sare eta portuei buruzko ohar praktikoak
Ireki 5985/TCP HTTPrako eta 5986/TCP HTTPSrako helburuko ordenagailuan eta edozein tarteko suebakiWindows bezeroetan, Enable-PSRemoting-ek domeinu eta profil pribatuetarako arauak sortzen ditu; profil publikoetarako, tokiko azpisare batera mugatzen da, esparrua Set-NetFirewallRule -RemoteAddress Any-rekin aldatzen ez baduzu behintzat (zure arriskuaren arabera ebaluatu dezakezun balioa).
Urruneko komandoak exekutatzen dituzten SOAR/SIEM integrazioak erabiltzen badituzu (adibidez, XSOAR-etik), ziurtatu zerbitzariak baduela DNS bereizmena ostalarietara, 5985/5986rako konexioa eta tokiko baimen nahikoa duten kredentzialak. Kasu batzuetan, NTLM/Oinarrizko autentifikazioak doikuntzak behar izan ditzake (adibidez, tokiko erabiltzaile bat erabiltzea Oinarrizkoan SSLrekin).
PSRemoting-en parametroak gaitu (eragiketa laburpena)
-Berretsi exekutatu aurretik baieztapena eskatzen du; -Behartu abisuak alde batera uzten ditu eta egin beharrezko aldaketak; -SkipNetworkProfileCheck-ek urrunetik lan egitea gaitzen du bezero-sare publikoetan (lehenespenez tokiko azpisareetara mugatuta); -WhatIf-ek aldaketak aplikatu gabe zer gertatuko litzatekeen erakusten dizu. Gainera, edozein cmdlet estandar bezala, onartzen du parametro komunak (-AdierazpenZuzenean, -ErroreEkintza, etab.).
Gogoratu "Gaitu" aukerak ez dituela HTTPS entzuleak edo ziurtagiriak sortzen zuretzat; hasieratik muturretik muturrerako enkriptatzea eta autentifikazioa behar badituzu... ziurtagiriak, konfiguratu HTTPS entzulea eta balioztatu CN/SAN -ComputerName atalean erabiliko duzun izenarekin.
WinRM eta PowerShell urruneko komando erabilgarriak
Batzuk ohe ondoko elementu ezinbestekoak Egunez egunekoa:
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
Windows eskala handian kudeatzerakoan, urruneko erabilerak "ordenagailutik ordenagailura" ikuspegi deklaratibo eta seguru batera pasatzeko aukera ematen dizu. Saio iraunkorrak, autentifikazio sendoa (Kerberos/HTTPS), amaiera-puntuak mugatuak eta diagnostikoetarako arrasto garbiak konbinatuz, abiadura eta kontrola lortzen dituzu segurtasuna edo auditoria sakrifikatu gabe. GPO aktibazioa estandarizatzen baduzu eta kasu bereziak (TrustedHosts, jauzi bikoitza, ziurtagiriak) menperatzen badituzu, urruneko plataforma sendoa izango duzu eguneroko eragiketetarako eta intzidenteei erantzuteko.
Teknologia eta Interneteko gaietan espezializatutako editorea, hamar urte baino gehiagoko esperientziarekin euskarri digital ezberdinetan. Merkataritza elektroniko, komunikazio, online marketin eta publizitate enpresetarako editore eta eduki sortzaile gisa lan egin dut. Ekonomia, finantza eta beste sektore batzuetako webguneetan ere idatzi dut. Nire lana ere nire pasioa da. Orain, nire artikuluen bidez Tecnobits, teknologiaren munduak egunero gure bizitza hobetzeko eskaintzen dizkigun albiste eta aukera berri guztiak arakatzen saiatzen naiz.