PowerShell Remoting istifadə edərək kompüterinizi mobil telefonunuzdan necə idarə etmək olar

Son yeniləmə: 15/10/2025

  • Uzaqdan idarəetmə WinRM/WS-Man (HTTP/HTTPS) istifadə edir və təhlükəsizlik nəzarətləri ilə 1-dən 1-ə, 1-dən çoxa və davamlı seanslara imkan verir.
  • Enable-PSRemoting xidməti, dinləyiciləri və təhlükəsizlik duvarını konfiqurasiya edir; HTTPS etibarlı sertifikat və CN/SAN uyğunluğu tələb edir.
  • Nəticələr sıradan çıxarılaraq qaytarılır; metodlar uzaq skript bloku daxilində işə salınır və xüsusi son nöqtələr incə dənəli nümayəndə heyəti üçün istifadə olunur.
PowerShell Uzaqdan İdarəetmə

Siz artıq yerli olaraq PowerShell ilə bir çox tapşırığı avtomatlaşdıra bilərsiniz, amma həqiqətən harada edirsiniz PowerShell Remoting fərqi yaradır Bu, bir neçə və ya yüzlərlə, interaktiv və ya paralel olaraq uzaq maşınlarda əmrlər işlətdiyiniz zamandır. Windows PowerShell 2.0-dan bəri mövcud olan və 3.0-dan bəri təkmilləşdirilmiş bu texnologiya WS-Management (WinRM)-ə əsaslanır və çevirir PowerShell möhkəm, genişlənən və təhlükəsiz uzaqdan idarəetmə kanalında.

Hər şeydən əvvəl, iki əsas fikri başa düşmək vacibdir: cmdletlər -ComputerName parametri (məsələn, Get-Process və ya Get-Service) Microsoft tərəfindən tövsiyə olunan uzunmüddətli yol deyil və PowerShell Remoting “hack” kimi işləmir. Əslində, qarşılıqlı autentifikasiyanı həyata keçirir, etimadnamələri saxlamadan və ya super imtiyazları olan heç bir şeyi sehrli şəkildə idarə etmədən, audit qeydlərini aparır və adi icazələrinizə hörmət edir.

PowerShell Remoting nədir və nə üçün istifadə olunur?

ilə PowerShell Remoting edə bilərsiniz demək olar ki, hər hansı bir əmri uzaqdan yerinə yetirin Sorğu xidmətlərindən tutmuş konfiqurasiyaların yerləşdirilməsinə qədər yerli sessiyada işə sala və bunu eyni anda yüzlərlə kompüterdə edə bilərsiniz. -ComputerName qəbul edən cmdletlərdən fərqli olaraq (çoxları DCOM/RPC istifadə edir), Uzaqdan WS-Man (HTTP/HTTPS) vasitəsilə səyahət edir, daha çox firewall üçün uyğundur, paralellik və boşalmaların müştəriyə deyil, uzaq hostda işləməsinə imkan verir.

Bu, üç praktik üstünlükə çevrilir: kütləvi icralarda daha yaxşı performans, şəbəkələrdə daha az sürtünmə məhdudlaşdırıcı qaydalar və Kerberos/HTTPS ilə uyğun təhlükəsizlik modeli ilə. Bundan əlavə, hər bir cmdletdən asılı olmayaraq öz uzaqdan idarəetməni həyata keçirmək üçün İstənilən ssenari və ya rol üçün işləyir təyinat yerində mövcuddur.

Defolt olaraq, son Windows Serverləri Uzaqdan İdarəetmə aktivləşdirilir; Windows 10/11-də siz onu aktivləşdirin tək cmdlet ilə. Və bəli, siz alternativ etimadnamələr, davamlı sessiyalar, fərdi son nöqtələr və s. istifadə edə bilərsiniz.

Qeyd: Uzaqdan idarəetmə hər şeyi açmaqla sinonim deyil. Varsayılan olaraq, yalnız idarəçilər Onlar qoşula bilər və hərəkətlər onların şəxsiyyəti altında həyata keçirilir. Əgər incə dənəli nümayəndə heyətinə ehtiyacınız varsa, xüsusi son nöqtələr sizə yalnız əsas əmrləri ifşa etməyə imkan verir.

PowerShell Uzaqdan İdarəetmə Memarlığı

İçəridə necə işləyir: WinRM, WS-Man və portlar

PowerShell Remoting müştəri-server modelində işləyir. Müştəri WS-Management sorğularını vasitəsilə göndərir HTTP (5985/TCP) və ya HTTPS (5986/TCP). Hədəfdə Windows Uzaqdan İdarəetmə (WinRM) xidməti dinləyir, son nöqtəni həll edir (sessiya konfiqurasiyası) və arxa planda PowerShell sessiyasına ev sahibliyi edir (wsmprovhost.exe prosesi), seriallaşdırılmış nəticələri müştəriyə qaytarmaq SOAP vasitəsilə XML-də.

Uzaqdan İdarəetməni ilk dəfə aktivləşdirdiyiniz zaman dinləyicilər konfiqurasiya edilir, müvafiq firewall istisnası açılır və sessiya konfiqurasiyaları yaradılır. PowerShell 6+-dan çoxlu nəşrlər birlikdə mövcuddur və Enable-PSRemoting Son nöqtələri versiyanı əks etdirən adlarla qeyd edir (məsələn, PowerShell.7 və PowerShell.7.xy).

Eksklüziv məzmun - Bura klikləyin  IPhone-da bir saytı necə bloklamaq olar

Ətrafınızda yalnız HTTPS-ə icazə versəniz, a yarada bilərsiniz təhlükəsiz dinləyici etibarlı CA tərəfindən verilmiş sertifikatla (tövsiyə olunur). Alternativ olaraq, başqa bir alternativ TrustedHosts-dan məhdud, riskdən xəbərdar bir şəkildə, işçi qrupu ssenariləri və ya qeyri-domen kompüterləri üçün istifadə etməkdir.

Qeyd edək ki, Powershell Remoting -ComputerName ilə cmdletlərlə birlikdə mövcud ola bilər, lakin Microsoft WS-Man'ı itələyir uzaqdan idarəetmə üçün standart və gələcəyə davamlı bir yol kimi.

PowerShell Remoting və Faydalı Parametrləri aktivləşdirir

Windows-da PowerShell-i administrator olaraq açın və işə salın Enable-PSRemoting. Sistem WinRM-i işə salır, avtostartı konfiqurasiya edir, dinləyicini işə salır və müvafiq firewall qaydalarını yaradır. İctimai şəbəkə profili olan müştərilərdə siz qəsdən buna icazə verə bilərsiniz -NetworkProfileCheck-i keçin (və sonra xüsusi qaydalarla gücləndirin):

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

 

Sintaksis də imkan verir, -Təsdiq et y -Birdən dəyişikliklərə nəzarət üçün. Unutmayın: O, yalnız Windows-da mövcuddur, və siz yüksəldilmiş konsolu işə salmalısınız. Yaradılan qaydalar Server və Müştəri nəşrləri arasında fərqlənir, xüsusən də ictimai şəbəkələrdə, siz əhatə dairəsini genişləndirməyincə (məsələn, Set-NetFirewallRule ilə) onlar standart olaraq yerli alt şəbəkə ilə məhdudlaşır.

Artıq qeydə alınmış sessiya konfiqurasiyalarını sadalamaq və hər şeyin hazır olduğunu təsdiqləmək üçün istifadə edin Get-PSSessionConfigurationPowerShell.x və Workflow son nöqtələri görünsə, Remoting çərçivəsi işləkdir.

PowerShell ilə uzaqdan seans

İstifadə rejimləri: 1-dən 1-ə, 1-dən çoxa qədər və davamlı seanslar

Tək bir kompüterdə interaktiv konsola ehtiyacınız olduqda, müraciət edin Enter-PSSessionSorğu görünəcək və icra etdiyiniz hər şey uzaq hosta gedəcək. Etibarnamələri daim təkrar daxil etməmək üçün Get-Credential ilə yenidən istifadə edə bilərsiniz:

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

Axtardığınız bir anda bir neçə kompüterə əmrlər göndərməkdirsə, alət budur Invoke-Command skript bloku ilə. Varsayılan olaraq, o, 32-yə qədər paralel əlaqə yaradır (-ThrottleLimit ilə tənzimlənir). Nəticələr kimi qaytarılır sıradan çıxarılan obyektlər ("canlı" üsullar olmadan):

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

.Stop() və ya .Start() kimi metodu işə salmaq lazımdır? Bunu et. skript blokunun içərisində uzaq kontekstdə, yerli sıradan çıxarılan obyekt deyil, vəssalam. Ekvivalent cmdlet (Stop-Service/Start-Service) varsa, aydınlıq üçün adətən ondan istifadə etmək üstünlük təşkil edir.

Hər zəngdə seansların başlaması və bitməsi xərclərinin qarşısını almaq üçün a Davamlı PSSsession və onu çoxsaylı çağırışlarda təkrar istifadə edin. Bağlantı yaratmaq üçün New-PSSession-dan istifadə edin və tuneldən yenidən istifadə etmək üçün Invoke-Command-Session-dan istifadə edin. Bitirdikdən sonra onu Remove-PSSession ilə bağlamağı unutmayın.

Serializasiya, limitlər və yaxşı təcrübələr

Vacib bir detal: səyahət edərkən obyektlər "+düzləşir" və kimi gəlir sıradan çıxarılan görüntülər, xassələri ilə, lakin üsulları yoxdur. Bu, məqsədyönlüdür və bant genişliyinə qənaət edir, lakin bu o deməkdir ki, siz yerli nüsxədə məntiqi icra edən üzvlərdən (məsələn, .Kill()) istifadə edə bilməyəcəksiniz. Həll yolu aydındır: bu üsulları işə salın. uzaqdan və yalnız müəyyən sahələrə ehtiyacınız varsa, daha az məlumat göndərmək üçün Select-Object ilə filtrləyin.

Eksklüziv məzmun - Bura klikləyin  Cib telefonuna müdaxilə edilib-edilmədiyini necə bilmək olar?

Skriptlərdə Enter-PSSession-dan (interaktiv istifadə üçün nəzərdə tutulub) çəkinin və skript blokları ilə Invoke-Command-dan istifadə edin. Birdən çox zəng gözləyirsinizsə və ya vəziyyəti (dəyişənlər, idxal edilmiş modullar) qorumaq lazımdırsa, davamlı seanslardan istifadə edin və əgər varsa, PowerShell 3.0+-da Disconnect-PSSession/Connect-PSSession ilə onları ayırın/yenidən birləşdirin.

Doğrulama, HTTPS və Domendənkənar Ssenarilər

Domendə yerli identifikasiyadır Kerberos Və hər şey axır. Cihaz server adını doğrulaya bilmədikdə və ya CNAME IP və ya ləqəbinə qoşulduqda sizə bu iki seçimdən biri lazımdır: 1) Dinləyici Sertifikatı olan HTTPS etibar etdiyiniz CA tərəfindən verilmişdir və ya 2) təyinatı (ad və ya IP) TrustedHosts-a əlavə edin və etimadnamələrdən istifadə edinİkinci seçim həmin host üçün qarşılıqlı autentifikasiyanı qeyri-aktiv edir, buna görə də əhatə dairəsini lazımi minimuma endirir.

HTTPS dinləyicisinin qurulması komanda mağazasında quraşdırılmış və WinRM ilə əlaqəli sertifikat (ideal olaraq PKI və ya ictimai CA-dan) tələb edir. Sonra 5986/TCP portu firewallda açılır və müştəridən istifadə olunur. -SSL istifadə edin uzaq cmdletlərdə. Müştəri sertifikatının autentifikasiyası üçün siz sertifikatı yerli hesabla əlaqələndirə və onunla əlaqə yarada bilərsiniz -CertificateThumbprint (Enter-PSSession bunu birbaşa qəbul etmir; əvvəlcə New-PSSession ilə sessiya yaradın.)

İkinci atlama və etimadnamələrin təqdim edilməsi

Məşhur "double hop" serverə qoşulduqdan sonra o serverə daxil olmaq üçün lazım olduqda görünür üçüncü mənbə sizin adınıza (məsələn, SMB payı). Buna icazə vermək üçün iki yanaşma var: CredSSP və resurs əsaslı məhdud Kerberos nümayəndə heyəti.

ilə CredSSP Siz müştəri və vasitəçiyə etimadnamələri açıq şəkildə həvalə etməyə imkan verirsiniz və xüsusi kompüterlərə nümayəndəliyə icazə vermək üçün siyasət (GPO) təyin edirsiniz. Konfiqurasiya etmək tezdir, lakin daha az təhlükəsizdir, çünki etimadnamələr şifrələnmiş tuneldə aydın mətnlə hərəkət edir. Həmişə mənbələri və təyinat yerlərini məhdudlaşdırın.

Domendə üstünlük verilən alternativdir Kerberos nümayəndə heyətini məhdudlaşdırdı müasir AD-də (resurs əsaslı məhdud nümayəndə heyəti). Bu, son nöqtəyə xüsusi xidmətlər üçün orta nöqtədən nümayəndə heyətini qəbul etməyə etibar etməyə imkan verir, ilkin əlaqə zamanı şəxsiyyətinizi ifşa etməməkdən çəkindirir. Ən son domen nəzarətçiləri və yenilənmiş RSAT tələb olunur.

Fərdi Son Nöqtələr (Sessiya Konfiqurasiyaları)

Remoting-in incilərindən biri əlaqə nöqtələrini qeyd edə bilməkdir uyğunlaşdırılmış imkanlar və məhdudiyyətlər. Əvvəlcə New-PSSessionConfigurationFile (əvvəlcədən yükləmək üçün modullar, görünən funksiyalar, ləqəblər, ExecutionPolicy, LanguageMode və s.) ilə fayl yaradırsınız və sonra onu Register-PSSessionConfiguration ilə qeydiyyatdan keçirirsiniz, burada təyin edə bilərsiniz. RunAsCredential və icazələr (SDDL və ya -ShowSecurityDescriptorUI ilə GUI interfeysi).

Təhlükəsiz nümayəndə heyəti üçün yalnız -VisibleCmdlets/-VisibleFunctions ilə lazım olanı göstərin və uyğun olduqda pulsuz skripti deaktiv edin. LanguageMode Limited Language və ya NoDil. FullLanguage-i tərk etsəniz, kimsə RunAs ilə birlikdə ifşa edilməmiş əmrləri işə salmaq üçün skript blokundan istifadə edə bilər. çuxur olardı. Bu son nöqtələri incə dişli daraqla dizayn edin və əhatə dairəsini sənədləşdirin.

Domenlər, GPO-lar və Qrup proqramları

AD-də siz GPO ilə miqyasda Powershell Remoting tətbiq edə bilərsiniz: WinRM dinləyicilərinin avtomatik konfiqurasiyasına icazə verin, xidməti Avtomatik olaraq təyin edin, və firewall istisnasını yaradın. Unutmayın ki, GPO-lar parametrləri dəyişir, lakin onlar həmişə xidməti dərhal açmırlar; bəzən gpupdate-i yenidən başlatmalı və ya məcbur etməlisiniz.

Eksklüziv məzmun - Bura klikləyin  Windows 11-də tapşırıqları necə avtomatlaşdırmaq olar

İş qruplarında (qeyri-domen) Remoting ilə konfiqurasiya edin Enable-PSRemoting, müştəriyə TrustedHosts qurun (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) və yerli etimadnaməsini istifadə edin. Etibarlı CA-dan istifadə etmək tövsiyə olunsa da, HTTPS üçün özünüz imzalanmış sertifikatları quraşdıra bilərsiniz adını təsdiq edin sertifikatda -ComputerName-də istifadə edəcəyiniz (CN/SAN uyğunluğu).

Açar cmdletlər və sintaksis

Bir ovuc komando əhatə edir Gündəlik ssenarilərin 90%-i. Aktivləşdirmək/deaktiv etmək üçün:

Enable-PSRemoting    
Disable-PSRemoting

İnteraktiv sessiya 1-dən 1-ə və çıxın:

Enter-PSSession -ComputerName SEC504STUDENT 
Exit-PSSession

1 çox, paralellik və etimadnamə ilə:

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

Davamlı seanslar və təkrar istifadə edin:

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

Test və WinRM Faydalı:

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

Firewall, şəbəkə və portlar haqqında praktiki qeydlər

Hədəf kompüterdə HTTP üçün 5985/TCP və HTTPS üçün 5986/TCP açın hər hansı bir ara firewallWindows klientlərində Enable-PSRemoting domen və şəxsi profillər üçün qaydalar yaradır; ictimai profillər üçün əhatə dairəsini Set-NetFirewallRule -RemoteAddress Any (riskinizə əsasən qiymətləndirə biləcəyiniz dəyər) ilə dəyişdirməyincə, o, yerli alt şəbəkə ilə məhdudlaşır.

Əgər siz uzaqdan əmrləri işlədən SOAR/SIEM inteqrasiyalarından istifadə edirsinizsə (məsələn, XSOAR-dan), serverdə əmin olun DNS həlli hostlara, 5985/5986-a qoşulma və kifayət qədər yerli icazələrə malik etimadnamələr. Bəzi hallarda NTLM/Basic autentifikasiyası düzəliş tələb edə bilər (məsələn, SSL ilə Basic-də yerli istifadəçidən istifadə).

Enable-PSRemoting Parametrləri (Əməliyyat Xülasəsi)

-İcra etməzdən əvvəl təsdiq tələbini təsdiqləyin; -Qüvvət xəbərdarlıqlara məhəl qoymur və lazımi dəyişiklikləri etmək; -SkipNetworkProfileCheck ictimai müştəri şəbəkələrində Uzaqdan idarə etməyə imkan verir (standart olaraq yerli alt şəbəkə ilə məhdudlaşır); -WhatIf sizə dəyişiklikləri tətbiq etmədən nə olacağını göstərir. Əlavə olaraq, hər hansı bir standart cmdlet kimi, dəstəkləyir ümumi parametrlər (-Verbose, -ErrorAction və s.).

Unutmayın ki, “Enable” sizin üçün HTTPS dinləyiciləri və ya sertifikatları yaratmır; əgər sizə əvvəldən başdan sona şifrələmə və ona əsaslanan autentifikasiya lazımdırsa sertifikatlar, HTTPS dinləyicisini konfiqurasiya edin və CN/SAN-ı -ComputerName-də istifadə edəcəyiniz adla təsdiqləyin.

Faydalı WinRM və PowerShell uzaqdan idarəetmə əmrləri

Bəziləri çarpayının əsas əşyaları gündəlik həyat üçün:

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-u miqyasda idarə edərkən, Uzaqdan idarəetmə sizə "kompüterdən kompüterə" deklarativ və təhlükəsiz yanaşmaya keçməyə imkan verir. Davamlı sessiyaları, güclü autentifikasiyanı (Kerberos/HTTPS), məhdud son nöqtələri və diaqnostika üçün aydın izləri birləşdirərək, sürət və nəzarət qazanırsınız təhlükəsizliyi və ya auditi qurban vermədən. Siz həmçinin GPO aktivləşdirməsini standartlaşdırsanız və xüsusi halları (TrustedHosts, ikiqat keçid, sertifikatlar) mənimsəsəniz, gündəlik əməliyyatlar və insidentlərə cavab vermək üçün möhkəm uzaq platformaya sahib olacaqsınız.

görünməz zərərli proqram
Əlaqədar məqalə:
Kompüterinizi XWorm və NotDoor kimi görünməz zərərli proqramlardan necə qorumaq olar