- Ang pag-remote naggamit sa WinRM/WS-Man (HTTP/HTTPS) ug nagtugot sa 1-to-1, 1-to-many, ug padayon nga mga sesyon nga adunay kontrol sa seguridad.
- Ang Enable-PSRemoting nag-configure sa serbisyo, tigpaminaw, ug firewall; Ang HTTPS nanginahanglan ug balido nga sertipiko ug CN/SAN nga tugma.
- Ang mga resulta gibalik nga deserialized; Ang mga pamaagi gigamit sulod sa hilit nga scriptblock ug ang naandan nga mga endpoint gigamit alang sa maayo nga delegasyon.
Mahimo nimong awtomatiko ang daghang mga buluhaton gamit ang PowerShell sa lokal, apan asa ka gyud Ang PowerShell Remoting naghimo sa kalainan Kini mao ang sa diha nga ikaw modagan mga sugo sa hilit nga mga makina, bisan sa pipila o gatusan, interactive o sa parallel. Kini nga teknolohiya, nga magamit sukad sa Windows PowerShell 2.0 ug gipauswag sukad sa 3.0, gibase sa WS-Management (WinRM) ug mga kinabig PowerShell sa usa ka lig-on, scalable ug luwas nga remote management channel.
Una sa tanan, importante nga masabtan ang duha ka importanteng ideya: cmdlets with -Parameter sa ComputerName (e.g., Get-Process o Get-Service) dili ang long-term nga dalan nga girekomenda sa Microsoft, ug ang PowerShell Remoting dili molihok isip "hack." Sa pagkatinuod, nagpatuman sa mutual authentication, mga log sa pag-audit ug gitahud ang imong naandan nga mga pagtugot, nga wala magtipig mga kredensyal o magical nga pagpadagan sa bisan unsang butang nga adunay daghang mga pribilehiyo.
Unsa ang PowerShell Remoting ug nganong gamiton kini?
Con Gikuptan ang PowerShell mahimo nimo ipatuman ang halos bisan unsang sugo sa layo nga mahimo nimong ilunsad sa usa ka lokal nga sesyon, gikan sa mga serbisyo sa pagpangutana hangtod sa pag-deploy sa mga pag-configure, ug buhaton kini sa gatusan ka mga kompyuter sa usa ka higayon. Dili sama sa mga cmdlet nga modawat -ComputerName (daghang naggamit DCOM/RPC), Remoting nagbiyahe pinaagi sa WS-Man (HTTP/HTTPS), nga mas mahigalaon sa firewall, nagtugot sa parallelism ug offloads nga magtrabaho sa hilit nga host, dili sa kliyente.
Kini gihubad ngadto sa tulo ka praktikal nga mga bentaha: mas maayo nga performance sa dako nga pagpatay, gamay nga friction sa mga network nga adunay higpit nga mga lagda ug modelo sa seguridad nga nahiuyon sa Kerberos/HTTPS. Dugang pa, pinaagi sa dili pagdepende sa matag cmdlet aron ipatuman ang kaugalingon nga hilit, Remoting Kini magamit alang sa bisan unsang script o papel nga anaa sa destinasyon.
Pinaagi sa default, ang bag-o nga Windows Servers moabut uban ang Remoting enabled; sa Windows 10/11 activate nimo nga adunay usa ka cmdlet. Ug oo, mahimo nimong gamiton ang mga alternatibong kredensyal, padayon nga mga sesyon, naandan nga mga endpoint, ug daghan pa.
Hinumdomi: Ang pag-remote dili parehas sa pag-abli sa tanan. Pinaagi sa default, mga administrador lang Mahimo silang magkonektar, ug ang mga aksyon gipatuman ubos sa ilang pagkatawo. Kung kinahanglan nimo ang maayo nga delegasyon, ang naandan nga mga endpoint nagtugot kanimo nga ibutyag ang hinungdanon nga mga mando.

Giunsa kini pagtrabaho sa sulod: WinRM, WS-Man ug mga pantalan
Ang PowerShell Remoting nagtrabaho sa usa ka modelo sa client-server. Ang kliyente nagpadala sa mga hangyo sa WS-Management pinaagi sa HTTP (5985/TCP) o HTTPS (5986/TCP). Sa target, ang serbisyo sa Windows Remote Management (WinRM) maminaw, masulbad ang endpoint (konfigurasyon sa session), ug mag-host sa PowerShell session sa background (wsmprovhost.exe process), ibalik ang serialized nga mga resulta ngadto sa kliyente sa XML pinaagi sa SOAP.
Sa unang higayon nga imong mahimo ang Remoting, ang mga tigpaminaw gi-configure, ang angay nga firewall nga eksepsiyon giablihan, ug ang mga configuration sa sesyon gihimo. Gikan sa PowerShell 6+, daghang mga edisyon ang nag-uban, ug Pag-ayo-PSRemoting Nagrehistro sa mga endpoint nga adunay mga ngalan nga nagpakita sa bersyon (pananglitan, PowerShell.7 ug PowerShell.7.xy).
Kung tugotan lang nimo ang HTTPS sa imong palibot, makahimo ka og a luwas nga tigpaminaw nga adunay sertipiko nga gi-isyu sa usa ka kasaligan nga CA (girekomenda). Sa laing bahin, laing alternatibo mao ang paggamit sa TrustedHosts sa limitado, nasayod sa risgo nga paagi, para sa mga sitwasyon sa workgroup o non-domain nga mga kompyuter.
Timan-i nga ang Powershell Remoting mahimong mag-uban sa mga cmdlet nga adunay -ComputerName, apan Giduso sa Microsoft ang WS-Man isip sumbanan ug umaabot-pamatuod nga paagi alang sa hilit nga administrasyon.
Pag-enable sa PowerShell Remoting ug Useful Parameters
Sa Windows, ablihi lang ang PowerShell isip tigdumala ug pagdagan Pag-ayo-PSRemoting. Gisugdan sa sistema ang WinRM, gi-configure ang autostart, gipaarang ang tigpaminaw, ug nagmugna sa angay nga mga lagda sa firewall. Sa mga kliyente nga adunay profile sa publiko nga network, mahimo nimo nga tinuyo nga tugutan kini nga adunay -SkipNetworkProfileCheck (ug dayon palig-una sa piho nga mga lagda):
Enable-PSRemoting
Enable-PSRemoting -Force
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Gitugotan usab sa syntax, -Sa pagmatuod sa y -Unsa Kon alang sa pagkontrol sa pagbag-o. Hinumdomi: Anaa ra kini sa Windows, ug kinahanglan nimong ipadagan ang gipataas nga console. Ang mga lagda nga gihimo magkalainlain tali sa mga edisyon sa Server ug Kliyente, labi na sa mga publiko nga network, diin sa default limitado kini sa lokal nga subnet gawas kung imong gipalapdan ang sakup (pananglitan, sa Set-NetFirewallRule).
Aron ilista ang natala na nga mga configuration sa sesyon ug kumpirmahi nga andam na ang tanan, gamita Pagkuha-PSSessionConfigurationKung ang PowerShell.x ug ang mga endpoint sa Workflow makita, ang Remoting framework kay operational.

Mga paagi sa paggamit: 1 ngadto sa 1, 1 ngadto sa daghan, ug padayon nga mga sesyon
Kung kinahanglan nimo ang usa ka interactive nga console sa usa ka kompyuter, ablihi Pagsulod-PSSessionAng aghat makita, ug ang tanan nga imong gipatuman moadto sa hilit nga host. Mahimo nimong gamiton pag-usab ang mga kredensyal gamit ang Get-Credential aron malikayan ang kanunay nga pagsulod pag-usab niini:
$cred = Get-Credential
Enter-PSSession -ComputerName dc01 -Credential $cred
Exit-PSSession
Kung ang imong gipangita mao ang pagpadala mga mando sa daghang mga kompyuter sa usa ka higayon, ang himan mao Invoke-Command nga adunay scriptblock. Sa kasagaran, naglansad kini hangtod sa 32 ka dungan nga koneksyon (mapasibo sa -ThrottleLimit). Ang mga resulta gibalik ingon deserialized nga mga butang (walay "live" nga mga pamaagi):
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service -Name W32Time } -Credential $cred
Kinahanglan nga mogamit ug pamaagi sama sa .Stop() o .Start()? Buhata kini. sulod sa scriptblock sa hilit nga konteksto, dili ang lokal nga deserialized nga butang, ug mao kana. Kung adunay usa ka katumbas nga cmdlet (Stop-Service/Start-Service), kasagaran mas maayo nga gamiton kini alang sa katin-awan.
Aron malikayan ang gasto sa pagsugod ug pagtapos sa mga sesyon sa matag tawag, paghimo ug Nagpadayon nga PSSession ug gamiton kini pag-usab sa daghang mga pag-ampo. Gamita ang Bag-ong-PSSession sa paghimo sa koneksyon, ug gamita ang Invoke-Command-Session aron magamit pag-usab ang tunnel. Ayaw kalimti nga isira kini gamit ang Remove-PSSession kung nahuman ka na.
Serialization, mga limitasyon ug maayong mga gawi
Usa ka hinungdanon nga detalye: kung nagbiyahe, ang mga butang "+pagtag" ug moabut ingon deserialized nga mga snapshot, nga adunay mga kabtangan apan walay mga pamaagi. Kini tinuyo ug makadaginot sa bandwidth, apan kini nagpasabot nga dili ka makagamit sa mga miyembro nga nagpatuman sa lohika (sama sa .Kill()) sa lokal nga kopya. Dayag ang solusyon: gamita ang mga pamaagi. layo ug kung kinahanglan ra nimo ang pipila ka mga natad, i-filter gamit ang Select-Object aron magpadala ug gamay nga datos.
Sa mga script, likayi ang Enter-PSSession (gituyo alang sa interactive nga paggamit) ug gamita ang Invoke-Command nga adunay mga bloke sa script. Kung nagpaabut ka daghang mga tawag o kinahanglan nga mapreserbar ang estado (mga variable, gi-import nga mga module), paggamit kanunay nga mga sesyon ug, kon mahimo, idiskonekta/i-reconnect sila sa Disconnect-PSSession/Connect-PSSession sa PowerShell 3.0+.
Authentication, HTTPS, ug Off-Domain Scenario
Sa usa ka domain, ang lumad nga panghimatuud mao ang Kerberos Ug ang tanan nagaagay. Kung ang aparato dili mapamatud-an ang ngalan sa server, o nagkonektar ka sa usa ka CNAME IP o alyas, kinahanglan nimo ang usa niining duha nga kapilian: 1) Tigpaminaw HTTPS nga adunay sertipiko nga gi-isyu sa usa ka CA nga imong gisaligan, o 2) idugang ang destinasyon (ngalan o IP) sa TrustedHosts ug gamita ang mga kredensyalAng ikaduha nga kapilian nagpugong sa mutual authentication alang sa kana nga host, busa gipakunhod niini ang sakup sa labing gamay nga kinahanglan.
Ang pag-set up og HTTPS listener nanginahanglan og certificate (mas maayo nga gikan sa imong PKI o sa usa ka public CA), na-install sa team store ug gigapos sa WinRM. Giablihan dayon ang Port 5986/TCP sa firewall ug, gikan sa kliyente, gigamit. -UseSSL sa hilit nga mga cmdlet. Alang sa pag-authenticate sa sertipiko sa kliyente, mahimo nimong mapa ang usa ka sertipikasyon sa usa ka lokal nga account ug makonektar -CertificateThumbprint (Ang Enter-PSSession dili modawat niini direkta; paghimo una sa sesyon gamit ang Bag-ong-PSSession.)
Ang ikaduhang paglukso ug pagdelegar sa mga kredensyal
Ang bantog nga "double hop" makita kung, pagkahuman sa pagkonektar sa usa ka server, kinahanglan nimo kana nga server aron maka-access sa usa ka ikatulo nga kapanguhaan sa imong ngalan (pananglitan, usa ka bahin sa SMB). Adunay duha ka mga pamaagi sa pagtugot niini: CredSSP ug resource-based nga limitado nga delegasyon sa Kerberos.
Con CredSSP Gitugotan nimo ang kliyente ug tigpataliwala sa dayag nga pagdelegar sa mga kredensyal, ug nagtakda ka usa ka palisiya (GPO) aron tugutan ang pagdelegar sa piho nga mga kompyuter. Kini dali nga ma-configure, apan dili kaayo luwas tungod kay ang mga kredensyal nagbiyahe sa tin-aw nga teksto sulod sa na-encrypt nga tunel. Kanunay nga limitahan ang mga gigikanan ug destinasyon.
Ang gipalabi nga alternatibo sa domain mao ang gipugngan ang delegasyon ni Kerberos (resource-based constrained delegation) sa modernong AD. Gitugotan niini ang endpoint nga magsalig sa pagdawat sa delegasyon gikan sa tungatunga nga punto alang sa piho nga mga serbisyo, paglikay nga ibutyag ang imong pagkatawo sa una nga koneksyon. Nagkinahanglan bag-o nga mga tigkontrol sa domain ug usa ka updated nga RSAT.
Custom nga Endpoints (Session Configurations)
Usa sa mga mutya sa Remoting mao ang pagparehistro sa mga punto sa koneksyon gipahaum nga mga kapabilidad ug mga limitasyon. Una makamugna ka og file nga adunay New-PSSessionConfigurationFile (mga module nga i-preload, makita nga mga function, mga alias, ExecutionPolicy, LanguageMode, ug uban pa), ug dayon irehistro nimo kini sa Register-PSSessionConfiguration, diin mahimo nimong itakda RunAsCredential ug mga permiso (SDDL o GUI interface nga adunay -ShowSecurityDescriptorUI).
Para sa luwas nga delegasyon, ibutyag lamang ang gikinahanglan sa -VisibleCmdlets/-VisibleFunctions ug i-disable ang libre nga scripting kung angay sa LanguageMode Restricted Pinulongan o Walay Pinulongan. Kung mobiya ka sa FullLanguage, ang usa ka tawo mahimong mogamit usa ka bloke sa script aron magamit ang mga wala mailhi nga mga mando, nga, inubanan sa RunAs, kini mahimong usa ka lungag. Idisenyo kini nga mga endpoint gamit ang fine-tooth comb ug idokumento ang ilang kasangkaran.
Mga domain, GPO, ug Groupware
Sa AD mahimo nimong i-deploy ang Powershell Remoting sa sukdanan sa GPO: tugoti ang awtomatikong pag-configure sa mga tigpaminaw sa WinRM, itakda ang serbisyo sa Automatic, ug paghimo sa firewall exception. Hinumdumi nga ang mga GPO nagbag-o sa mga setting, apan dili nila kanunay nga i-on dayon ang serbisyo; usahay kinahanglan nimo nga i-restart o pugson ang usa ka gpupdate.
Sa mga workgroup (non-domain), i-configure ang Remoting nga adunay Pag-ayo-PSRemoting, ibutang ang TrustedHosts sa kliyente (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) ug gamita ang lokal nga kredensyal. Alang sa HTTPS, mahimo nimong i-mount ang mga sertipiko nga gipirmahan sa kaugalingon, bisan kung girekomenda nga mogamit usa ka kasaligan nga CA ug balido ang ngalan nga imong gamiton sa -ComputerName sa certificate (CN/SAN match).
Key cmdlet ug syntax
Ang pipila ka mga commandos naglangkob sa 90% sa adlaw-adlaw nga mga senaryo. Aron ma-activate/deactivate:
Enable-PSRemoting
Disable-PSRemoting
Interactive nga sesyon 1 hangtod 1 ug paggawas:
Enter-PSSession -ComputerName SEC504STUDENT
Exit-PSSession
1 sa daghan, nga adunay paralelismo ug mga kredensyal:
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service W32Time } -Credential $cred
Nagpadayon nga mga sesyon ug gamit pag-usab:
$s = New-PSSession -ComputerName localhost -ConfigurationName PowerShell.7
Invoke-Command -Session $s -ScriptBlock { $PSVersionTable }
Remove-PSSession $s
Pagsulay ug WinRM Nga mapuslanon:
Test-WSMan -ComputerName host
winrm get winrm/config
winrm enumerate winrm/config/listener
winrm quickconfig -transport:https
Praktikal nga mga nota sa firewall, network ug mga pantalan
Ablihi ang 5985/TCP para sa HTTP ug 5986/TCP para sa HTTPS sa target nga computer ug sa bisan unsang intermediate firewallSa mga kliyente sa Windows, ang Enable-PSRemoting nagmugna og mga lagda alang sa domain ug pribadong mga profile; alang sa publiko nga mga profile, kini limitado sa lokal nga subnet gawas kon imong usbon ang sakup gamit ang Set-NetFirewallRule -RemoteAddress Bisan unsa (usa ka bili nga imong masusi base sa imong risgo).
Kon mogamit ka og SOAR/SIEM integrations nga nagpadagan sa mga remote commands (e.g. gikan sa XSOAR), siguroha nga ang server adunay resolusyon sa DNS sa mga host, koneksyon sa 5985/5986, ug mga kredensyal nga adunay igong lokal nga pagtugot. Sa pipila ka mga kaso, ang NTLM/Basic authentication mahimong magkinahanglan og adjustment (pananglitan, gamit ang lokal nga user sa Basic nga adunay SSL).
I-enable-PSRemoting Parameters (Operational Summary)
-Kumpirma nangayo alang sa kumpirmasyon sa wala pa ipatuman; - Puwersa wala magtagad sa mga pasidaan ug paghimo sa gikinahanglan nga mga kausaban; -SkipNetworkProfileCheck makahimo sa Remoting sa publiko nga kliyente network (limitado sa default sa lokal nga subnet); -WhatIf nagpakita kanimo kung unsa ang mahitabo kung wala mag-apply sa mga pagbag-o. Dugang pa, sama sa bisan unsang standard nga cmdlet, kini nagsuporta komon nga mga parameter (-Verbose, -ErrorAction, ug uban pa).
Hinumdumi nga ang "Enable" wala maghimo mga tigpaminaw sa HTTPS o mga sertipiko alang kanimo; kung kinahanglan nimo ang end-to-end encryption gikan sa pagsugod ug pag-authentication base sa mga sertipiko, i-configure ang tigpaminaw sa HTTPS ug i-validate ang CN/SAN batok sa ngalan nga imong gamiton sa -ComputerName.
Mapuslanon nga WinRM ug PowerShell Remoting Commands
Ang uban importante nga mga butang sa kilid sa higdaanan alang sa adlaw-adlaw nga kinabuhi:
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
Kung nagdumala sa Windows sa sukod, ang Remoting nagtugot kanimo sa pagbalhin gikan sa "computer-to-computer" ngadto sa usa ka deklaratibo ug luwas nga pamaagi. Pinaagi sa paghiusa sa padayon nga mga sesyon, lig-on nga pag-authenticate (Kerberos/HTTPS), gipugngan nga mga endpoint, ug tin-aw nga mga pagsubay alang sa mga diagnostic, nakuha nimo ang katulin ug kontrol nga walay pagsakripisyo sa seguridad o pag-audit. Kung imong i-standardize usab ang pagpaaktibo sa GPO ug pag-master sa mga espesyal nga kaso (TrustedHosts, double hop, mga sertipiko), makabaton ka usa ka lig-on nga hilit nga plataporma alang sa adlaw-adlaw nga operasyon ug pagtubag sa insidente.
Ang editor nga espesyalista sa teknolohiya ug mga isyu sa internet nga adunay labaw sa napulo ka tuig nga kasinatian sa lainlaing digital media. Nagtrabaho ko isip editor ug tiglalang sa sulod alang sa e-commerce, komunikasyon, online marketing ug mga kompanya sa advertising. Nakasulat usab ako sa mga website sa ekonomiya, pinansya ug uban pang mga sektor. Ang akong trabaho mao usab ang akong hilig. Karon, pinaagi sa akong mga artikulo sa Tecnobits, naningkamot ko nga tukion ang tanang balita ug bag-ong mga oportunidad nga gitanyag kanato sa kalibotan sa teknolohiya kada adlaw aron mapauswag ang atong kinabuhi.