Bii o ṣe le ṣakoso PC rẹ lati inu foonu alagbeka rẹ nipa lilo jijinna PowerShell

Imudojuiwọn to kẹhin: 15/10/2025

  • Yiyọ kuro nlo WinRM/WS-Eniyan (HTTP/HTTPS) ati gba 1-si-1, 1-si-ọpọlọpọ, ati awọn akoko itẹramọṣẹ pẹlu awọn iṣakoso aabo.
  • Muu ṣiṣẹ-PSRemoting ṣe atunto iṣẹ naa, awọn olutẹtisi, ati ogiriina; HTTPS nilo ijẹrisi to wulo ati ibaamu CN/SAN.
  • Awọn esi ti wa ni pada deserialized; awọn ọna ti wa ni invoked laarin awọn latọna scriptblock ati aṣa endpoints ti wa ni lo fun itanran-grained aṣoju.
Gbigba agbara Shell

O le ṣe adaṣe ọpọlọpọ awọn iṣẹ ṣiṣe tẹlẹ pẹlu PowerShell ni agbegbe, ṣugbọn nibo ni o ṣe gaan PowerShell Remote ṣe iyatọ O jẹ nigbati o nṣiṣẹ awọn aṣẹ lori awọn ẹrọ latọna jijin, boya diẹ tabi awọn ọgọọgọrun, ni ibaraenisọrọ tabi ni afiwe. Imọ-ẹrọ yii, ti o wa lati Windows PowerShell 2.0 ati imudara lati 3.0, da lori WS-Management (WinRM) ati awọn iyipada PowerShell ni a logan, ti iwọn ati ki o ni aabo latọna jijin ikanni isakoso.

Ni akọkọ, o ṣe pataki lati ni oye awọn imọran bọtini meji: cmdlets pẹlu -Computer Name paramita (fun apẹẹrẹ, Gba-ilana tabi Iṣẹ-Gba) kii ṣe ọna pipẹ ti Microsoft ṣeduro, ati Remote PowerShell ko ṣiṣẹ bi “gige.” Ni pato, enforces pelu owo ìfàṣẹsí, Ṣiṣayẹwo awọn akọọlẹ ati bọwọ fun awọn igbanilaaye igbagbogbo rẹ, laisi titoju awọn iwe-ẹri tabi ṣiṣiṣẹsẹhin ohunkohun pẹlu awọn anfani nla.

Kini Remoting PowerShell ati kilode ti o lo?

Pẹ̀lú Yiyọ kuro ni PowerShell agolo ṣiṣẹ fere eyikeyi aṣẹ latọna jijin pe o le ṣe ifilọlẹ ni igba agbegbe kan, lati awọn iṣẹ ibeere si gbigbe awọn atunto, ati ṣe bẹ lori awọn ọgọọgọrun awọn kọnputa ni ẹẹkan. Ko dabi cmdlets ti o gba -ComputerName (ọpọlọpọ lo DCOM/RPC), yiyọ kuro irin-ajo nipasẹ WS-Man (HTTP/HTTPS), eyi ti o jẹ diẹ ogiriina-ore, faye gba parallelism ati offloads ṣiṣẹ si awọn latọna ogun, ko ni ose.

Eyi tumọ si awọn anfani ilowo mẹta: iṣẹ ṣiṣe ti o dara julọ ni awọn ipaniyan nla, kere edekoyede ni awọn nẹtiwọki pẹlu awọn ofin ihamọ ati awoṣe aabo ni ibamu pẹlu Kerberos/HTTPS. Pẹlupẹlu, nipa ko da lori cmdlet kọọkan lati ṣe isakoṣo latọna jijin tirẹ, Latọna jijin O ṣiṣẹ fun eyikeyi iwe afọwọkọ tabi ipa ti o wa ni ibi-ajo.

Nipa aiyipada, Awọn olupin Windows aipẹ wa pẹlu Iṣiṣẹ Latọna jijin; ninu Windows 10/11 o mu ṣiṣẹ pẹlu cmdlet kan. Ati bẹẹni, o le lo awọn iwe-ẹri omiiran, awọn akoko itẹramọṣẹ, awọn aaye ipari aṣa, ati diẹ sii.

Akiyesi: Yiyọ kuro ko jẹ bakanna pẹlu ṣiṣi ohun gbogbo. Nipa aiyipada, nikan alakoso Wọn le sopọ, ati awọn iṣẹ ṣiṣe labẹ idanimọ wọn. Ti o ba nilo aṣoju ti o dara, awọn aaye ipari aṣa gba ọ laaye lati ṣafihan awọn aṣẹ pataki nikan.

PowerShell Remote Architecture

Bi o ti ṣiṣẹ inu: WinRM, WS-Eniyan ati awọn ibudo

PowerShell Remoting ṣiṣẹ ni awoṣe olupin-olupin. Awọn ose rán WS-Management ibeere nipasẹ HTTP (5985/TCP) tabi HTTPS (5986/TCP). Lori ibi-afẹde, iṣẹ iṣakoso Latọna jijin Windows (WinRM) tẹtisi, yanju aaye ipari (iṣeto igba), ati gbalejo igba PowerShell ni abẹlẹ (ilana wmprovhost.exe), pada serialized esi si awọn ose ni XML nipasẹ SOAP.

Ni igba akọkọ ti o mu Gbigbasilẹ ṣiṣẹ, awọn olutẹtisi ti tunto, imukuro ogiriina ti o yẹ ti ṣii, ati awọn atunto igba ti ṣẹda. Lati PowerShell 6+, ọpọlọpọ awọn atẹjade wa papọ, ati Ṣiṣẹ-PSRemoting Ṣe iforukọsilẹ awọn aaye ipari pẹlu awọn orukọ ti o ṣe afihan ẹya (fun apẹẹrẹ, PowerShell.7 ati PowerShell.7.xy).

Iyasoto akoonu - Tẹ Nibi  Báwo ni a ṣe lè mọ̀ bóyá irọ́ ni iṣẹ́ kan?

Ti o ba gba HTTPS laaye nikan ni agbegbe rẹ, o le ṣẹda kan alailewu gbo pẹlu ijẹrisi ti a fun nipasẹ CA ti o gbẹkẹle (a ṣeduro). Ni omiiran, omiiran miiran ni lati lo TrustedHosts ni opin, ọna ti o mọ eewu, fun awọn oju iṣẹlẹ ẹgbẹ iṣẹ tabi awọn kọnputa ti kii ṣe aaye.

Akiyesi pe Powershell Remoting le wa ni ibagbepo pẹlu cmdlets pẹlu -ComputerName, ṣugbọn Microsoft titari WS-Eniyan bi boṣewa ati ọna ẹri-ọjọ iwaju fun iṣakoso latọna jijin.

Muu Iyipada PowerShell ṣiṣẹ ati Awọn paramita Wulo

Lori Windows, kan ṣii PowerShell bi alakoso ati ṣiṣe Ṣiṣẹ-PSRemoting. Eto naa bẹrẹ WinRM, tunto autostart, jẹ ki olutẹtisi ṣiṣẹ, ati ṣẹda awọn ofin ogiriina ti o yẹ. Lori awọn alabara pẹlu profaili nẹtiwọọki gbogbogbo, o le mọọmọ gba eyi pẹlu -SkipNetworkProfileCheck (ati lẹhinna fikun pẹlu awọn ofin kan pato):

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

 

Sintasi tun gba laaye, - Jẹrisi y -Boya ti fun iṣakoso iyipada. Ranti: O wa lori Windows nikan, ati awọn ti o gbọdọ ṣiṣe awọn pele console. Awọn ofin ti a ṣẹda yatọ laarin olupin ati awọn ẹda Onibara, ni pataki lori awọn nẹtiwọọki gbogbogbo, nibiti nipasẹ aiyipada wọn ni opin si subnet agbegbe ayafi ti o ba faagun iwọn naa (fun apẹẹrẹ, pẹlu Ṣeto-NetFirewallRule).

Lati ṣe atokọ awọn atunto igba ti o ti gbasilẹ tẹlẹ ati jẹrisi pe ohun gbogbo ti ṣetan, lo Gba-PSSessionConfigurationTi PowerShell.x ati awọn aaye ipari ṣiṣan iṣẹ ba han, ilana Isọdọtun naa n ṣiṣẹ.

Igba jijin pẹlu PowerShell

Awọn ipo lilo: 1 si 1, 1 si ọpọlọpọ, ati awọn akoko itẹramọṣẹ

Nigbati o ba nilo console ibanisọrọ lori kọnputa kan, yipada si Tẹ-PSSessionAwọn tọ yoo han, ati ohun gbogbo ti o ṣiṣẹ yoo lọ si awọn latọna ogun. O le tun lo awọn iwe-ẹri pẹlu Gba-Ẹri lati yago fun titẹ wọn nigbagbogbo:

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

Ti ohun ti o ba n wa ni lati fi awọn aṣẹ ranṣẹ si awọn kọnputa pupọ ni ẹẹkan, ohun elo naa jẹ Ifiwe-aṣẹ pẹlu kan scriptblock. Nipa aiyipada, o ṣe ifilọlẹ awọn ọna asopọ 32 nigbakanna (atunṣe pẹlu -ThrottleLimit). Awọn esi ti wa ni pada bi deserialized ohun (laisi awọn ọna “ifiwe”):

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

Nilo lati pe ọna kan bii .Duro () tabi .Bẹrẹ ()? Ṣe o. inu awọn scriptblock ni awọn latọna o tọ, ko agbegbe deserialized ohun, ati awọn ti o. Ti cmdlet deede ba wa (Iṣẹ Duro/Iṣẹ Ibẹrẹ), o dara nigbagbogbo lati lo fun mimọ.

Lati yago fun idiyele ti ibẹrẹ ati ipari awọn akoko lori ipe kọọkan, ṣẹda a PSSession ti o duro ki o si tun lo kọja ọpọ epe. Lo PSSession Tuntun lati ṣẹda asopọ, ati lo Invoke-Command-Session lati tun lo oju eefin naa. Maṣe gbagbe lati pa pẹlu Yọ-PSSession nigbati o ba ti ṣetan.

Serialization, ifilelẹ lọ ati awọn ti o dara ise

Alaye pataki kan: nigbati o ba nrin irin ajo, awọn nkan "+ fifẹ" ati de bi deserialized snapshots, pẹlu awọn ohun-ini ṣugbọn ko si awọn ọna. Eyi jẹ moomo ati fifipamọ bandiwidi, ṣugbọn o tumọ si pe o ko le lo awọn ọmọ ẹgbẹ ti o ṣiṣẹ ọgbọn (bii .Kill ()) lori ẹda agbegbe. Ojutu jẹ kedere: pe awọn ọna yẹn. latọna jijin ati pe ti o ba nilo awọn aaye kan nikan, ṣe àlẹmọ pẹlu Yan-Nkan lati firanṣẹ data kere si.

Iyasoto akoonu - Tẹ Nibi  Bii o ṣe le ṣatunṣe aṣiṣe 0x80070006 ni Windows 11: Itọsọna pipe

Ninu awọn iwe afọwọkọ, yago fun Tẹ-PSSession (ti a pinnu fun lilo ibaraenisepo) ati lo Invoke-Command pẹlu awọn bulọọki iwe afọwọkọ. Ti o ba ni ifojusọna awọn ipe pupọ tabi nilo lati tọju ipo (awọn oniyipada, awọn modulu ti a ko wọle), lo jubẹẹlo igba ati, ti o ba wulo, ge asopọ/tun wọn pọ pẹlu Ge-PSSession/Sopọ-PSSession ni PowerShell 3.0+.

Ijeri, HTTPS, ati Awọn oju iṣẹlẹ Aisi-ašẹ

Ninu agbegbe kan, ijẹrisi abinibi jẹ Àwọn Kerberos Ati ohun gbogbo nṣàn. Nigbati ẹrọ ko ba le rii daju orukọ olupin, tabi o sopọ si CNAME IP tabi inagijẹ, o nilo ọkan ninu awọn aṣayan meji wọnyi: 1) Olutẹtisi HTTPS pẹlu ijẹrisi ti oniṣowo nipasẹ CA ti o gbẹkẹle, tabi 2) ṣafikun opin irin ajo (orukọ tabi IP) si TrustedHosts ati lo awọn iwe-ẹriAṣayan keji npa ifitonileti ibaramu fun agbalejo yẹn, nitorinaa o dinku iwọn naa si o kere julọ pataki.

Ṣiṣeto olutẹtisi HTTPS nilo ijẹrisi kan (apẹrẹ lati PKI rẹ tabi CA ti gbogbo eniyan), ti fi sori ẹrọ ni ile itaja ẹgbẹ ati sopọ si WinRM. Port 5986/TCP lẹhinna ṣii ni ogiriina ati, lati ọdọ alabara, lo. -Lo SSL ni awọn cmdlets latọna jijin. Fun ijẹrisi alabara, o le ya aworan iwe-ẹri si akọọlẹ agbegbe kan ati sopọ pẹlu -Ijẹrisi Thumbprint (Titẹ sii-PSSession ko gba eyi taara; ṣẹda igba akọkọ pẹlu Tuntun-PSSession.)

Hop keji ati aṣoju ti awọn iwe-ẹri

Olokiki “hop ilọpo meji” yoo han nigbati, lẹhin asopọ si olupin kan, o nilo olupin yẹn lati wọle si a kẹta awọn oluşewadi fun ọ (fun apẹẹrẹ, ipin SMB kan). Awọn ọna meji lo wa lati gba eyi laaye: CredSSP ati awọn aṣoju Kerberos ti o da lori orisun orisun.

Pẹ̀lú CredSSP O jẹ ki alabara ati agbedemeji le ṣe aṣoju awọn iwe-ẹri ni gbangba, ati pe o ṣeto eto imulo kan (GPO) lati gba aṣoju laaye si awọn kọnputa kan pato. O yara lati tunto, ṣugbọn ko ni aabo nitori awọn iwe-ẹri rin irin-ajo ni ọrọ mimọ laarin eefin ti paroko. Nigbagbogbo idinwo awọn orisun ati awọn ibi.

Yiyan ti o fẹ ni ašẹ ni rọ awọn aṣoju Kerberos (aṣoju ti o da lori orisun orisun) ni AD ode oni. Eyi ngbanilaaye aaye ipari lati gbẹkẹle gbigba aṣoju lati aarin aarin fun awọn iṣẹ kan pato, yago fun ṣiṣafihan idanimọ rẹ lori asopọ akọkọ. Nilo awọn oludari agbegbe aipẹ ati imudojuiwọn RSAT.

Awọn aaye Ipari Aṣa (Awọn atunto Igba)

Ọkan ninu awọn fadaka ti Remoting ni anfani lati forukọsilẹ awọn aaye asopọ pẹlu sile agbara ati ifilelẹ. Ni akọkọ o ṣe agbekalẹ faili kan pẹlu New-PSSessionConfigurationFile (awọn modulu lati ṣaju, awọn iṣẹ ti o han, awọn inagijẹ, Ilana ipaniyan, Ipo Ede, ati bẹbẹ lọ), lẹhinna o forukọsilẹ pẹlu Iforukọsilẹ-PSSessionConfiguration, nibi ti o ti le ṣeto RunAsCredential ati awọn igbanilaaye (SDDL tabi GUI ni wiwo pẹlu -ShowSecurityDescriptorUI).

Fun aṣoju ailewu, ṣafihan ohun ti o ṣe pataki nikan pẹlu -VisibleCmdlets/-VisibleFunctions ati mu iwe afọwọkọ ọfẹ kuro ti o ba yẹ pẹlu Èdè Idilọwọ Ede tabi NoLanguage. Ti o ba lọ kuro ni FullLanguage, ẹnikan le lo idinamọ iwe afọwọkọ lati pe awọn aṣẹ ti ko han, eyiti, ni idapo pẹlu RunAs, yoo jẹ iho. Ṣe apẹrẹ awọn aaye ipari wọnyi pẹlu comb ehin itanran kan ki o ṣe akosile iwọn wọn.

Awọn ibugbe, GPOs, ati Groupware

Ni AD o le mu Ilọkuro Powershell ṣiṣẹ ni iwọn pẹlu GPO: gba iṣeto ni aifọwọyi ti awọn olutẹtisi WinRM, ṣeto iṣẹ naa si Aifọwọyi, ki o si ṣẹda awọn ogiriina sile. Ranti pe awọn GPO yi awọn eto pada, ṣugbọn wọn ko nigbagbogbo tan iṣẹ lesekese; nigbami o nilo lati tun bẹrẹ tabi fi agbara mu gpupdate kan.

Iyasoto akoonu - Tẹ Nibi  Cómo quitar Delta Homes Chrome

Ni awọn ẹgbẹ iṣẹ (ti kii ṣe-ašẹ), tunto Remoteing pẹlu Ṣiṣẹ-PSRemoting, ṣeto TrustedHosts sori alabara (winrm ṣeto winrm/config/client @{TrustedHosts=»host1,host2″}) ati lo awọn iwe eri agbegbe. Fun HTTPS, o le gbe awọn iwe-ẹri ti o fowo si, botilẹjẹpe o gba ọ niyanju lati lo CA ti o gbẹkẹle ati fọwọsi orukọ ti o yoo lo ni -ComputerName ni ijẹrisi (CN/SAN baramu).

Awọn bọtini cmdlets ati sintasi

A iwonba ti Commandos bo awọn 90% ti awọn oju iṣẹlẹ ojoojumọ. Lati mu ṣiṣẹ/danu ṣiṣẹ:

Enable-PSRemoting    
Disable-PSRemoting

Ibanisọrọ igba 1 si 1 ati jade:

Enter-PSSession -ComputerName SEC504STUDENT 
Exit-PSSession

1 si ọpọlọpọ, pẹlu afiwera ati awọn ẹri:

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

Awọn akoko ti o tẹsiwaju ati tun lo:

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

Idanwo ati WinRM Wulo:

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

Awọn akọsilẹ iṣe lori ogiriina, nẹtiwọki ati awọn ebute oko oju omi

Ṣii 5985/TCP fun HTTP ati 5986/TCP fun HTTPS lori kọnputa ibi-afẹde ati lori eyikeyi agbedemeji ogiriinaLori awọn onibara Windows, Ṣiṣe-PSRemoting ṣẹda awọn ofin fun agbegbe ati awọn profaili ikọkọ; fun awọn profaili ti gbogbo eniyan, o ni opin si subnet agbegbe ayafi ti o ba yipada iwọn pẹlu Ṣeto-NetFirewallRule -RemoteAddress Eyikeyi (iye ti o le ṣe ayẹwo ti o da lori eewu rẹ).

Ti o ba lo awọn iṣọpọ SOAR/SIEM ti o nṣiṣẹ awọn aṣẹ latọna jijin (fun apẹẹrẹ lati XSOAR), rii daju pe olupin naa ni Ipinnu DNS si awọn ọmọ-ogun, Asopọmọra si 5985/5986, ati awọn iwe-ẹri pẹlu awọn igbanilaaye agbegbe ti o to. Ni awọn igba miiran, NTLM/Ijeri Ipilẹ le nilo atunṣe (fun apẹẹrẹ, lilo olumulo agbegbe ni Ipilẹ pẹlu SSL).

Mu ṣiṣẹ-PSRemoting paramita (Lakotan Iṣẹ)

-jẹrisi awọn ibeere fun ìmúdájú ṣaaju ṣiṣe; -Agbofinro foju awọn ikilo ki o si ṣe awọn pataki ayipada; -SkipNetworkProfileCheck ngbanilaaye Yiyọkuro lori awọn nẹtiwọọki alabara ti gbogbo eniyan (opin nipasẹ aiyipada si subnet agbegbe); - WhatIf fihan ọ ohun ti yoo ṣẹlẹ laisi lilo awọn ayipada. Ni afikun, bii cmdlet boṣewa eyikeyi, o ṣe atilẹyin wọpọ sile (-Verbose, -ErrorAction, ati be be lo).

Ranti pe “Mu ṣiṣẹ” ko ṣẹda awọn olutẹtisi HTTPS tabi awọn iwe-ẹri fun ọ; ti o ba nilo fifi ẹnọ kọ nkan ipari-si-opin lati ibẹrẹ ati ijẹrisi ti o da lori awọn iwe-ẹri, tunto olutẹtisi HTTPS ki o fọwọsi CN/SAN lodi si orukọ ti iwọ yoo lo ni -ComputerName.

Wulo WinRM ati PowerShell Awọn pipaṣẹ Yiyọ

Díẹ̀ pataki bedside awọn ohun fun igbesi aye ojoojumọ:

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

Nigbati o ba n ṣakoso Windows ni iwọn, Latọna jijin gba ọ laaye lati gbe lati “kọmputa-si-kọmputa” si ọna asọye ati aabo. Nipa apapọ awọn akoko itẹramọṣẹ, ijẹrisi ti o lagbara (Kerberos/HTTPS), awọn opin opin ihamọ, ati awọn itọpa ti o han gbangba fun awọn iwadii aisan, o jèrè iyara ati iṣakoso lai rubọ aabo tabi iṣatunṣe. Ti o ba tun ṣe iwọn imuṣiṣẹ GPO ati awọn ọran pataki pataki (Awọn igbẹkẹle igbẹkẹle, hop meji, awọn iwe-ẹri), iwọ yoo ni pẹpẹ isakoṣo latọna jijin ti o lagbara fun awọn iṣẹ ojoojumọ ati esi iṣẹlẹ.

malware alaihan
Àpilẹ̀kọ tó jọra:
Bii o ṣe le daabobo PC rẹ lọwọ malware alaihan bi XWorm ati NotDoor