- Remoting ngagunakeun WinRM/WS-Man (HTTP/HTTPS) sarta ngidinan 1-to-1, 1-to-loba, sarta sesi pengkuh kalayan kadali kaamanan.
- Aktipkeun-PSRemoting ngonpigurasikeun jasa, pendengar, sareng firewall; HTTPS merlukeun sertipikat valid tur cocog CN / SAN.
- Hasilna balik deserialized; métode anu invoked dina scriptblock jauh jeung titik tungtung custom dipaké pikeun delegasi rupa-grained.
Anjeun panginten parantos ngajadikeun otomatis seueur tugas sareng PowerShell sacara lokal, tapi dimana anjeun leres-leres PowerShell Remoting ngajadikeun bédana Éta nalika anjeun ngajalankeun paréntah dina mesin jauh, naha sababaraha atanapi ratusan, sacara interaktif atanapi paralel. Téknologi ieu, sayogi ti Windows PowerShell 2.0 sareng ditingkatkeun saprak 3.0, dumasar kana WS-Management (WinRM) sareng ngarobih. PowerShell dina saluran manajemén jauh anu kuat, skalabel sareng aman.
Anu mimiti, hal anu penting pikeun ngarti dua gagasan konci: cmdlets kalawan -Parameter Ngaran Komputer (Contona, Get-Process or Get-Service) sanes jalur jangka panjang anu disarankeun ku Microsoft, sareng PowerShell Remoting henteu tiasa dianggo salaku "hack". Kanyataanna, enforces silih auténtikasi, Inok log sareng hormat idin biasa anjeun, tanpa nyimpen kredensial atanapi sacara gaib ngajalankeun naon waé anu gaduh hak istimewa super.
Naon ari PowerShell Remoting sareng kunaon ngagunakeunana?
con Ngaleungitkeun PowerShell anjeun tiasa ngajalankeun ampir sagala paréntah jarak jauh nu bisa dijalankeun dina sési lokal, ti layanan querying nepi ka deploying konfigurasi, sarta ngalakukeun kitu dina ratusan komputer sakaligus. Teu kawas cmdlet nu narima -ComputerName (loba make DCOM / RPC), Remoting ngumbara via WS-Man (HTTP/HTTPS), Nu leuwih firewall-friendly, ngamungkinkeun parallelism jeung offloads karya ka host jauh, teu klien nu.
Ieu ditarjamahkeun kana tilu kaunggulan praktis: kinerja hadé dina executions masif, kurang gesekan dina jaringan kalawan aturan restrictive sarta modél kaamanan konsisten kalayan Kerberos / HTTPS. Saterusna, ku teu gumantung kana unggal cmdlet pikeun nerapkeun jauh sorangan, Remoting Gawéna pikeun naskah atanapi peran naon waé anu sayogi di tempat tujuan.
Sacara standar, Windows Server panganyarna datang sareng Remoting diaktipkeun; dina Windows 10/11 Anjeun ngaktipkeun eta kalawan cmdlet tunggal. Sareng enya, anjeun tiasa nganggo kredensial alternatip, sesi pengkuh, titik tungtung khusus, sareng seueur deui.
Catetan: Remoting henteu sinonim sareng muka sadayana. Sacara standar, ukur pangurus Aranjeunna tiasa nyambung, sareng tindakan dilaksanakeun dina jati dirina. Upami anjeun peryogi delegasi anu saé, titik tungtung khusus ngamungkinkeun anjeun ngan ukur ngalaan paréntah penting.

Kumaha gawéna di jero: WinRM, WS-Man jeung palabuhan
PowerShell Remoting jalan dina model klien-server. klien nu ngirimkeun requests WS-Manajemén via HTTP (5985/TCP) atanapi HTTPS (5986/TCP). Dina udagan, jasa Windows Remote Management (WinRM) ngadangukeun, ngabéréskeun titik akhir (konfigurasi sési), sareng host sési PowerShell di latar tukang (prosés wsmprovhost.exe), balik hasil serialized ka klien dina XML via SOAP.
Pertama kali Anjeun ngaktipkeun Remoting, listeners anu ngonpigurasi, iwal firewall luyu dibuka, sarta konfigurasi sési dijieun. Tina PowerShell 6+, sababaraha édisi hirup babarengan, sareng Aktipkeun-PSRemoting Ngadaptar titik tungtung kalawan ngaran nu ngagambarkeun versi (contona, PowerShell.7 jeung PowerShell.7.xy).
Lamun ngan ngidinan HTTPS di lingkungan Anjeun, Anjeun bisa nyieun hiji pangdéngé aman kalawan sertipikat dikaluarkeun ku CA dipercaya (dianjurkeun). Alternatipna, alternatif séjén nyaéta ngagunakeun TrustedHosts dina cara kawates, sadar resiko, pikeun skenario workgroup atawa komputer non-domain.
Catet yén Powershell Remoting tiasa hirup babarengan sareng cmdlet sareng -ComputerName, tapi Microsoft ngadorong WS-Man salaku cara standar sareng masa depan pikeun administrasi jauh.
Aktipkeun PowerShell Remoting sareng Parameter Mangpaat
Dina Windows, buka PowerShell salaku administrator sareng jalankeun Aktipkeun-PSRemoting. Sistim nu dimimitian WinRM, ngonpigurasikeun autostart, sangkan pangdéngé, sarta nyieun aturan firewall luyu. Dina klien sareng profil jaringan umum, anjeun tiasa ngahaja ngijinkeun ieu -SkipNetworkProfileCheck (lajeng nguatkeun ku aturan husus):
Enable-PSRemoting
Enable-PSRemoting -Force
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Sintaksis ogé ngamungkinkeun, - Konfirmasi y -Kumaha upami pikeun kontrol robah. Inget: Ieu ngan sadia dina Windows, jeung anjeun kudu ngajalankeun konsol elevated. Aturan anu diciptakeun béda antara édisi Server sareng Klién, khususna dina jaringan umum, dimana sacara standar dugi ka subnet lokal kecuali anjeun ngalegaan wengkuan (contona, nganggo Set-NetFirewallRule).
Pikeun daptar konfigurasi sési anu parantos dirékam sareng mastikeun yén sadayana parantos siap, paké Meunang-PSSessionConfigurationUpami titik tungtung PowerShell.x sareng Workflow némbongan, kerangka Remoting tiasa dianggo.

Modeu pamakean: 1 ka 1, 1 ka seueur, sareng sesi pengkuh
Nalika anjeun peryogi konsol interaktif dina komputer tunggal, giliran Lebetkeun-PSSessionAjakan bakal muncul, sareng sadaya anu anjeun laksanakeun bakal angkat ka host jauh. Anjeun tiasa nganggo deui kredensial sareng Get-Credential pikeun ngahindarkeun terus-terusan ngalebetkeun deui:
$cred = Get-Credential
Enter-PSSession -ComputerName dc01 -Credential $cred
Exit-PSSession
Upami anu anjeun milarian nyaéta ngirim paréntah ka sababaraha komputer sakaligus, alat éta Nu dipake-Komando kalawan scriptblock a. Sacara standar, éta ngajalankeun nepi ka 32 sambungan sakaligus (adjustable kalawan -ThrottleLimit). Hasilna dipulangkeun salaku objék deserialized (tanpa metode "hirup"):
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service -Name W32Time } -Credential $cred
Kudu nganuhunkeun metoda kawas .Stop () atawa .Start ()? Ngalakukeun eta. jero scriptblock dina konteks jauh, teu objék deserialized lokal, tur éta. Upami aya hiji cmdlet sarimbag (Stop-Service/Start-Service), éta biasana leuwih hade ngagunakeun eta pikeun kajelasan.
Pikeun ngahindarkeun biaya ngamimitian sareng ngarengsekeun sesi dina unggal telepon, jieun a Pengkuh PSSession sareng dianggo deui dina sababaraha invocations. Anggo New-PSSession pikeun nyiptakeun sambungan, sareng nganggo Invoke-Command-Session pikeun nganggo deui torowongan. Tong hilap tutupna nganggo Hapus-PSSession sawaktos Anjeun tos rengse.
Serialization, wates jeung prakték alus
Hiji jéntré penting: nalika iinditan, objék "+ rarata" na anjog salaku snapshots deserialized, kalawan sipat tapi euweuh métode. Ieu ngahaja sarta ngaheéat rubakpita, tapi hartina anjeun teu bisa make anggota nu ngaéksekusi logika (siga .Kill ()) dina salinan lokal. Solusina écés: paké metodeu éta. jarak jauh sarta lamun ukur perlu widang nu tangtu, filter kalawan Pilih-Objék pikeun ngirim kirang data.
Dina naskah, ulah Lebetkeun-PSSession (dimaksudkeun pikeun pamakéan interaktif) jeung make Invoke-Command kalawan blok Aksara. Upami anjeun ngantisipasi sababaraha telepon atanapi kedah ngawétkeun kaayaan (variabel, modul impor), ngagunakeun sési pengkuh jeung, lamun lumaku, pegatkeun / nyambungkeun aranjeunna kalayan Pegatkeun-PSSession / Sambungkeun-PSSession di PowerShell 3.0+.
Auténtikasi, HTTPS, sareng Skenario Pareum-Domain
Dina domain a, auténtikasi asli nyaéta Kerberos Jeung sagalana ngalir. Nalika alat teu tiasa pariksa nami server, atanapi anjeun nyambung ka CNAME IP atanapi alias, anjeun peryogi salah sahiji tina dua pilihan ieu: 1) Pangdéngé HTTPS kalawan sertipikat dikaluarkeun ku CA nu dipercaya, atawa 2) nambahkeun tujuan (ngaran atawa IP) ka TrustedHosts na ngagunakeun credentialsPilihan kadua nganonaktipkeun auténtikasi silih pikeun host éta, ku kituna ngirangan ruang lingkup ka minimum anu diperyogikeun.
Nyetel hiji pangdéngé HTTPS merlukeun sertipikat (idealna ti PKI Anjeun atawa CA publik), dipasang di toko tim tur kabeungkeut WinRM. Port 5986/TCP teras dibuka dina firewall sareng, ti klien, dianggo. -UseSSL dina cmdlet jauh. Pikeun auténtikasi sertipikat klien, anjeun tiasa peta sertipikat kana akun lokal sareng nyambungkeun -SertifikatJempol (Enter-PSSession henteu nampi ieu langsung; jieun sési heula sareng New-PSSession.)
The hop kadua jeung delegasi tina credentials
The kawentar "double hop" némbongan nalika, sanggeus nyambungkeun ka server a, anjeun peryogi server nu aksés a sumberdaya katilu atas nama anjeun (contona, saham SMB). Aya dua pendekatan pikeun ngamungkinkeun ieu: CredSSP sareng delegasi Kerberos anu dibatesan sumber daya.
con CredSSP Anjeun ngaktifkeun klien sareng perantara pikeun sacara eksplisit ngawakilan kredensial, sareng anjeun netepkeun kawijakan (GPO) pikeun ngamungkinkeun delegasi ka komputer khusus. Gancang pikeun ngonpigurasikeun, tapi kirang aman sabab kredensial ngarambat dina téks anu jelas dina torowongan énkripsi. Salawasna ngawatesan sumber jeung tujuan.
Alternatif anu dipikaresep dina domain nyaéta konstrain delegasi Kerberos (delegasi konstrain dumasar-sumberdaya) dina AD modern. Hal ieu ngamungkinkeun titik tungtung pikeun ngandelkeun narima delegasi ti middlepoint pikeun layanan husus, Ngahindarkeun exposing idéntitas anjeun dina sambungan awal. Merlukeun controller domain panganyarna na RSAT diropéa.
Titik Tungtung Kustom (Konfigurasi Sesi)
Salah sahiji gems of Remoting nyaéta bisa ngadaptar titik sambungan kalawan kamampuhan tailored sarta wates. Mimiti anjeun ngahasilkeun file sareng New-PSSessionConfigurationFile (modul pikeun dimuat sateuacana, fungsi anu katingali, aliases, ExecutionPolicy, LanguageMode, jsb), teras anjeun ngadaptarkeun kana Register-PSSessionConfiguration, dimana anjeun tiasa nyetél RunAsCredential jeung idin (SDDL atanapi GUI panganteur kalawan -ShowSecurityDescriptorUI).
Pikeun delegasi anu aman, ngan ukur terangkeun naon anu diperyogikeun ku -VisibleCmdlets/-VisibleFunctions sareng mareuman skrip gratis upami cocog sareng Mode Basa DiwatesanBasa atawa NoBasa. Lamun anjeun ninggalkeun FullLanguage, batur bisa ngagunakeun blok skrip pikeun maréntahkeun unexposed paréntah, nu, digabungkeun jeung RunAs, eta bakal liang. Rancang titik tungtung ieu ku sisir huntu anu alus sareng dokumén wengkuanna.
Domain, GPO, sareng Groupware
Dina AD anjeun tiasa nyebarkeun Powershell Remoting dina skala sareng GPO: ngidinan konfigurasi otomatis pamirsa WinRM, setel jasa ka Otomatis, sarta nyieun iwal firewall. Inget yen GPOs ngarobah setelan, tapi maranéhna teu salawasna ngahurungkeun jasa instan; sakapeung anjeun kedah balikan deui atanapi maksakeun gpupdate.
Dina workgroups (non-domain), ngonpigurasikeun Remoting kalawan Aktipkeun-PSRemoting, Setel TrustedHosts dina klien (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) jeung make credentials lokal. Pikeun HTTPS, anjeun tiasa masang sertipikat anu ditandatanganan diri, sanaos disarankeun nganggo CA anu dipercaya sareng validasi ngaran nu bakal Anjeun pake dina -ComputerName dina sertipikat (CN / SAN cocog).
Cmdlet konci sareng sintaksis
Sakeupeul komando nutupan 90% tina skenario poean. Pikeun ngaktipkeun / nganonaktipkeun:
Enable-PSRemoting
Disable-PSRemoting
sési interaktif 1 ka 1 sareng kaluar:
Enter-PSSession -ComputerName SEC504STUDENT
Exit-PSSession
1 nepi ka loba, kalayan paralelisme sareng kapercayaan:
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service W32Time } -Credential $cred
sési pengkuh sareng dianggo deui:
$s = New-PSSession -ComputerName localhost -ConfigurationName PowerShell.7
Invoke-Command -Session $s -ScriptBlock { $PSVersionTable }
Remove-PSSession $s
Nguji sareng WinRM Mangpaat:
Test-WSMan -ComputerName host
winrm get winrm/config
winrm enumerate winrm/config/listener
winrm quickconfig -transport:https
Catetan praktis dina firewall, jaringan sareng palabuhan
Buka 5985/TCP pikeun HTTP sareng 5986/TCP pikeun HTTPS dina komputer target sareng on sagala firewall panengahDina klien Windows, Aktipkeun-PSRemoting nyiptakeun aturan pikeun domain sareng profil pribadi; pikeun propil umum, éta dugi ka subnet lokal iwal mun ngaropéa wengkuan kalawan Set-NetFirewallRule -RemoteAddress Sakur (nilai bisa assess dumasar kana resiko Anjeun).
Upami anjeun nganggo integrasi SOAR/SIEM anu ngajalankeun paréntah jauh (misalna tina XSOAR), pastikeun server gaduh resolusi DNS ka sarwa, konektipitas ka 5985/5986, sarta Kapercayaan kalawan idin lokal cukup. Dina sababaraha kasus, NTLM / auténtikasi Dasar bisa merlukeun adjustment (misalna ngagunakeun pamaké lokal dina Dasar kalawan SSL).
Aktipkeun-PSRemoting Parameter (Ringkesan Operasional)
-Konfirmasi nyuhunkeun konfirmasi sateuacan dieksekusi; - Angkatan teu maliré kana pépéling tur jieun perobahan nu diperlukeun; -SkipNetworkProfileCheck ngamungkinkeun Remoting dina jaringan klien umum (dugi sacara standar pikeun subnet lokal); -WhatIf nembongkeun maneh naon anu bakal kajadian tanpa nerapkeun parobahan. Salaku tambahan, sapertos cmdlet standar, éta ngadukung parameter umum (-Verbose, -ErrorAction, jsb).
Inget yen "Aktipkeun" teu nyieun HTTPS listeners atawa sertipikat pikeun anjeun; lamun perlu enkripsi tungtung-to-tungtung ti mimiti jeung auténtikasi dumasar kana sertipikat, Konpigurasikeun pangdéngé HTTPS sarta sangkan méré konfirmasi CN / SAN ngalawan ngaran anjeun bakal make di -ComputerName.
Mangpaat WinRM na PowerShell Remoting Paréntah
sababaraha item bedside penting pikeun kahirupan sapopoe:
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
Nalika ngatur Windows dina skala, Remoting ngamungkinkeun anjeun ngalih tina "komputer-ka-komputer" kana pendekatan déklaratif sareng aman. Ku ngagabungkeun sesi pengkuh, auténtikasi kuat (Kerberos/HTTPS), titik tungtung diwatesan, sarta ngambah jelas pikeun diagnostics, Anjeun mangtaun speed jeung kontrol tanpa sacrificing kaamanan atawa auditing. Upami anjeun ogé ngabakukeun aktivasina GPO sareng ngawasaan kasus khusus (TrustedHosts, hop ganda, sertipikat), anjeun bakal gaduh platform jauh anu padet pikeun operasi sapopoé sareng réspon kajadian.
Éditor khusus dina téknologi sareng masalah internét kalayan pangalaman langkung ti sapuluh taun dina média digital anu béda. Kuring parantos damel salaku redaktur sareng panyipta kontén pikeun e-commerce, komunikasi, pamasaran online sareng perusahaan iklan. Kuring ogé geus ditulis dina ékonomi, keuangan sarta situs web séktor séjén. Karya kuring ogé karep kuring. Ayeuna, ngaliwatan artikel abdi di Tecnobits, Kuring nyobian ngajajah sagala warta sarta kasempetan anyar nu dunya téhnologi nawarkeun kami unggal dintenna pikeun ngaronjatkeun kahirupan urang.