Meriv çawa bi karanîna PowerShell Remoting PC-ya xwe ji têlefona xweya desta kontrol dike

Nûvekirina Dawîn: 15/10/2025

  • Ji dûr ve sazkirina bernameyê WinRM/WS-Man (HTTP/HTTPS) bi kar tîne û bi kontrolên ewlehiyê destûrê dide rûniştinên 1-bi-1, 1-bi-gelek, û domdar.
  • Enable-PSRemoting xizmetê, guhdaran, û dîwarê agir mîheng dike; HTTPS sertîfîkayek derbasdar û hevberdana CN/SAN hewce dike.
  • Encam bê serialîzekirin têne vegerandin; rêbaz di nav bloka skrîptê ya dûr de têne gazîkirin û xalên dawî yên xwerû ji bo wekîlkirina hûrgulî têne bikar anîn.
Dûrkirina PowerShell

Dibe ku hûn jixwe gelek karan bi PowerShell-ê li herêmê otomatîk bikin, lê hûn bi rastî li ku derê dikin? PowerShell Remoting cudahî çêdike Ew dema ku hûn fermanan li ser makîneyên dûr, çi çend bin çi bi sedan bin, bi awayekî înteraktîf an jî paralel dimeşînin. Ev teknoloji, ku ji Windows PowerShell 2.0-ê vir ve heye û ji 3.0-ê vir ve hatiye baştirkirin, li ser bingeha WS-Management (WinRM) ye û veguherîne. PowerShell di kanalek rêveberiya dûr de ya bihêz, pîvanbar û ewledar.

Berî her tiştî, girîng e ku meriv du ramanên sereke fam bike: cmdlet bi -Parametreya NavêKomputerê (mînak, Get-Process an Get-Service) ne rêya demdirêj e ku ji hêla Microsoft ve tê pêşniyar kirin, û PowerShell Remoting wekî "hack" kar nake. Bi rastî, pejirandina hevbeş ferz dike, qeydên venêrînê dike û rêzê li destûrên we yên asayî digire, bêyî ku bawernameyan hilîne an jî bi awayekî efsûnî tiştekî bi mafên super bixebitîne.

PowerShell Remoting çi ye û çima tê bikar anîn?

Con Dûrxistina PowerShell tu dikarî hema hema her fermanek ji dûr ve bicîh bîne ku hûn dikarin di danişînek herêmî de bidin destpêkirin, ji xizmetên lêpirsînê bigire heya bicihkirina mîhengan, û vê yekê li ser bi sedan komputeran di carekê de bikin. Berevajî cmdletên ku -ComputerName qebûl dikin (gelek DCOM/RPC bikar tînin), Remoting bi rêya WS-Man (HTTP/HTTPS) rêwîtiyê dike, ku ji bo dîwarê agir dostanetir e, destûrê dide paralelîzmê û kar ji mêvandara dûr re vediqetîne, ne ji xerîdar re.

Ev dibe sedema sê avantajên pratîkî: performansa çêtir di pêkanînên mezin de, kêmtir kêşan di nav toran de bi qaîdeyên sînorker û modelek ewlehiyê ya lihevhatî bi Kerberos/HTTPS re. Wekî din, bi ne girêdayîbûna bi her cmdletek re ji bo pêkanîna dûrahiya xwe, Remoting Ew ji bo her senaryoyek an rolê dixebite ku li cihê armancê peyda dibe.

Bi xwerû, Serverên Windows-ê yên vê dawiyê bi Remoting-a çalakkirî têne; di Windows 10/11 de tu wê çalak bikî bi cmdletek yekane. Û erê, hûn dikarin pêbaweriyên alternatîf, danişînên domdar, xalên dawî yên xwerû û hêj bêtir bikar bînin.

Têbînî: Dûrkirin ne hevwate ye bi vekirina her tiştî. Bi xwerû, tenê rêveberan Ew dikarin bi hev ve girêdayî bibin, û çalakî di bin nasnameya wan de têne bicîhanîn. Ger hûn hewceyê delegekirina hûrgulî bin, xalên dawî yên xwerû dihêlin hûn tenê fermanên bingehîn eşkere bikin.

Mîmariya Dûrkirina PowerShell

Çawa di hundir de dixebite: WinRM, WS-Man û port

PowerShell Remoting di modela xerîdar-server de dixebite. Xerîdar daxwazên WS-Management bi rêya HTTP (5985/TCP) an HTTPS (5986/TCP)Li ser hedefê, xizmeta Rêveberiya Ji Dûr a Windows (WinRM) guhdarî dike, xala dawî (mîhengkirina danişînê) çareser dike, û danişîna PowerShell di paşperdeyê de mêvandar dike (pêvajoya wsmprovhost.exe), vegerandinên rêzefîlmî ji xerîdar re di XML de bi rêya SOAP.

Cara yekem ku hûn Remoting çalak dikin, guhdarvan têne mîheng kirin, îstîsnaya dîwarê agir ê guncaw tê vekirin, û mîhengên danişînê têne afirandin. Ji PowerShell 6+, gelek guhertoyên cûda bi hev re hene, û Enable-PSRemoting Xalên dawî bi navên ku guhertoyê nîşan didin tomar dike (mînak, PowerShell.7 û PowerShell.7.xy).

Naveroka taybetî - Li vir bikirtînin  Ez çawa dikarim pirsgirêkên performansê bi Ewlekariya Înternetê ya Intego Mac re rast bikim?

Heke hûn tenê di hawîrdora xwe de destûr bidin HTTPS, hûn dikarin çêbikin guhdarvanê ewle bi sertîfîkayek ku ji hêla CA-yek pêbawer ve hatî dayîn (tê pêşniyar kirin). Wekî din, alternatîfek din jî ew e ku TrustedHosts bi awayekî sînorkirî û bi hişyariya xetereyê, ji bo senaryoyên koma xebatê an komputerên ne-domainê were bikar anîn.

Ji bîr mekin ku Powershell Remoting dikare bi cmdletên bi -ComputerName re hevdem be, lê Microsoft WS-Man pêş dixe wekî rêbaza standard û pêşerojê ya ji bo rêveberiya ji dûr ve.

Çalakkirina Dûrkirina PowerShell û Parametreyên Bikêrhatî

Li ser Windows-ê, tenê PowerShell wekî rêvebir vekin û mîheng bikin. Enable-PSRemotingSîstem WinRM-ê dide destpêkirin, destpêkirina otomatîk mîheng dike, guhdarvan çalak dike, û qaîdeyên dîwarê agir ên guncaw diafirîne. Li ser xerîdarên bi profîlek tora giştî, hûn dikarin bi zanebûn vê yekê bi -SkipNetworkProfileCheck (û paşê bi qaîdeyên taybetî xurt bikin):

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

 

Sîntaks jî destûrê dide, -Tesdîqkirin y -Çi bibe ji bo kontrola guhertinê. Bînin bîra xwe: Ew tenê li ser Windows-ê peyda dibe, û divê hûn konsola bilindkirî bixebitînin. Rêgezên ku hatine afirandin di navbera guhertoyên Server û Client de diguherin, nemaze li ser torên giştî, ku bi xwerû ew bi jêr-tora herêmî ve sînordar in heya ku hûn çarçovê berfireh nekin (mînakî, bi Set-NetFirewallRule).

Ji bo navnîşkirina mîhengên danişînên ku berê hatine tomarkirin û piştrastkirina ku her tişt amade ye, bikar bînin Get-PSSessionConfigurationEger xalên dawî yên PowerShell.x û Workflow xuya bibin, çarçoveya Remoting dixebite.

Danişîna ji dûr ve bi PowerShell re

Modên Bikaranînê: 1 ber 1, 1 ber gelek, û rûniştinên domdar

Dema ku hûn li ser yek komputerê konsolek înteraktîf hewce dikin, serî li Enter-PSSessionFerman dê xuya bibe, û her tiştê ku hûn pêk tînin dê biçe mêvandara dûr. Hûn dikarin bi Get-Credential re agahdariyên pêbaweriyê ji nû ve bikar bînin da ku ji dubarekirina domdar a wan dûr bisekinin:

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

Eger tiştê ku hûn lê digerin ew e ku fermanan di carekê de ji çend komputeran re bişînin, amûr ev e Fermandariya Invoke bi blokek skrîptê. Bi xwerû, ew heta 32 girêdanên hevdem dide destpêkirin (bi -ThrottleLimit ve tê guheztin). Encam wekî têne vegerandin tiştên bêserîalîzekirî (bêyî rêbazên "zindî"):

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

Pêdivî ye ku rêbazek mîna .Stop() an .Start() bê bikaranîn? Bike. di hundirê bloka skrîptê de di çarçoveya dûr de, ne objeya bêserîyalkirî ya herêmî, û bes e. Ger cmdletek wekhev hebe (Rawestandina-Xizmetê/Destpêkirina-Xizmetê), bi gelemperî ji bo zelaliyê karanîna wê çêtir e.

Ji bo dûrketina ji lêçûna destpêkirin û bidawîkirina danişînan li ser her bangekê, afirînek çêbikin PSSession-a domdar û wê di gelek gazîkirinan de ji nû ve bikar bîne. Ji bo çêkirina girêdanê New-PSSession bikar bîne, û ji bo ji nû ve bikaranîna tunelê Invoke-Command-Session bikar bîne. Dema ku te qedand, ji bîr neke ku wê bi Remove-PSSession bigire.

Serîalîzekirin, sînor û pratîkên baş

Hûrguliyek girîng: dema rêwîtiyê, tişt "+dikevin" û wekî ku digihîjin wêneyên bêserîalîzekirî, bi taybetmendiyan lê bê rêbazan. Ev bi zanebûn e û bandfirehiyê teserûf dike, lê ev tê vê wateyê ku hûn nekarin endamên ku mantiqê li ser kopiya herêmî bicîh tînin bikar bînin. Çareserî eşkere ye: wan rêbazan vexwînin. ji dûr ve û heke hûn tenê hewceyê hin zeviyan bin, bi Select-Object re fîltre bikin da ku daneyên kêmtir bişînin.

Naveroka taybetî - Li vir bikirtînin  Meriv çawa ji blokan û cezayên li ser TikTok dûr dikeve?

Di skrîptan de, ji Enter-PSSession (ku ji bo karanîna înteraktîf hatiye çêkirin) dûr bisekinin û bi blokên skrîptê re Invoke-Command bikar bînin. Ger hûn li bendê ne ku gelek bang werin kirin an jî hewce ne ku rewşê biparêzin (guhêrbar, modulên hawirdekirî), danişînên domdar bikar bînin û, ger pêkan be, wan bi Disconnect-PSSession/Connect-PSSession di PowerShell 3.0+ de veqetînin/ji nû ve girêdin.

Pejirandin, HTTPS, û Senaryoyên Derveyî Domainê

Di domainekê de, pejirandina xwemalî ye Kerberos Û her tişt diherike. Dema ku cîhaz nikare navê serverê verast bike, an jî hûn bi IP an jî nasnavekî CNAME ve girêdidin, hûn hewceyê yek ji van her du vebijarkan in: 1) Guhdarvan HTTPS bi sertîfîkayê re ji hêla CA-yek ku hûn pê bawer in ve hatî weşandin, an 2) cihê armancê (nav an IP) li TrustedHosts zêde bikin û bawernameyan bi kar bîneVebijêrka duyemîn pejirandina hevbeş ji bo wê mêvandarê neçalak dike, ji ber vê yekê ew çarçovê kêm dike heya asta herî kêm a pêwîst.

Sazkirina guhdarvanekî HTTPS sertîfîkayek (bi îdeal ji PKI an CA-yek giştî) hewce dike, ku di depoya tîmê de were sazkirin û bi WinRM ve were girêdan. Dûv re porta 5986/TCP di dîwarê agir de tê vekirin û ji xerîdar tê bikar anîn. -SSL bikar bîne di cmdletên dûr de. Ji bo rastkirina sertîfîkaya xerîdar, hûn dikarin sertîfîkayekê bi hesabê herêmî ve girêbidin û pê ve girêdayî bibin. -Şopa tiliyê ya sertîfîkayê (Enter-PSSession vê yekê rasterast qebûl nake; pêşî danişînê bi New-PSSession biafirîne.)

Gera duyemîn û şandina bawernameyan

"Double hop" a navdar dema ku, piştî girêdana bi serverekê re, hûn hewce ne ku ew server bigihîje serverekê xuya dike. çavkaniya sêyemîn li ser navê we (mînak, parvekirinek SMB). Du rêbaz hene ku hûn vê yekê destûr bidin: CredSSP û delegasyona Kerberos a bi sînorkirî ya li ser bingeha çavkaniyan.

Con CredSSP Hûn dihêlin ku xerîdar û navbeynkar bi eşkereyî bawernameyan bişînin, û hûn polîtîkayek (GPO) datînin da ku destûrê bidin delegekirinê ji bo komputerên taybetî. Mîhengkirina wê zû ye, lê kêmtir ewle ye ji ber ku bawername di nav tunela şîfrekirî de wekî nivîsa zelal diçin. Her gav çavkanî û cihên armanc sînordar bikin.

Alternatîfa bijarte di domainê de ev e şandeya Kerberos a bi sînor (delegasyona sînorkirî ya li ser bingeha çavkaniyan) di AD-ya nûjen de. Ev dihêle ku xala dawî ji bo karûbarên taybetî xwe bispêre wergirtina delegasyonê ji xala navîn, û di girêdana destpêkê de nasnameya we eşkere nake. Kontrolkerên domainê yên dawî û RSAT-yek nûvekirî hewce dike.

Xalên Dawî yên Xweser (Mîhengên Danişînê)

Yek ji gewherên Remoting ew e ku meriv dikare xalên girêdanê bi wan re tomar bike. şiyan û sînorên xwerûkirîPêşî hûn pelek bi New-PSSessionConfigurationFile (modulên ji bo pêşbarkirinê, fonksiyonên xuya, nasnav, ExecutionPolicy, LanguageMode, hwd.) çêdikin, û dûv re hûn wê bi Register-PSSessionConfiguration qeyd dikin, ku hûn dikarin saz bikin RunAsCredential û destûr (navrûya SDDL an GUI bi -ShowSecurityDescriptorUI).

Ji bo wekîlkirina ewle, tenê tiştên pêwîst bi -VisibleCmdlets/-VisibleFunctions eşkere bikin û ger guncaw be bi skrîptkirina azad neçalak bikin. Moda ZimanîZiman Sînorkirî an NoLanguage. Heke hûn FullLanguage bihêlin, kesek dikare blokek skrîptê bikar bîne da ku fermanên nederbasdar gazî bike, ku, bi RunAs re hevgirtî, ew ê bibe kunekVan xalên dawî bi firçeyek diranan a nazik sêwirînin û çarçoveya wan belge bikin.

Domain, GPO, û Groupware

Di AD de hûn dikarin Powershell Remoting bi pîvanek bi GPO bicîh bikin: destûrê bidin mîhengkirina otomatîkî ya guhdarên WinRM, xizmetê li ser Otomatîk saz bike, û îstîsnaya dîwarê agir biafirînin. Ji bîr mekin ku GPO mîhengan diguherînin, lê ew her gav xizmetê tavilê naxin; carinan hûn hewce ne ku gpupdate-yek ji nû ve bidin destpêkirin an jî bi zorê saz bikin.

Naveroka taybetî - Li vir bikirtînin  Meriv çawa şîfreya Gmail-a xwe nas bike

Di komên xebatê de (ne-domain), Remoting bi mîheng bike Enable-PSRemoting, TrustedHosts li ser xerîdar saz bike (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) û pêbaweriyên herêmî bikar bîne. Ji bo HTTPS-ê, tu dikarî sertîfîkayên xwe-îmzekirî saz bikî, her çend tê pêşniyar kirin ku CA-yek pêbawer û navê piştrast bike ku hûn ê di -ComputerName de di sertîfîkayê de bikar bînin (lihevhatina CN/SAN).

cmdletên sereke û rêzimanî

Çend komandoyan deverê vedişêrin %90ê senaryoyên rojaneJi bo çalakkirin/neçalakkirinê:

Enable-PSRemoting    
Disable-PSRemoting

Danişîna înteraktîf 1 ber 1 û derketin:

Enter-PSSession -ComputerName SEC504STUDENT 
Exit-PSSession

1 bo gelek, bi paralelîzm û bawernameyan:

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

Danişînên domdar û ji nû ve bikar bînin:

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

Testkirin û WinRM bikartê:

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

Nîşeyên pratîkî li ser dîwarê agir, tor û portan

Li ser komputerê hedef û li ser 5985/TCP ji bo HTTP û 5986/TCP ji bo HTTPS vekin. her dîwarekî agir ê navberîLi ser xerîdarên Windows-ê, Enable-PSRemoting ji bo profîlên domain û taybet qaîdeyan diafirîne; ji bo profîlên giştî, ew bi jêr-tora herêmî ve sînorkirî ye heya ku hûn çarçovê bi Set-NetFirewallRule -RemoteAddress Any (nirxek ku hûn dikarin li gorî rîska xwe binirxînin) neguherînin.

Heke hûn entegrasyonên SOAR/SIEM bikar tînin ku fermanên dûr dimeşînin (mînak ji XSOAR), pê ewle bin ku server heye Çareseriya DNS bo mêvandaran, girêdana bi 5985/5986 re, û bawernameyên bi destûrên herêmî yên têr. Di hin rewşan de, dibe ku pejirandina NTLM/Basic hewceyê sererastkirinê be (mînak, karanîna bikarhênerek herêmî di Basic de bi SSL).

Parametreyên Enable-PSRemoting (Kurteya Operasyonê)

-Piştrastkirin berî bicîhanînê piştrastkirinê dixwaze; -Bi zorê hişyariyan paşguh dike û guhertinên pêwîst bike; -SkipNetworkProfileCheck Remoting li ser torên xerîdar ên giştî çalak dike (bi xwerû bi jêr-tora herêmî ve sînorkirî ye); -WhatIf nîşanî we dide ka bêyî sepandina guhertinan dê çi bibe. Wekî din, mîna her cmdletek standard, ew piştgirî dike parametreyên hevpar (-Zehfbar, -Çalakiya Çewtiyê, hwd.).

Ji bîr meke ku "Çalak bike" guhdarên HTTPS an sertîfîkayan ji bo te çênake; heke ji destpêkê ve şîfrekirina serî-bi-serî û pejirandina li ser bingeha wê hewce bike belgeyên, guhdarvanê HTTPS mîheng bike û CN/SAN li hember navê ku hûn ê di -ComputerName de bikar bînin piştrast bike.

Fermanên Bikêrhatî yên Ji Bo Dûrxistina WinRM û PowerShell

Hin tiştên girîng ên kêleka nivînan bo jiyana rojane:

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

Dema ku hûn Windows-ê bi pîvanek mezin birêve dibin, Remoting dihêle hûn ji "komputer-bi-komputer" ber bi rêbazek îlankirî û ewle ve biçin. Bi hevberkirina danişînên domdar, pejirandina bihêz (Kerberos/HTTPS), xalên dawî yên sînorkirî, û şopên zelal ji bo teşhîsê, hûn lez û kontrolê bi dest dixin bêyî ku ewlehî an denetimê qurbanî bidin. Ger hûn çalakkirina GPO-yê jî standard bikin û rewşên taybet (TrustedHosts, ducarî, sertîfîka) bi dest bixin, hûn ê ji bo operasyonên rojane û bersiva bûyeran platformek dûr a zexm hebe.

malwareya nedîtî
Gotara peywendîdar:
Meriv çawa PC-ya xwe ji malwareyên nedîtbar ên wekî XWorm û NotDoor diparêze