Како контролисати рачунар са мобилног телефона помоћу PowerShell Remoting-а

Последње ажурирање: 15/10/2025

  • Удаљено управљање користи WinRM/WS-Man (HTTP/HTTPS) и омогућава сесије 1-на-1, 1-на-више и трајне сесије са безбедносним контролама.
  • Enable-PSRemoting конфигурише услугу, слушаоце и заштитни зид; HTTPS захтева важећи сертификат и подударање CN/SAN.
  • Резултати се враћају десеријализовани; методе се позивају унутар удаљеног скриптблока, а прилагођене крајње тачке се користе за прецизно делегирање.
PowerShell удаљено управљање

Можда већ аутоматизујете многе задатке локално помоћу PowerShell-а, али где их заиста користите? PowerShell Remoting прави разлику То је када покрећете команде на удаљеним машинама, било да их је неколико или стотине, интерактивно или паралелно. Ова технологија, доступна од Windows PowerShell-а 2.0 и побољшана од верзије 3.0, заснована је на WS-Management-у (WinRM) и претвара ПоверСхелл у робусном, скалабилном и безбедном каналу за даљинско управљање.

Пре свега, важно је разумети две кључне идеје: cmdlets са -Параметар ИмеРачунара (нпр. Get-Process или Get-Service) нису дугорочни пут који препоручује Microsoft, а PowerShell Remoting не функционише као „хак“. У ствари, спроводи међусобну аутентификацију, евидентира евиденцију и поштује ваше уобичајене дозволе, без чувања акредитива или магичног покретања било чега са супер привилегијама.

Шта је PowerShell Remoting и зашто га користити?

са ПоверСхелл Ремотинг можеш извршити скоро сваку команду на даљину које бисте могли да покренете у локалној сесији, од упита сервиса до распоређивања конфигурација, и то на стотинама рачунара одједном. За разлику од cmdlet-ова који прихватају -ComputerName (многи користе DCOM/RPC), Remoting путује преко WS-Man-а (HTTP/HTTPS), који је више прилагођен заштитним зидовима (фајерволима), омогућава паралелизам и пребацује посао на удаљени хост, а не на клијента.

То се претвара у три практичне предности: боље перформансе у масовним извршењима, мање трења у мрежама са рестриктивним правилима и безбедносним моделом који је у складу са Kerberos/HTTPS. Штавише, тиме што се не ослања на сваки cmdlet за имплементацију сопственог даљинског управљања, Remoting Ради за било који скрипт или улогу који је доступан на одредишту.

Подразумевано, новији Windows сервери долазе са омогућеним даљинским управљањем; у Windows 10/11 активираш га са једном командом. И да, можете користити алтернативне акредитиве, трајне сесије, прилагођене крајње тачке и још много тога.

Напомена: Даљинско отварање није синоним за отварање свега. Подразумевано, само администратори Могу се повезати, а радње се извршавају под њиховим идентитетом. Ако вам је потребна прецизна делегација, прилагођене крајње тачке вам омогућавају да откријете само неопходне команде.

Архитектура удаљеног управљања PowerShell-ом

Како функционише унутра: WinRM, WS-Man и портови

PowerShell Remoting ради у клијент-сервер моделу. Клијент шаље WS-Management захтеве путем HTTP (5985/TCP) или HTTPS (5986/TCP)На циљу, услуга Windows Remote Management (WinRM) слуша, разрешава крајњу тачку (конфигурацију сесије) и хостује PowerShell сесију у позадини (процес wsmprovhost.exe). враћање серијализованих резултата клијенту у XML-у путем SOAP-а.

Када први пут омогућите Remoting, конфигуришу се слушаоци, отвара се одговарајући изузетак заштитног зида и креирају се конфигурације сесије. Од PowerShell-а 6+, више издања коегзистира, и Омогући-ПСРемотинг Региструје крајње тачке са именима која одражавају верзију (на пример, PowerShell.7 и PowerShell.7.xy).

Ексклузивни садржај - Кликните овде  Глобално упозорење о критичној рањивости у Google Chrome-у: шта треба да знате и како да се заштитите

Ако дозвољавате само HTTPS у свом окружењу, можете креирати безбедан слушалац са сертификатом који је издао поуздани CA (препоручено). Алтернативно, друга алтернатива је коришћење TrustedHosts-а на ограничен начин, свестан ризика, за сценарије радних група или рачунаре који нису у домену.

Имајте на уму да Powershell Remoting може коегзистирати са cmdlet-овима са -ComputerName, али Мајкрософт гура WS-Man-а као стандардни и будућност-осигурани начин за даљинско администрирање.

Омогућавање PowerShell Remoting-а и корисних параметара

У оперативном систему Windows, само отворите PowerShell као администратор и покрените Омогући-ПСРемотингСистем покреће WinRM, конфигурише аутоматско покретање, омогућава слушач и креира одговарајућа правила заштитног зида. На клијентима са јавним мрежним профилом, можете намерно дозволити ово помоћу -SkipNetworkProfileCheck (а затим појачајте одређеним правилима):

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

 

Синтакса такође дозвољава, -Потврди y -Шта ако за контролу промена. Запамтите: Доступно је само на Windows-у, и морате покренути конзолу са повишеним привилегијама. Креирана правила се разликују између серверских и клијентских издања, посебно на јавним мрежама, где су подразумевано ограничена на локалну подмрежу, осим ако не проширите опсег (на пример, помоћу Set-NetFirewallRule).

Да бисте навели већ снимљене конфигурације сесије и потврдили да је све спремно, користите Гет-ПССессионЦонфигуратионАко се појаве крајње тачке PowerShell.x и Workflow, оквир за удаљено управљање је оперативан.

Удаљена сесија са PowerShell-ом

Режими коришћења: 1 на 1, 1 на више и трајне сесије

Када вам је потребна интерактивна конзола на једном рачунару, обратите се Ентер-ПССессионПојавиће се промпт и све што извршите биће усмерено на удаљени хост. Можете поново користити акредитиве помоћу команде Get-Credential да бисте избегли стално поновно уношење истих:

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

Ако тражите слање команди на неколико рачунара одједном, алат је Инвоке-Цомманд са скриптблоком. Подразумевано, покреће до 32 истовремене везе (подесиво са -ThrottleLimit). Резултати се враћају као десеријализовани објекти (без „живих“ метода):

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

Треба да позовете методу као што је .Stop() или .Start()? Урадите то. унутар скриптблока у удаљеном контексту, а не локално десеријализован објекат, и то је то. Ако постоји еквивалентна cmdlet команда (Stop-Service/Start-Service), обично је пожељније користити је ради јасноће.

Да бисте избегли трошкове започињања и завршавања сесија у сваком позиву, креирајте Трајна PSS сесија и поново га користите у више позива. Користите New-PSSession да бисте креирали везу и користите Invoke-Command-Session да бисте поново користили тунел. Не заборавите да га затворите са Remove-PSSession када завршите.

Серијализација, ограничења и добре праксе

Важан детаљ: приликом путовања, објекти се „+спљоште“ и стижу као десеријализовани снимци, са својствима, али без метода. Ово је намерно и штеди пропусни опсег, али значи да не можете користити чланове који извршавају логику (као што је .Kill()) на локалној копији. Решење је очигледно: позовите те методе. на даљину а ако су вам потребна само одређена поља, филтрирајте помоћу Select-Object да бисте послали мање података.

Ексклузивни садржај - Кликните овде  Како спречити оштећење ваших датотека?

У скриптама избегавајте Enter-PSSession (намењено за интерактивну употребу) и користите Invoke-Command са блоковима скрипти. Ако очекујете вишеструке позиве или треба да сачувате стање (променљиве, увезени модули), користите трајне сесије и, ако је применљиво, искључите их/поново повежите помоћу Disconnect-PSSession/Connect-PSSession у PowerShell-у 3.0+.

Аутентификација, HTTPS и сценарији ван домена

У домену, нативна аутентификација је Керберос И све тече како треба. Када уређај не може да потврди име сервера или се повежете са CNAME IP адресом или алијасом, потребна вам је једна од ове две опције: 1) Listener HTTPS са сертификатом издато од стране ЦА којем верујете, или 2) додајте одредиште (име или ИП адресу) у TrustedHosts и користите акредитивеДруга опција онемогућава међусобну аутентификацију за тај хост, тако да смањује опсег на неопходни минимум.

Подешавање HTTPS слушача захтева сертификат (идеално из вашег PKI или јавног CA), инсталиран у складишту тима и повезан са WinRM-ом. Порт 5986/TCP се затим отвара у заштитном зиду (фајерволу) и, са клијента, користи. -UseSSL у удаљеним командлетима. За аутентификацију клијентског сертификата, можете мапирати сертификат на локални налог и повезати се са -Отисак палца сертификата (Enter-PSSession ово не прихвата директно; прво креирајте сесију помоћу New-PSSession.)

Други скок и делегирање акредитива

Чувени „двоструки скок“ се појављује када, након повезивања са сервером, потребан вам је тај сервер за приступ трећи ресурс у ваше име (нпр. SMB дељење). Постоје два приступа за омогућавање овога: CredSSP и ограничена Kerberos делегација заснована на ресурсима.

са ЦредССП Омогућавате клијенту и посреднику да експлицитно делегирају акредитиве и подешавате политику (GPO) која дозвољава делегирање одређеним рачунарима. Брзо се конфигурише, али је мање безбедно јер акредитиви путују у чистом тексту унутар шифрованог тунела. Увек ограничите изворе и одредишта.

Преферирана алтернатива у домену је ограничена делегација Kerberos-а (ограничена делегација заснована на ресурсима) у модерном Active Directory-у. Ово омогућава крајњој тачки да се ослони на пријем делегације од средње тачке за одређене услуге, избегавајући откривање вашег идентитета при почетној вези. Захтева новије контролере домена и ажурирани RSAT.

Прилагођене крајње тачке (конфигурације сесије)

Један од драгуља удаљеног рада је могућност регистровања тачака повезивања са прилагођене могућности и ограничењаПрво генеришете датотеку помоћу New-PSSessionConfigurationFile (модули за претходно учитавање, видљиве функције, алијаси, ExecutionPolicy, LanguageMode, итд.), а затим је региструјете помоћу Register-PSSessionConfiguration, где можете подесити Покрени као акредитив и дозволе (SDDL или GUI интерфејс са -ShowSecurityDescriptorUI).

За безбедно делегирање, откријте само оно што је неопходно помоћу -VisibleCmdlets/-VisibleFunctions и онемогућите слободно скриптовање ако је потребно помоћу ЈезикРежимОграничениЈезик или БезЈезика. Ако напустите ПуниЈезик, неко би могао да користи блок скрипте за позивање неоткривених команди, што, у комбинацији са РунАс, била би рупаОсмислите ове крајње тачке финим чешљем и документујте њихов обим.

Домени, GPO-и и Groupware

У Active Directory-у можете да примените Powershell Remoting у великим размерама помоћу GPO-а: омогућите аутоматску конфигурацију WinRM слушача, подесите услугу на Аутоматскии креирајте изузетак заштитног зида. Имајте на уму да GPO-и мењају подешавања, али не укључују увек услугу одмах; понекад је потребно поново покренути систем или присилно извршити gpupdate.

Ексклузивни садржај - Кликните овде  Како користити Нортон Мобиле Сецурити?

У радним групама (недоменским), конфигуришите даљински рад са Омогући-ПСРемотинг, подесите TrustedHosts на клијенту (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) и користите локалне акредитиве. За HTTPS можете монтирати самопотписане сертификате, иако се препоручује коришћење поузданог CA и потврди име који ћете користити у -ComputerName у сертификату (CN/SAN подударање).

Кључне командлете и синтакса

Шачица командоса покрива 90% дневних сценаријаДа бисте активирали/деактивирали:

Enable-PSRemoting    
Disable-PSRemoting

Интерактивна сесија 1 до 1 и излаз:

Enter-PSSession -ComputerName SEC504STUDENT 
Exit-PSSession

1 према многима, са паралелизмом и акредитивима:

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

Трајне сесије и поново употребити:

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

Тестирање и WinRM корисно:

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

Практичне напомене о заштитном зиду (фајерволу), мрежи и портовима

Отворите 5985/TCP за HTTP и 5986/TCP за HTTPS на циљном рачунару и на било који средњи заштитни зидНа Windows клијентима, Enable-PSRemoting креира правила за домен и приватне профиле; за јавне профиле, ограничено је на локалну подмрежу, осим ако не измените опсег помоћу Set-NetFirewallRule -RemoteAddress Any (вредност коју можете проценити на основу вашег ризика).

Ако користите SOAR/SIEM интеграције које покрећу удаљене команде (нпр. из XSOAR-а), уверите се да сервер има ДНС резолуција до хостова, повезивање са 5985/5986 и акредитиви са довољним локалним дозволама. У неким случајевима, NTLM/Basic аутентификација може захтевати подешавање (нпр. коришћење локалног корисника у Basic-у са SSL-ом).

Параметри Enable-PSRemoting (резиме операција)

-Confirm тражи потврду пре извршавања; -Force игнорише упозорења и направите потребне измене; -SkipNetworkProfileCheck омогућава Remoting на јавним клијентским мрежама (подразумевано ограничено на локалну подмрежу); -WhatIf вам показује шта би се десило без примене измена. Поред тога, као и сваки стандардни cmdlet, подржава уобичајени параметри (-Вербозно, -АкцијаГрешке, итд.).

Имајте на уму да „Омогући“ не креира HTTPS слушаоце или сертификате за вас; ако вам је потребно енкрипција од почетка до краја и аутентификација заснована на сертификата, конфигуришите HTTPS слушач и валидирајте CN/SAN у односу на име које ћете користити у -ComputerName.

Корисне команде за даљинско управљање помоћу WinRM-а и PowerShell-а

Неке неопходне ствари за ноћење за дан за дан:

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-ом у великим размерама, Remoting вам омогућава да пређете са приступа „рачунар-рачунар“ на декларативни и безбедан приступ. Комбиновањем трајних сесија, јаке аутентификације (Kerberos/HTTPS), ограничених крајњих тачака и јасних трагова за дијагностику, добијате брзину и контролу без жртвовања безбедности или ревизије. Ако такође стандардизујете активацију GPO-а и савладате посебне случајеве (TrustedHosts, double hop, сертификати), имаћете солидну удаљену платформу за свакодневне операције и реаговање на инциденте.

невидљиви злонамерни софтвер
Повезани чланак:
Како заштитити свој рачунар од невидљивог злонамерног софтвера попут XWorm-а и NotDoor-а