PowerShell Remoting yordamida kompyuteringizni mobil telefoningizdan qanday boshqarish mumkin

Oxirgi yangilanish: 15/10/2025

  • Masofaviy boshqarish WinRM/WS-Man (HTTP/HTTPS) dan foydalanadi va xavfsizlikni boshqarish elementlari bilan 1dan 1ga, 1dan ko'pga va doimiy seanslarga ruxsat beradi.
  • Enable-PSRemoting xizmat, tinglovchilar va xavfsizlik devorini sozlaydi; HTTPS joriy sertifikat va CN/SAN mosligini talab qiladi.
  • Natijalar seriyadan chiqarilgan holda qaytariladi; usullar masofaviy skript blokida chaqiriladi va maxsus so'nggi nuqtalar nozik delegatsiya uchun ishlatiladi.
PowerShell masofadan boshqarish

Siz allaqachon PowerShell bilan ko'plab vazifalarni mahalliy sifatida avtomatlashtirishingiz mumkin, lekin siz haqiqatan ham qaerda PowerShell Remoting farq qiladi Bu masofaviy mashinalarda buyruqlarni bir necha yoki yuzlab, interaktiv yoki parallel ravishda bajarganingizda. Windows PowerShell 2.0 dan beri mavjud va 3.0 dan beri takomillashtirilgan ushbu texnologiya WS-Management (WinRM) ga asoslangan va PowerShell mustahkam, kengaytiriladigan va xavfsiz masofaviy boshqaruv kanalida.

Avvalo, ikkita asosiy g'oyani tushunish kerak: cmdletlar -ComputerName parametri (masalan, Get-Process yoki Get-Service) Microsoft tomonidan tavsiya etilgan uzoq muddatli yo'l emas va PowerShell Remoting "hack" sifatida ishlamaydi. Aslida, o'zaro autentifikatsiyani amalga oshiradi, hisob ma'lumotlarini saqlamasdan yoki super imtiyozlarga ega bo'lgan narsalarni sehrli tarzda ishga tushirmasdan, audit jurnallarini yuritadi va odatiy ruxsatlaringizni hurmat qiladi.

PowerShell Remoting nima va uni nima uchun ishlatish kerak?

con PowerShell masofadan boshqarish mumkin masofadan turib deyarli har qanday buyruqni bajaring Siz so'rov xizmatlaridan tortib konfiguratsiyalarni o'rnatishgacha bo'lgan mahalliy seansda ishga tushirishingiz va buni bir vaqtning o'zida yuzlab kompyuterlarda qilishingiz mumkin. -ComputerName (ko'pchilik DCOM/RPC dan foydalanadi), Remoting qabul qiluvchi cmdletlardan farqli o'laroq WS-Man (HTTP/HTTPS) orqali sayohat qiladi, bu xavfsizlik devoriga ko'proq mos keladi, parallellik va yuklarni tushirish mijozga emas, balki masofaviy xostga ishlash imkonini beradi.

Bu uchta amaliy afzalliklarga aylanadi: ommaviy ijrolarda yaxshiroq ishlash, tarmoqlarda kamroq ishqalanish cheklovchi qoidalar va Kerberos/HTTPS bilan mos keladigan xavfsizlik modeli bilan. Bundan tashqari, har bir cmdletga bog'liq bo'lmagan holda, o'zining masofaviy boshqaruvini amalga oshirish uchun U har qanday skript yoki rol uchun ishlaydi bu manzilda mavjud.

Odatiy bo'lib, so'nggi Windows serverlarida masofadan boshqarish yoqilgan; Windows 10/11 da siz uni faollashtirasiz bitta cmdlet bilan. Va ha, siz muqobil hisob ma'lumotlari, doimiy seanslar, maxsus so'nggi nuqtalar va boshqalardan foydalanishingiz mumkin.

Eslatma: Remoting hamma narsani ochishning sinonimi emas. Odatiy bo'lib, faqat administratorlar Ular ulanishi mumkin va harakatlar ularning identifikatori ostida amalga oshiriladi. Agar sizga nozik delegatsiya kerak bo'lsa, maxsus so'nggi nuqtalar sizga faqat asosiy buyruqlarni ochishga imkon beradi.

PowerShell masofaviy arxitekturasi

Ichkarida qanday ishlaydi: WinRM, WS-Man va portlar

PowerShell Remoting mijoz-server modelida ishlaydi. Mijoz WS-Management so'rovlarini orqali yuboradi HTTP (5985/TCP) yoki HTTPS (5986/TCP). Maqsadda Windows Remote Management (WinRM) xizmati tinglaydi, so'nggi nuqtani (sessiya konfiguratsiyasi) hal qiladi va PowerShell seansini fonda o'tkazadi (wsmprovhost.exe jarayoni), mijozga seriyali natijalarni qaytarish XMLda SOAP orqali.

Masofaviy boshqarishni birinchi marta yoqsangiz, tinglovchilar sozlanadi, tegishli xavfsizlik devori istisnosi ochiladi va seans konfiguratsiyalari yaratiladi. PowerShell 6+ dan bir nechta nashrlar birga mavjud va PSRemoting-ni yoqish Oxirgi nuqtalarni versiyani aks ettiruvchi nomlar bilan qayd qiladi (masalan, PowerShell.7 va PowerShell.7.xy).

Eksklyuziv tarkib - Bu yerga bosing  Google Chrome-dagi muhim zaiflik haqida global ogohlantirish: nimani bilishingiz kerak va o'zingizni qanday himoya qilishingiz kerak

Agar siz o'z muhitingizda faqat HTTPSga ruxsat bersangiz, a yaratishingiz mumkin xavfsiz tinglovchi ishonchli CA tomonidan berilgan sertifikat bilan (tavsiya etiladi). Shu bilan bir qatorda, boshqa muqobil ish guruhi stsenariylari yoki domen bo'lmagan kompyuterlar uchun TrustedHosts-dan cheklangan, xavf-xatardan xabardor tarzda foydalanishdir.

E'tibor bering, Powershell Remoting -ComputerName bilan cmdletlar bilan birga mavjud bo'lishi mumkin, ammo Microsoft WS-Manni ishga tushiradi masofaviy boshqaruvning standart va kelajakka asoslangan usuli sifatida.

PowerShell masofadan boshqarish va foydali parametrlarni yoqish

Windows-da PowerShell-ni administrator sifatida oching va ishga tushiring PSRemoting-ni yoqish. Tizim WinRM-ni ishga tushiradi, avtomatik ishga tushirishni sozlaydi, tinglovchini yoqadi va tegishli xavfsizlik devori qoidalarini yaratadi. Umumiy tarmoq profiliga ega bo'lgan mijozlarda siz bunga ataylab ruxsat berishingiz mumkin -SkipNetworkProfileCheck (va keyin maxsus qoidalar bilan mustahkamlang):

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

 

Sintaksis ham imkon beradi: -Tasdiqlang y -Agar .. bo'lsa nima bo'ladi o'zgarishlarni nazorat qilish uchun. Eslab qoling: U faqat Windows tizimida mavjud, va siz baland konsolni ishga tushirishingiz kerak. Yaratilgan qoidalar Server va Mijoz nashrlari o'rtasida, ayniqsa ommaviy tarmoqlarda farqlanadi, bu erda sukut bo'yicha ular mahalliy quyi tarmoq bilan chegaralanadi, agar siz qamrovni kengaytirmasangiz (masalan, Set-NetFirewallRule bilan).

Oldindan yozib olingan seans konfiguratsiyalarini ro'yxatga olish va hamma narsa tayyorligini tasdiqlash uchun foydalaning Get-PSSessionConfigurationAgar PowerShell.x va Workflow so'nggi nuqtalari paydo bo'lsa, Remoting framework ishlaydi.

PowerShell bilan masofaviy seans

Foydalanish rejimlari: 1 dan 1 gacha, 1 dan ko'p va doimiy seanslar

Bitta kompyuterda interaktiv konsol kerak bo'lganda, ga murojaat qiling Enter-PSSessionSo'rov paydo bo'ladi va siz bajargan hamma narsa masofaviy xostga o'tadi. Hisob ma'lumotlarini doimiy ravishda qayta kiritmaslik uchun Get-Credential bilan qayta ishlatishingiz mumkin:

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

Agar siz izlayotgan narsa bir vaqtning o'zida bir nechta kompyuterlarga buyruqlar yuborish bo'lsa, bu vosita Taklif-buyruq skript bloki bilan. Odatiy bo'lib, u 32 tagacha bir vaqtda ulanishni ishga tushiradi (-ThrottleLimit bilan sozlanishi). Natijalar sifatida qaytariladi seriyasizlashtirilgan ob'ektlar ("jonli" usullarsiz):

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

.Stop() yoki .Start() kabi usulni chaqirish kerakmi? Buni qiling. skript bloki ichida masofaviy kontekstda, mahalliy seriyasizlashtirilgan ob'ekt emas, va bu. Agar ekvivalent cmdlet (Stop-Service/Start-Service) mavjud bo'lsa, odatda aniqlik uchun undan foydalanish afzalroqdir.

Har bir qo'ng'iroqda seanslarni boshlash va tugatish xarajatlarini oldini olish uchun a yarating Doimiy PSS sessiyasi va uni bir nechta chaqiruvlarda qayta ishlating. Ulanishni yaratish uchun New-PSSession-dan foydalaning va tunnelni qayta ishlatish uchun Invoke-Command-Session-dan foydalaning. Ishingiz tugagach, uni Remove-PSSession bilan yopishni unutmang.

Seriyalashtirish, chegaralar va yaxshi amaliyotlar

Muhim tafsilot: sayohat paytida ob'ektlar "+tekislanadi" va shunday keladi seriyasiz suratlar, xususiyatlari bilan, lekin usullari yo'q. Bu ataylab qilingan va tarmoqli kengligini tejaydi, lekin bu mahalliy nusxada mantiqni (masalan, .Kill()) bajaradigan a'zolardan foydalana olmasligingizni anglatadi. Yechim aniq: bu usullarni chaqiring. masofadan turib va agar sizga faqat ma'lum maydonlar kerak bo'lsa, kamroq ma'lumot yuborish uchun Select-Object bilan filtrlang.

Eksklyuziv tarkib - Bu yerga bosing  Fayllaringizga zarar yetkazishni qanday oldini olish mumkin?

Skriptlarda Enter-PSSession (interaktiv foydalanish uchun mo'ljallangan) dan qoching va skript bloklari bilan Invoke-Command dan foydalaning. Agar siz bir nechta qo'ng'iroqlarni kutsangiz yoki holatni saqlashingiz kerak bo'lsa (o'zgaruvchilar, import qilingan modullar), doimiy seanslardan foydalaning va agar kerak bo'lsa, PowerShell 3.0+ da Disconnect-PSSession/Connect-PSSession bilan ularni uzing/qayta ulang.

Autentifikatsiya, HTTPS va domendan tashqari stsenariylar

Domenda mahalliy autentifikatsiya hisoblanadi Kerberos Va hamma narsa oqadi. Agar qurilma server nomini tekshira olmasa yoki CNAME IP yoki taxallusga ulanmasangiz, sizga quyidagi ikkita variantdan biri kerak bo‘ladi: 1) Tinglovchi Sertifikat bilan HTTPS Siz ishonadigan CA tomonidan chiqarilgan yoki 2) TrustedHosts-ga maqsadni (nom yoki IP) qo'shing va hisob ma'lumotlaridan foydalaningIkkinchi variant ushbu xost uchun o'zaro autentifikatsiyani o'chirib qo'yadi, shuning uchun u ko'lamni minimal darajada kamaytiradi.

HTTPS tinglovchisini o'rnatish uchun sertifikat (ideal PKI yoki umumiy CA dan), jamoa do'koniga o'rnatilgan va WinRM bilan bog'langan bo'lishi kerak. Keyin 5986/TCP porti xavfsizlik devorida ochiladi va mijozdan foydalaniladi. -SSL dan foydalaning masofaviy cmdletlarda. Mijoz sertifikati autentifikatsiyasi uchun siz sertifikatni mahalliy hisob qaydnomasiga joylashtirishingiz va u bilan bog'lanishingiz mumkin - Sertifikat bosh barmoq izi (Enter-PSSession buni to'g'ridan-to'g'ri qabul qilmaydi; birinchi navbatda New-PSSession bilan sessiya yarating.)

Ikkinchi hop va ishonch yorliqlari delegatsiyasi

Mashhur "ikki marta sakrash" serverga ulangandan so'ng, u serverga kirish uchun kerak bo'lganda paydo bo'ladi uchinchi manba sizning nomingizdan (masalan, SMB ulushi). Bunga ruxsat berishning ikkita yondashuvi mavjud: CredSSP va resursga asoslangan cheklangan Kerberos delegatsiyasi.

con CredSSP Siz mijoz va vositachiga hisob ma'lumotlarini aniq topshirishga ruxsat berasiz va muayyan kompyuterlarga vakolat berishga ruxsat berish siyosatini (GPO) o'rnatasiz. Uni sozlash tez, lekin xavfsiz emas, chunki hisob maʼlumotlari shifrlangan tunnel ichida aniq matnda tarqaladi. Har doim manbalar va manzillarni cheklang.

Domenda afzal qilingan alternativa hisoblanadi cheklangan Kerberos delegatsiyasi (resursga asoslangan cheklangan delegatsiya) zamonaviy ADda. Bu so'nggi nuqtaga muayyan xizmatlar uchun o'rta nuqtadan delegatsiyani qabul qilishga tayanib, dastlabki ulanishda sizning shaxsingizni oshkor qilishdan qochadi. Oxirgi domen kontrollerlari va yangilangan RSAT talab qiladi.

Maxsus yakuniy nuqtalar (sessiya konfiguratsiyasi)

Remotingning marvaridlaridan biri bu ulanish nuqtalarini ro'yxatdan o'tkazishdir moslashtirilgan imkoniyatlar va chegaralar. Avval siz New-PSSessionConfigurationFile (oldindan yuklash uchun modullar, ko'rinadigan funksiyalar, taxalluslar, ExecutionPolicy, LanguageMode va boshqalar) bilan fayl yaratasiz va keyin uni Register-PSSessionConfiguration-da ro'yxatdan o'tkazasiz, bu erda sozlashingiz mumkin. RunAsCredential va ruxsatlar (SDDL yoki -ShowSecurityDescriptorUI bilan GUI interfeysi).

Xavfsiz delegatsiya uchun -VisibleCmdlets/-VisibleFunctions bilan faqat kerakli narsalarni oching va agar kerak bo'lsa, bepul skriptni o'chiring. LanguageMode Cheklangan til yoki NoLanguage. Agar siz FullLanguage-dan chiqsangiz, kimdir RunAs bilan birlashgan holda ochiq buyruqlarni chaqirish uchun skript blokidan foydalanishi mumkin. teshik bo'lardi. Ushbu so'nggi nuqtalarni nozik tishli taroq bilan loyihalang va ularning ko'lamini hujjatlang.

Domenlar, GPO va guruh dasturlari

ADda siz Powershell Remoting-ni GPO bilan miqyosda o'rnatishingiz mumkin: WinRM tinglovchilarining avtomatik konfiguratsiyasiga ruxsat bering, xizmatni Avtomatik ga o'rnating, va xavfsizlik devori istisnosini yarating. Esda tutingki, GPO sozlamalarni o'zgartiradi, lekin ular har doim ham xizmatni bir zumda yoqmaydi; ba'zan siz gpupdate-ni qayta ishga tushirishingiz yoki majburlashingiz kerak.

Eksklyuziv tarkib - Bu yerga bosing  Norton Mobile Security-dan qanday foydalanish kerak?

Ishchi guruhlarda (domendan tashqari) masofadan boshqarishni sozlang PSRemoting-ni yoqish, mijozga TrustedHosts-ni o'rnating (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) va mahalliy hisob ma'lumotlaridan foydalaning. HTTPS uchun siz o'z-o'zidan imzolangan sertifikatlarni o'rnatishingiz mumkin, ammo ishonchli CA va foydalanish tavsiya etiladi nomini tasdiqlang sertifikatda -ComputerName da ishlatadigan (CN/SAN mosligi).

Kalit cmdletlari va sintaksisi

Bir hovuch komandolar qoplaydi Kundalik stsenariylarning 90%. Faollashtirish/o‘chirish uchun:

Enable-PSRemoting    
Disable-PSRemoting

Interaktiv sessiya 1 dan 1 gacha va chiqish:

Enter-PSSession -ComputerName SEC504STUDENT 
Exit-PSSession

1 dan ko'pga, parallellik va hisobga olish ma'lumotlari bilan:

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

Doimiy sessiyalar va qayta foydalanish:

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

Sinov va WinRM Foydali:

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

Faervol, tarmoq va portlar bo'yicha amaliy eslatmalar

Maqsadli kompyuterda HTTP uchun 5985/TCP va HTTPS uchun 5986/TCP ni oching har qanday oraliq xavfsizlik devoriWindows mijozlarida Enable-PSRemoting domen va shaxsiy profillar uchun qoidalar yaratadi; umumiy profillar uchun, agar siz Set-NetFirewallRule -RemoteAddress Any (xavfingizga qarab baholashingiz mumkin bo'lgan qiymat) bilan qamrovni o'zgartirmasangiz, u mahalliy quyi tarmoq bilan cheklangan.

Agar siz masofaviy buyruqlarni ishlatadigan SOAR/SIEM integratsiyasidan foydalansangiz (masalan, XSOAR dan), serverda DNS ruxsati xostlar, 5985/5986 ga ulanish va etarli mahalliy ruxsatlarga ega hisob ma'lumotlari. Ba'zi hollarda NTLM/Basic autentifikatsiyasi sozlashni talab qilishi mumkin (masalan, SSL bilan Basic-da mahalliy foydalanuvchidan foydalanish).

Enable-PSRemoting parametrlari (Operatsion xulosa)

-Tasdiqlashni amalga oshirishdan oldin so'raydi; - Kuch ogohlantirishlarga e'tibor bermaydi va kerakli o'zgarishlarni amalga oshirish; -SkipNetworkProfileCheck umumiy mijoz tarmoqlarida masofadan turib boshqarish imkonini beradi (sukut bo'yicha mahalliy quyi tarmoq bilan cheklangan); -WhatIf sizga o'zgarishlarni qo'llamasdan nima sodir bo'lishini ko'rsatadi. Bundan tashqari, har qanday standart cmdlet kabi, u qo'llab-quvvatlaydi umumiy parametrlar (-Verbose, -ErrorAction va boshqalar).

Esda tutingki, “Enable” siz uchun HTTPS tinglovchilari yoki sertifikatlarini yaratmaydi; agar sizga boshidan oxirigacha shifrlash kerak bo'lsa va autentifikatsiya asosida sertifikatlar, HTTPS tinglovchisini sozlang va CN/SAN-ni -ComputerName-da ishlatadigan nom bilan tasdiqlang.

Foydali WinRM va PowerShell masofaviy buyruqlar

Ba'zilar yotoqxonaning asosiy buyumlari kundalik hayot uchun:

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-ni masshtabda boshqarishda Remoting sizga "kompyuterdan kompyuterga" dan deklarativ va xavfsiz yondashuvga o'tish imkonini beradi. Doimiy seanslar, kuchli autentifikatsiya (Kerberos/HTTPS), cheklangan so'nggi nuqtalar va diagnostika uchun aniq izlarni birlashtirib, tezlik va nazoratni qo'lga kiritasiz xavfsizlik yoki auditni qurbon qilmasdan. Agar siz GPO-ni faollashtirishni standartlashtirsangiz va maxsus holatlarni (TrustedHosts, double-hop, sertifikatlar) o'zlashtirsangiz, kundalik operatsiyalar va hodisalarga javob berish uchun mustahkam masofaviy platformaga ega bo'lasiz.

ko'rinmas zararli dastur
Tegishli maqola:
Kompyuteringizni XWorm va NotDoor kabi ko'rinmas zararli dasturlardan qanday himoya qilish mumkin