WinRM istifadə edərək Windows-un uzaqdan idarə edilməsi. WinRM - PowerShell Winrm parametrləri ilə uzaqdan iş

WinRM istifadə edərək Windows-un uzaqdan idarə edilməsi.  WinRM - PowerShell Winrm parametrləri ilə uzaqdan iş
WinRM istifadə edərək Windows-un uzaqdan idarə edilməsi. WinRM - PowerShell Winrm parametrləri ilə uzaqdan iş

17.10.2011 Don Cons

Mən başa düşdüm ki, PowerShell-in yaradıcıları bir az tənbəldirlər və bu yaxşı haldır. Onlar hər əmr üçün -ComputerName parametrini kodlaşdırmaq məcburiyyətində qalmadılar, buna görə də "uzaqdan idarəetmə" adlı ümumi sistem yaratdılar. Əslində, bu sistem istənilən əmri uzaq kompüterdə işləməyə imkan verir. Siz hətta uzaq kompüterdə mövcud olan, lakin sizin kompüterinizdə olmayan müxtəlif əmrləri işlədə bilərsiniz. Bu o deməkdir ki, iş stansiyanızda hər bir əmri daim quraşdırmaq məcburiyyətində deyilsiniz. Bu uzaq sistem çox səmərəlidir və bir sıra maraqlı inzibati funksiyaları təmin edir

PowerShell-dən istifadə etməyə başlayanda Get-Service əmri ilə maraqlandım və onun -ComputerName parametrinin olduğunu gördüm. Bu, digər kompüterlərdən xidmətə qoşula biləcəyiniz anlamına gəlmirmi? Bir sıra eksperimentlər apardıqdan sonra gördüm ki, bu, məhz belədir. Maraqlandım və başqa əmrlərdən -ComputerName parametrlərini axtarmağa başladım. Və onların bir neçə olduğunu biləndə əsəbləşdim.

PowerShell iki növ uzaqdan idarəetmə təmin edir: birdən-birə (1:1) uzaqdan idarəetmə və birdən çox (1:n) uzaqdan idarəetmə. Onlar haqqında danışmazdan əvvəl bəzi əsasları izah etmək istəyirəm.

PowerShell-də Uzaqdan İdarəetmə Əsasları

PowerShell uzaqdan idarəetmə Telnet və digər köhnə uzaqdan idarəetmə texnologiyaları kimi işləyir. Bir əmr işlətdiyiniz zaman o, əslində uzaq kompüterdə işləyir. Kompüterinizə qaytarılan hər şey bu əmrin nəticəsidir. Telnet və ya Secure Shell-dən (SSH) fərqli olaraq, PowerShell İdarəetmə üçün Veb Xidmətləri (WS-Management) adlı yeni rabitə sistemi protokolundan istifadə edir. Protokol HTTP və ya HTTP Təhlükəsizliyi (HTTPS) üzərində işləyir ki, bu da lazım olduqda firewall vasitəsilə marşrutu asanlaşdırır, çünki protokol rabitə qurmaq üçün yalnız bir portdan istifadə edir. Microsoft-un WS-Management tətbiqi Windows Uzaqdan İdarəetmə adlı fon xidməti şəklində gəlir. WinRM PowerShell 2.0 ilə quraşdırılıb və standart olaraq Windows Server 2008 R2 kimi serverlərdə işləyir. Windows 7-də standart olaraq quraşdırılıb, lakin aktivləşdirilməyib. Komandanı göndərmək istədiyiniz kompüterlərdə WinRM-i aktivləşdirməlisiniz. Fiziki olaraq arxada olduğunuz kompüterin WinRM xidmətini işə salmasına ehtiyac yoxdur.

Bütün PowerShell əmrləri obyektləri çıxış kimi istehsal edir. Bir əmri uzaqdan işlətdiyiniz zaman onun çıxışı HTTP və ya HTTPS istifadə edərək şəbəkə üzərindən asanlıqla ötürülə bilən formada olmalıdır. Məsələn, PowerShell avtomatik olaraq çıxış obyektlərini şəbəkə üzərindən göndərilən XML fayllarına çevirir. Onlar kompüterinizə çatdıqdan sonra PowerShell-in işləyə biləcəyi obyektlərə yenidən çevrilirlər. Bununla belə, bu geri çevrilmiş obyektlər əslində anlıq görüntülərdir. Hər dəqiqə özlərini yeniləyə bilmirlər. Beləliklə, uzaq bir kompüterdə işləyən prosesləri təmsil edən obyektlərə çatmaq məcburiyyətindəsinizsə, əldə edilən nəticə yalnız bu obyektlərin yaradıldığı müəyyən bir müddət üçün doğru olacaqdır. Yaddaş və CPU istifadəsi kimi dəyərlər dəyişməyəcək. Üstəlik, geri çevrilən obyektləri heç bir şey etməyə məcbur edə bilməyəcəksiniz. Məsələn, bir obyektə özünü dayandırmağı əmr edə bilməzsiniz. Bu, uzaqdan əməkdaşlığın əsas məhdudiyyətidir, lakin bu, işləməyinizə və maraqlı işlər görməyə mane olmayacaq.

Uzaqdan idarəetmə sistemindən istifadə etmək üçün yalnız bir neçə əsas tələb var.

  • Sizin kompüteriniz (yəni yerli kompüter) və əmr göndərmək istədiyiniz kompüteriniz (aka uzaq kompüter) Windows PowerShell 2.0 ilə necə işləməlidir? Windows XP, PowerShell 2.0 quraşdıra biləcəyiniz Windows-un köhnə versiyasıdır. Beləliklə, köhnə versiya da uzaqdan seansda iştirak edə bilər.
  • İdeal olaraq, yerli və uzaq kompüterlər eyni domenin üzvləri və ya etibarlı/etibarlı domenlərin üzvləri olmalıdır. Domendən kənarda uzaqdan idarəetmə sistemi ilə işləyə bilərsiniz, lakin bu, çətindir və mən burada bu barədə danışmayacağam. Bu ssenari haqqında daha çox öyrənmək üçün Uzaqdan_Troubleshooting haqqında PowerShell Yardım mövzusuna baxın.

WinRM İcmalı

İndi WinRM-ə keçək, çünki uzaqdan işə başlamaq üçün bu xidmətin parametrlərini konfiqurasiya etməlisiniz. Yenə də, yalnız uzaq kompüterdə WinRM və PowerShell uzaqdan idarəetmə parametrlərini təyin etməlisiniz. İşlədiyim əksər mühitlərdə administratorlar XP və ya daha sonrakı versiyaları işləyən hər bir kompüterdə uzaqdan idarəetməni aktivləşdiriblər. Bu, nəzərə çarpmadan masaüstü və noutbuk kompüterlərinə nüfuz etməyə imkan verir ki, bu da çox faydalı ola bilər (bu o deməkdir ki, belə kompüterlərin istifadəçiləri nə etdiyinizi bilməyəcəklər).

Bu o demək deyil ki, WinRM PowerShell üçün xüsusi bir şeydir. WinRM trafiki çoxlu inzibati proqramlara yönləndirə bilər. Əslində, WinRM dispetçer kimi çıxış edir. Trafik gəldikdə, WinRM hansı tətbiqin onunla qarşılıqlı əlaqədə olacağına qərar verir və onu təyinat tətbiqinin adı ilə işarələyir. Qəbul edən proqram WinRM-də qeydiyyatdan keçməlidir ki, WinRM onun adından daxil olan trafiki dinləyə bilsin. Başqa sözlə, yalnız WinRM-i aktivləşdirməli deyilsiniz, həm də Power Shell-i WinRM üçün son nöqtə kimi qeydiyyatdan keçirməlisiniz.

Hər iki tapşırığı yerinə yetirməyin ən asan yolu PowerShell-i administrator kimi işə salmaq və Enable-PSRemoting əmrini işə salmaqdır. Set-WSManQuickConfig adlı başqa bir əmr üçün təlimata baxa bilərsiniz. Komandanı işə salmağa ehtiyac yoxdur. Enable-PSRemoting bunu sizin üçün edir və o, həmçinin uzaqdan əlaqə və əməliyyat qurmaq üçün zəruri olan bir sıra digər addımları da yerinə yetirir. Əsasən, Enable-PSRemoting əmri WinRM xidmətini işə salır, onu avtomatik işə salmaq üçün konfiqurasiya edir, PowerShell-i son nöqtə kimi qeyd edir və hətta daxil olan WinRM trafikinə icazə vermək üçün Windows Firewall-da istisnalar təyin edir.

Uzaqdan idarəetməni aktivləşdirmək üçün hər kompüterdən keçmək istəmirsinizsə, Qrup Siyasəti Obyektindən (GPO) istifadə edə bilərsiniz. Tələb olunan GPO parametrləri Windows Server 2008 R2 domen kontrollerlərində quraşdırılmışdır. Sadəcə GPO-nu açın və Kompüter Konfiqurasiyası\ marşrutuna keçin.

İnzibati Şablonlar\Windows Komponentləri. Siyahının altında konfiqurasiya etməli olduğunuz parametrlər olan Remote Shell və Windows Remote Management (WRM) funksiyalarını tapa bilərsiniz. Uzaqdan rabitə sistemindəki problemlərə dair Yardım bölməsi (Remote_Troubleshooting) sizə bunu necə etmək barədə ətraflı təlimat verəcəkdir. Müəssisədə Uzaqdan İdarəetməni Necə Aktiv Etmək olar və Yardımda Qrup Siyasətindən istifadə etməklə Dinləyiciləri Necə Aktivləşdirmək olar bölmələrini nəzərdən keçirin.

WinRM 2.0 (PowerShell-in istifadə etdiyi) standart olaraq HTTP üçün TCP 5985 və HTTPS üçün 5986 portundan istifadə edir. Bu, WinRM-nin 80 və 443 portlarını dinləmək üçün konfiqurasiya edilmiş yerli quraşdırılmış veb serverlərlə ziddiyyət təşkil etməməsini təmin edir. Siz WinRM-i alternativ portlardan istifadə etmək üçün konfiqurasiya edə bilərsiniz, lakin mən bunu tövsiyə etmirəm. Bu portları tərk etsəniz, bütün PowerShell uzaqdan giriş əmrləri yaxşı işləyəcək. Bu portları dəyişdirsəniz, uzaqdan giriş əmrini yerinə yetirərkən həmişə alternativ portu təyin etməli olacaqsınız. Bu o deməkdir ki, daha çox yazmalı olacaqsınız. Portu tamamilə dəyişdirmək lazımdırsa, əmri daxil edə bilərsiniz:

Winrm set winrm/config/dinləyici? Ünvan=* +Nəqliyyat=HTTP @(Port="1234")

1234 rəqəmləri sizə lazım olan portu göstərir. Burada bu əmr bir neçə sətirdə yazılıb, ancaq onu bir sətirə daxil etmək lazımdır. Eyni şey məqalədə təsvir olunan bütün digər əmrlərə aiddir. Əgər http əvəzinə HTTPS istifadə etməlisinizsə, yeni HTTPS portunu konfiqurasiya etmək üçün bu əmri dəyişdirə bilərsiniz. Etiraf etməliyəm ki, standart olaraq alternativ portlardan istifadə etmək üçün yerli kompüterlərdə WinRM parametrlərini konfiqurasiya etməyin bir yolu var. Beləliklə, siz uzaqdan giriş əmrini işlətdiyiniz zaman daim alternativ port təyin etməli olmayacaqsınız. Ancaq Microsoft tərəfindən verilən standart parametrlərlə işləyək.

Əgər siz Remote Shell-də GPO parametrlərinə daxil olsanız, görəcəksiniz ki, siz, məsələn, server onu dayandırmazdan əvvəl uzaq sessiyanın nə qədər qeyri-aktiv qalacağını təyin edə bilərsiniz; eyni anda neçə eyni istifadəçi uzaq serverə daxil ola bilər; hər bir uzaq qabığın nə qədər yaddaş və proseslərdən istifadə edə biləcəyi; İstifadəçilərin bir anda aça biləcəyi uzaq mərmilərin maksimum sayı. Bu parametrlər serverlərinizin unutqan idarəçilər tərəfindən həddən artıq yüklənməməsinə kömək edəcək. Bununla belə, siz uzaqdan idarəetmədən istifadə etmək üçün standart olaraq administrator olmalısınız, belə ki, adi istifadəçilərin serverlərinizi tıxanmasından narahat olmaq lazım deyil.

Uzaqdan qarşılıqlı əlaqə 1:1

1:1 uzaqdan idarəetmə ilə, bir uzaq kompüterdə əmr xəttinə girişiniz var. Verdiyiniz hər hansı əmrlər bilavasitə uzaq kompüterdə işləyir və siz nəticələri Əmr əmri pəncərəsində görürsünüz. PowerShell komanda xətti mühiti ilə məhdudlaşmağınız istisna olmaqla, Uzaq Masaüstü Bağlantısından istifadə etməyə bir qədər bənzəyir. PowerShell uzaqdan idarəetmə Uzaq Masaüstünün tələb etdiyi resursların bir hissəsindən istifadə edir, buna görə də serverlərinizə daha az təsir göstərir.

Server-R2 adlı uzaq kompüterlə 1:1 nisbətində əlaqə yaratmaq üçün işə salmaq lazımdır

Enter-PSSession -Kompüter adı Server-R2

Uzaqdan idarə olunan cihazda uzaqdan idarəetməni aktiv etdiyinizi, kompüterin eyni domendə olduğunu və şəbəkənizin normal işlədiyini fərz etsək, tələb etdiyiniz əlaqəni əldə edəcəksiniz. PowerShell sizə əmr sorğusunu dəyişdirməklə məqsədinizə çatdığınızı bilmək imkanı verir

PS C:\>

Bu hissə sizə etdiyiniz hər şeyin Server-R2-də baş verdiyini bildirir. Bundan sonra istədiyiniz əmrləri yerinə yetirə bilərsiniz. Siz hətta istənilən modulları idxal edə və uzaq kompüterdə yerləşəcək PowerShell uzantılarını (PSSnapins) əlavə edə bilərsiniz.

Hətta icazələr eyni qalacaq. PowerShell kopyanız işə salındığı eyni təhlükəsizlik nişanı ilə işləyəcək. PowerShell bunu Kerberos istifadə edərək edir, ona görə də istifadəçi adı və parolu şəbəkə üzərindən ötürmür. Uzaq kompüterdə işlətdiyiniz hər hansı əmr etimadnaməniz altında işləyəcək, buna görə də icazəniz olan hər şeyi edə bilərsiniz. Bu, birbaşa kompüterin konsolundan daxil olmağa və həmin kompüterin PowerShell nüsxəsini istifadə etməyə bənzəyir. Demək olar ki, belədir. Burada bir neçə fərq var.

  • Uzaq kompüterdə profiliniz üçün PowerShell skriptiniz varsa, uzaqdan giriş sistemindən istifadə edərək qoşulduqda o işləməyəcək. Sadə dillə desək, profillər hər dəfə Əmr əmri pəncərəsini açdığınız zaman avtomatik işləyən əmrlər paketidir. Onlar uzantıları, modulları və sairləri avtomatik yükləmək üçün istifadə olunur.
  • Siz uzaq kompüterin İcra Siyasəti ilə məhdudlaşırsınız. Deyək ki, kompüter siyasətiniz RemoteSigned-ə ayarlanıb ki, siz yerli imzasız skriptləri işə sala biləsiniz. Uzaqdan kompüter siyasəti Məhdudlaşdırılıbsa (defolt parametr), siz uzaqdan əlaqə saxladığınız zaman heç bir skriptin işləməsinə icazə verməyəcək.

Bir çox PowerShell əmrləri cüt-cüt olur: biri nəyisə edir, digəri isə bunun əksini edir. Bizim vəziyyətimizdə Enter-PSSession sizi uzaq kompüterə qoşur və Exit-PSSession həmin əlaqəni bağlayır. Exit-PSSession heç bir parametr tələb etmir. Başladıqdan sonra uzaqdan əlaqə bağlanır və Əmr İstemi pəncərəsi sorğunuz normal vəziyyətinə qayıdır. Exit-PSSession-u işə salmağı unutsanız nə olacaq? Narahat olma. PowerShell və WinRM nə etdiyinizi anlaya və lazım gələrsə uzaqdan əlaqəni bağlaya bilər.

Mən bir məsləhət vermək istəyirəm. Uzaq kompüterə qoşulduqda, nə etdiyinizdən tam xəbərdar olana qədər Enter-PSSession-u işə salmayın. Məsələn, siz ComputerA-da işləyirsiniz. Siz Server-R2-yə qoşulursunuz. Çalışdığınız PowerShell xəttində

PS C:\>Enter-PSSession Server-DC4

Server-R2 indi Server-DC4 ilə açıq əlaqəni ehtiva edir. Bu, izləmək çətin olan "uzaqdan zəncir" yaradır. Bundan əlavə, serverləriniz lazımsız yerə yüklənir. Bunu etməli olduğunuz vaxtlar ola bilər (məsələn, Server-DC4 firewall arxasındadır və siz ona birbaşa daxil ola bilmirsiniz, ona görə də siz Server-R2-dən vasitəçi kimi istifadə etməlisiniz). Bununla belə, ümumi qayda belədir: zəncirləri uzaqlaşdırmağa çalışmayın.

1:n uzaqdan

PowerShell ilə bağlı ən gözəl şeylərdən biri 1:n uzaqdan idarəetmədir. Bu, eyni zamanda bir neçə uzaq kompüterə əmrlər göndərməyə imkan verir - tam şəkildə yayılmış paylanmış hesablama. Hər bir kompüter fərdi olaraq əmri yerinə yetirəcək və nəticələri sizə göndərəcəkdir. Hər şey bu formada Invoke-Command əmrindən istifadə etməklə edilir:

Invoke-Command -ComputerName Server-R2, Server-DC4, Server12 -Command (Get-EventLog Security - Newest 200 | Harada ($_.EventID -eq 1212))

Xarici əyri mötərizələrdəki əmr hər üç uzaq kompüterə göndərilir. Varsayılan olaraq, PowerShell eyni anda 32-yə qədər kompüterlə danışa bilər. 32-dən çox kompüter göstərsəniz, onlar növbəyə qoyulacaq. Sonra bir kompüter bağlandıqda, növbəti kompüter əmri yerinə yetirir. Həqiqətən sürətli şəbəkəniz və güclü kompüterləriniz varsa, ThrottleLimit əmr parametrindən istifadə edərək onların sayını artıra bilərsiniz. Bu parametrdən necə istifadə ediləcəyini Yardım səhifəsində Invoke-Command-da oxuya bilərsiniz.

Bu əmrin Yardım səhifəsində görməyəcəyiniz yeganə parametr Əmr parametridir. Artıq göstərdiyim kimi, əla işləyir. Command parametri Yardım səhifəsində verilmiş ScriptBlock parametri üçün ləqəb və ya qısa addır. Mənə Command-dan istifadə etmək daha asan gəlir, ona görə də mən ScriptBlock əvəzinə ondan istifadə edirəm, lakin onlar eyni işləyir.

Invoke-Command üçün Yardım səhifəsini diqqətlə oxusanız, əmrdən çox skript faylını təyin etməyə imkan verən bir seçim də gördün. FilePath parametri skripti uzaq kompüterlərə göndərməyə imkan verir; bu o deməkdir ki, siz bəzi mürəkkəb tapşırıqları avtomatlaşdıra və hər bir kompüterə işin öz payını verə bilərsiniz.

İndi kompüter adı parametrinə diqqət yetirək. Invoke-Command nümunə kodunda məndə kompüter adlarının vergüllə ayrılmış siyahısı var idi. Bir çox kompüteriniz varsa, hər dəfə onlara qoşulduqda onların adlarını yazmaq istəməyə bilərsiniz. Bunun əvəzinə vergül, dırnaq və ya başqa heç nə olmadan bir sətirdə bir kompüter adı olan mətn faylı yarada bilərsiniz. Məsələn, mətn faylınızın adı webservers.txt olsaydı, siz belə koddan istifadə edərdiniz:

Invoke-Command -Command ( dir ) - ComputerName (Get-Content webservers.txt)

Mötərizələr PowerShell-i əvvəlcə Get-Content əmrini yerinə yetirməyə məcbur edir - bu, riyaziyyatda mötərizələrin necə işlədiyinə bənzəyir. Get-Content-in nəticələri daha sonra -ComputerName parametri daxilində yerləşdirilir.

Active Directory-də kompüter adını sorğulamaq da mümkündür, lakin bu daha mürəkkəbdir. Kompüteri tapmaq üçün siz Get-ADComputer əmrindən istifadə edə bilərsiniz, lakin Get-Content ilə etdiyiniz kimi əmri mötərizələrə daxil etməyəcəksiniz. Niyə də yox? Get-Content sadə mətn sətirlərini, Get-ADComputer isə "kompüter" tipli obyektləri istehsal edir. -ComputerName parametri sətir gözləyir. Əgər o, kompüter obyektlərini qəbul etməli olsaydı, onlarla nə edəcəyini bilməyəcəkdi. Buna görə də, Get-ADComputer-dən istifadə etmək istəyirsinizsə, kompüter obyektlərinin Name xassəsindən dəyərləri əldə etməlisiniz. Bunun kimi:

Invoke-Command -Command (dir) -ComputerName (Get-ADComputer -Filter * -SearchBase "ou=Sales, dc=company, dc=pri" | Select-Object -Adı genişləndir)

Mötərizədə kompüter obyektləri Select-Object əmrinə ötürülür və bu kompüter obyektlərinin Name xassəsini tapmaq üçün -Expand parametrindən istifadə olunur. Mötərizədə ifadənin nəticəsi kompüter obyektləri deyil, kompüter adları toplusudur. Kompüter adları məhz -Computer Name parametrinin ehtiyac duyduğu şeylərdir.

Get-ADComputer ilə tanış deyilsinizsə, gəlin bu əmrin nə etdiyinə nəzər salaq. -Filter parametri bütün kompüterlərin nəticələrə daxil edilməli olduğunu müəyyən edir və -Search Base parametri PowerShell-ə ​​company.pri domenində Satış təşkilatı qrupunda (OU) kompüterləri axtarmağa başlamağı göstəriş verir. Get-ADComputer əmri yalnız Windows Server 2008 R2 və Windows 7-də Remote Server Administration Tools quraşdırıldıqdan sonra mövcuddur. Çalışdığınız bu əməliyyat sistemlərində

Import-Module ActiveDirectory

kataloq xidməti əmrlərini istifadə oluna bilməsi üçün əmr qabığına yükləmək.

Başqa bir şey var!

Bütün bu nümunələr peer-to-peer remoting seansları üçün verilmişdir. Qısa müddət ərzində eyni kompüterlərə (və ya kompüterə) bir neçə dəfə yenidən qoşulmaq niyyətindəsinizsə, təkrar istifadə edilə bilən, davamlı seanslar yarada bilərsiniz. Bağlantı alternativ etimadnaməsini, qeyri-defolt port nömrəsini və ya əlavə parametrlər tələb edən başqa bir şey tələb edirsə, bu çox faydalıdır.

Davamlı seanslar yaratmaq üçün New-PSSession əmrindən istifadə etməli, sonra onları asanlıqla əldə etmək üçün dəyişəndə ​​saxlamalısınız. Məsələn, aşağıdakı kod üç kompüterlə uzaqdan seans yaradır və onları $sessions dəyişənində saxlayır:

$sessions = Yeni-PSSession -KompüterAdı Bir, İki, Üç -Port 5555 -Etibarnamə DOMAIN\Administrator

Komanda qabığını bağladığınız zaman uzaqdan idarəetmə seansları avtomatik olaraq bağlanır, lakin o vaxta qədər yerli və uzaq sistemlərdə yaddaş və bəzi CPU istifadəsini tuta bilər. Onları tam olaraq bağlamaq üçün Sil-PSSession əmrindən istifadə edə bilərsiniz:

$sessiyalar | Sil-PSSession

Sessiyaları yenidən açmaq lazım olduqda, Invoke-Command-dan istifadə edə bilərsiniz:

Invoke-Command -Command (dir) -Session $sessions

Və ya Enter-PSSession-dan istifadə edə bilərsiniz:

Enter-PSSession -Session $session

Qeyd edək ki, Enter-PSSession kodunda yalnız bir uzaq seans yenidən açılır. İndeks dəyişəni 1 PowerShell-ə ​​iki adlı kompüterlə sessiyanı yenidən açması lazım olduğunu bildirir (indeks sıfır əsaslıdır).

Gördüyümüz kimi, PowerShell uzaqdan idarəetmənin bir çox üstünlükləri var. İstifadə etsəniz, üfüqlərinizi nə qədər genişləndirəcəyini görəcəksiniz.

Don Cons ( [email protected]) PowerShell texniki təlimatçısıdır (www.windowsitpro.com/go/DonJonesPowerShell), 35-dən çox kitabın müəllifidir. Microsoft MVP tituluna malikdir



Oxunub: 839

Windows Uzaqdan İdarəetmə (WinRM) xidmətini istifadə edərək bütün hədəf kompüterlərdə mərkəzləşdirilmiş şəkildə necə aktivləşdirə və konfiqurasiya edə biləcəyiniz prosesində sizə məlumat verəcəyəm. QrupTəhlükəsizlikSiyasət. Windows Uzaqdan İdarəetmə administratorlara müştəri və server Windows əməliyyat sistemlərinə uzaqdan daxil olmaq və idarə etmək imkanı verən xüsusi xidmətdir.

Gəlin adi bir PC götürəkWindowsDomenə daxil olan və funksiyası aktivləşdirilməyən 7WindowsUzaqdanİdarəetmə. Komanda xəttində aşağıdakı əmri daxil edin:

Administrator hüquqları ilə komanda xəttini işə salaq.

WRM-nin quraşdırılmadığını göstərən aşağıdakı səhv mesajını görməlisiniz:

WSMan xətası. Müştəri sorğuda göstərilən təyinat yerinə qoşula bilmir. Xəta nömrəsi: – 2144108526 0?80338012

WinRM-ni ayrı bir sistemdə əl ilə konfiqurasiya etmək lazımdırsa, sadəcə əmri yazın:

winrm sürətli konfiqurasiyası

Onu bir iş stansiyasında quraşdırmaq variantını nəzərdən keçirdim.

Əgər bir qrup kompüterdə WinRM-i konfiqurasiya etmək lazımdırsa, siz xüsusi Qrup Siyasəti parametrlərindən istifadə edə bilərsiniz. İş stansiyalarının yerləşdiyi konteyner üçün qrup siyasəti yaradaq. Kompüter konfiqurasiyası- Siyasətçilər - İnzibati Şablonlar-> Windows Komponentləri - Windows Uzaqdan İdarəetmə. Aşağıdakı parametrləri aktivləşdiririk:

Windows Uzaqdan İdarəetmə Müştərisi.

Windows Uzaqdan İdarəetmə Xidməti

IPv4 filtri bölməsində göstərmək *, yəni kompüter istənilən yerdən əlaqələri (və buna görə də idarəetmə əmrlərini) qəbul edə bilər.

Daha sonra bölmədə Kompüter konfiqurasiyası- Siyasətçilər - İnzibatişablonlar – Windows Komponentləri – Windows Remote Shell

Elementi aktivləşdirin:

Uzaqdan qabıq girişinə icazə verin - Aktivdir

Siz xidmətlərin başlama üsulunu aşağıdakı qrup siyasəti bölməsindən idarə edə bilərsiniz: Kompüter Konfiqurasiyası – Siyasətlər – Windows Konfiqurasiyası – Təhlükəsizlik Parametrləri – Sistem Xidmətləri.

Windows Uzaqdan İdarəetmə Xidmətini (WM-İdarəetmə) açın və aşağıdakı parametrləri edin, ekran görüntüsünə baxın.

Hamısı hazırdır. İş stansiyasını yenidən başladın və Qrup Siyasətindən istifadə edərək WinRM-i aktivləşdirdikdən sonra tanış komandadan istifadə edərək müştəri sistemindəki xidmət vəziyyətini yoxlayın:

WinRM winrm/config/dinləyicini sadalayın

WinRM xidmətinin başlanğıc növünün avtomatik olaraq təyin olunduğuna əmin olaq. Əslində işə salma növü "gecikmə ilə avtomatik" olsa da, çünki Varsayılan olaraq, WinRM xidmətində başlanğıc gecikmə dəsti var (parametr DelayedAutoStart=1 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinRM filialında).

Qrup Siyasətini tətbiq etdikdən sonra bu sistemi WinRS əmrləri ilə uzaqdan idarə etmək olar. Aşağıdakı əmr uzaq sistemdə işləyən əmr sorğusunu açacaq:

qaliblər -r:<имя_компьютера>cmd

Command Prompt pəncərəsi göründükdən sonra siz uzaq kompüterdə hər hansı əmri yerinə yetirə və nəticələrinə baxa bilərsiniz, sanki yerli olaraq işləyirsiniz. Qeyd edək ki, WinRM ana kompüterinizdə də aktivləşdirilməlidir.

Mənim vəziyyətimdə test maşını alektest4 adlanır

winrs -r:alektest4 cmd

Post naviqasiyası

Telegram müştərisindən istifadə edərkən proksidən istifadə edin ((Roskomnadzor tərəfindən bloklanıb, vpn və ya proxy istifadə edin)).

WinRM istifadə edərək uzaqdan Windows İdarəetmə

Əslində WinRM(və ya Windows Uzaqdan İdarəetmə) və “uzaqdan idarəetmə” kimi tərcümə olunur Windows". WinRM– əməliyyat sistemləri üçün uzaqdan idarəetmə xidməti Windows. O vaxtdan əməliyyat sistemlərinə daxil edilmişdir VistaServer 2008, Üçün Windows XPServer 2003 onu buradan ayrıca quraşdırmaq lazımdır. WinRM– müştəridən istifadə edərək uzaqdan qoşulmaq mümkün olan uzaqdan idarəetmə proqramının server hissəsi Windows Remote Shell (WinRS).

WinRM xidmətə əsaslanır İdarəetmə üçün Veb Xidmətləri (WS-Management) və işi yerinə yetirmək üçün HTTP (port 80) və ya HTTPS (443) və SOAP sorğularından istifadə edir. İstifadə olunan protokoldan asılı olmayaraq, bütün trafik göndərilir WinRMşifrələnmişdir (bu seçimi xüsusi olaraq söndürməsəniz). Defolt identifikasiya protokolu belədir Kerberos.

IN Windows Server 2008 WinRM quraşdırılıb, lakin (təhlükəsizlik səbəbindən) standart olaraq aktiv edilməyib. Çalışdığını yoxlamaq üçün WinRM maşınımızda əmr satırına yazın winrm winrm/config/dinləyicini sadalayın

Cavab yoxdursa, deməli WinRM qaçmır. Quraşdırmaq üçün WinRM avtomatik başlamaq və kompüterə uzaqdan qoşulmağa icazə vermək üçün əmri yazın winrm sürətli konfiqurasiyası və ya winrm qc

WinRM-in təsdiq istəməsinin qarşısını almaq üçün siz açarı zəngə əlavə edə bilərsiniz -sakit. Daxili yardımı dəqiq tənzimləmək haqqında məlumat tapa bilərsiniz. WinRM: winrm yardım konfiqurasiyası

Yaxşı, söndürün WinRM bu əmrdən istifadə edə bilərsiniz:
winrm winrm/config/listeri sil?IPAdress=*+Nəqliyyat=HTTP

Həmçinin, bütün lazımi parametrlər qrup siyasətlərindən istifadə etməklə edilə bilər. Bunu etmək üçün sizə lazımdır:

  • Xidmət qurun WinRM avtomatik işə salmaq üçün
  • Firewallda müvafiq portlara (80 və 443) qoşulmağa icazə verin Windows
  • Qrup Siyasəti elementini konfiqurasiya edin Kompüter Konfiqurasiyası\İnzibati Şablonlar\Windows Komponentləri\Windows Uzaqdan İdarəetmə\Windows Uzaqdan İdarəetmə\Dinləyicilərin avtomatik quraşdırılmasına icazə ver (Kompüter Konfiqurasiyası\İnzibati Şablonlar\Windows Komponentləri\Windows Uzaqdan İdarəetmə\WinRM Xidməti\Dinləyicilərin avtomatik konfiqurasiyasına icazə verin). Burada bağlantılara icazə verilən IP ünvanlarını göstərməlisiniz.

İndi istifadə etməyə davam edək. Uzaq kompüterə qoşulmaq üçün yardım proqramından istifadə edirik WinRS. WinRS- qısaltması Windows Remote Shell(uzaq mühit Windows). İLƏ WinRS işləyən kompüterlərə uzaqdan sorğular edə bilərik WinRM. Bununla belə, maşınınızın da işləməsi lazım olduğunu unutmayın WinRM ilə işləmək WinRS.

Əsas istifadə üsulu WinRS uzaq bir maşında əmrləri yerinə yetirməkdir. Kompüterin adı açarla müəyyən edilir -r məsələn, yerinə yetiriləcək əmrdən sonra qaliblərr: SRV2 ipconfig / hamısı uzaq kompüterdə işləyir SRV2 komanda ipconfig/hamısı

Rabitə üçün standart protokoldur http, lakin siz də istifadə edə bilərsiniz https: winrs -r:https://SRV2 ipconfig /all

Siz də istifadə edə bilərsiniz WinRS uzaq kompüterdə interaktiv sessiya açın: winrs -r: SRV2 cmd.exe

Bu funksiya vasitəsilə qoşulmağa bənzəyir telnet, lakin istifadə edin WinRS Təhlükəsizlik baxımından daha yaxşıdır.

WinRM-dən istifadə etmək üçün bütün kompüterlər eyni domenin üzvləri olmalıdır. Əgər sizin vəziyyətinizdə belə deyilsə, təhlükəsizlik səviyyəsini aşağı salmağa cəhd edə bilərsiniz. Bunu etmək üçün daxil olmaq istədiyimiz kompüterdə aşağıdakı əmrləri daxil edin:

« doğru")

« »}

WinRM set winrm/config/client @(TrustedHosts= « Kompüter adı" }

burada ComputerName əlaqənin qurulacağı uzaq kompüterdir.

Qoşulacağımız kompüterə daxil edin:

WinRM set winrm/config/service/auth @(Əsas = « doğru")

WinRM set winrm/config/client @(TrustedHosts= « »}

WinRM set winrm/config/client @(TrustedHosts="Kompüter Adı" }

burada ComputerName idarə edəcəyimiz kompüterdir.

Sonra əmrdən istifadə edərək əlaqə qururuq:

qaliblər -r:"Kompüter Adı" : –u: Domain\İstifadəçi adı –p: parol cmd.exe

burada Domain\İstifadəçi adı uzaq kompüterdə administrativ hüquqları olan istifadəçi hesabıdır.

Bir dəfə iki serverdə WinRM ilə problem yaşadım.

1.SETSPN
Birincisi, problem HTTP/-nin SPN olması idi.<имя сервера>bəzi "yanlış" istifadəçi hesabı üçün qeydiyyatdan keçiblər.

Bu yazıları əmrlə tapdım
setspn -F -Q */<имя сервера>

Sonra onları əmrlərlə sildim
setspn -D http/<имя сервера>.<имя домена> <имя домена>\<левая учётная запись>
setspn -D http/<имя сервера> <имя домена>\<левая учётная запись>

Sonra aktiv-psremoting -force uğurla tamamlandı.

2. DİL PAKETİ
İkinci serverdə isə guya firewallla bağlı çətin bir problem var idi Firewall statusunu yoxlamaq mümkün deyil, bir çox saytlarda axtarış etdi və quraşdırılmış Dil Paketi ilə bağlı cavab əsasında intuitiv olaraq həlli tapdı.

WinRm QuickConfig
WinRM xidməti artıq bu maşında işləyir.
WSManFault
Mesaj
Provayder xətası
WSManFault
Mesaj = Firewall statusunu yoxlamaq mümkün deyil.

Xəta nömrəsi: -2147024894 0x80070002
Sistem göstərilən faylı tapa bilmir.

Cavabda qeyd olunub ki, bu səhv əlavə Dil Paketini silməklə həll edilə bilər.
Amma mən bunu başqa cür etdim. Məndə əlavə rus dili paketi olan ingiliscə əməliyyat sistemi var. Sadəcə interfeys dilini rus dilinə dəyişdim.
İdarəetmə Paneli, Regional və Dil Seçimləri, Dillər və Klaviaturalar interfeys dilini ingilis dilindən rus dilinə dəyişdi.
Sistemdən çıxdım və yenidən daxil oldum. Açılan PowerShell və təkrarlanan WinRm QuickConfig

PS C:\Windows\system32> winrm qc

WinRM xidməti kompüterin uzaqdan idarə edilməsinə icazə vermək üçün konfiqurasiya edilməyib.
Aşağıdakı dəyişikliklər edilməlidir:

Bu kompüterin hər hansı bir IP ünvanında WS-Man sorğularını qəbul etmək üçün HTTP://* üzərindən WinRM dinləyicisi yaradın.

Dəyişikliklər edilsin? y

WinRM xidməti uzaqdan idarəetmə üçün yeniləndi.

Bu kompüterin hər hansı bir IP ünvanında WS-Man sorğularını qəbul etmək üçün HTTP://* üzərindən WinRM dinləyicisi yaradıldı.

Uğurlu oldu, amma yenə də kifayət deyil.

Başqa bir kompüterdən bu serverdə uzaqdan əmrləri yerinə yetirməyə çalışarkən Giriş rədd edildi xətası ortaya çıxdı.

Yeni-PSSessiya: [<имя сервера>] Uzaq serverə qoşulur<имя сервера>aşağıdakı xəta mesajı ilə uğursuz oldu: Giriş rədd edildi. Ətraflı məlumat üçün, about_Remote_Problemlərin Giderilmesi Yardım mövzusuna baxın.

Sonra Enable-PsRemoting-i təkrarladım

PS C:\Windows\system32> Enable-PsRemoting

WinRM Tez Quraşdırma
Bu kompüterdə WinRM xidmətindən istifadə edərək uzaqdan idarəetməni aktivləşdirmək üçün Set-WSManQuickConfig əmrini işə salın.
Lazımi tədbirlər.
1. WinRM xidmətini işə salın və ya yenidən başladın (əgər artıq işləyirsə).
2. WinRM xidmət növünün "avtomatik işə salmağa" dəyişdirilməsi.
3. İstənilən IP ünvanında sorğuları qəbul etmək üçün dinləyici yaradın.
4. WS-Management xidmət trafiki üçün firewall istisnalarının konfiqurasiyası (yalnız http protokolu).

Davam edilsin?

(defolt dəyər "Y"-dir): a
WinRM xidməti artıq kompüterdə sorğuları qəbul etmək üçün konfiqurasiya edilib.
WinRM xidməti artıq kompüterin uzaqdan idarə olunmasına icazə vermək üçün konfiqurasiya edilib.

Təsdiq
Bu əməliyyatı yerinə yetirmək istədiyinizə əminsiniz?
"Sessiya Konfiqurasiyası" hədəf obyektində "Qeydiyyat Sessiyasının Konfiqurasiyası" əməliyyatının yerinə yetirilməsi
"Microsoft.PowerShell32" tapılmadı. "Register-PSSessionConfiguration Microsoft.PowerShell32" əmri yerinə yetiriləcək
"Microsoft.PowerShell32" sessiya konfiqurasiyasını yaratmaq üçün -processorarchitecture x86 -force". WinRM xidməti
yenidən başladı."
[Y] Bəli - Y [A] Hamı üçün bəli - A [N] Xeyr - N [L] Hamı üçün yox - L [S] Dayandırın - S [?] Yardım
(defolt dəyər "Y"-dir): a

Bundan sonra WinRM bu serverdə olduğu kimi işlədi.

WinRM və WinRS Windows Vista, Windows Server 2003 R2, Windows Server 2008 (və Server 2008 Core) sistemlərində yenidir. Bunlar sistem administratorlarına Windows maşınlarında təkmilləşdirilmiş uzaqdan idarəetmə və uzaqdan icra imkanları təklif edən güclü yeni komanda xətti alətləridir. Bununla belə, əvvəlcə onları aktivləşdirmək lazımdır və onların funksionallığını öyrənmək üçün bir az vaxt lazımdır. Bəxtiniz gətirdi, bu məqalədə bu vasitələrdən bu gün istifadə etməyə başlamaq üçün lazım olan hər şey var!

Windows Uzaqdan İdarəetmə (WinRM) nədir?

Windows Uzaqdan İdarəetmə (qısaldılmış WinRM) Windows Server 2003 R2, Windows Vista və Windows Server 2008 üçün yeni rahat uzaqdan idarəetmə xidmətidir. WinRM bu uzaqdan idarəetmə proqramının “server” komponentidir və WinRS (Windows Remote Shell) isə " WinRM serverini uzaqdan idarə etmək cəhdi ilə uzaq kompüterdə işləyən WinRM üçün müştəri". Bununla belə, qeyd etməliyəm ki, WinRS-in işləməsi və uzaq sistem haqqında məlumat alması üçün HƏR İKİ kompüterdə WinRM quraşdırılmalı və aktiv olmalıdır. WinRM İdarəetmə üçün Veb Xidmətləri (WS-Management) standartlarına əsaslanır. Bu o deməkdir ki, WinRM işi görmək üçün HTTP (port 80) və SOAP sorğularından istifadə edir. Bunun yaxşı tərəfi odur ki, HTTP sorğuları asanlıqla firewall vasitəsilə göndərilə bilər. Bundan yaxşı və pis nəticələr çıxır: bir tərəfdən uzaq kompüteri internet vasitəsilə idarə etmək daha asan olacaq, digər tərəfdən isə təcavüzkarın eyni kompüterə uzaqdan hücum etməsi daha asan olacaq. Port 80-dən istifadənin digər kiçik üstünlüyü ondan ibarətdir ki, daxil olan HTTP bağlantılarına artıq icazə verilibsə, serverdə başqa portların açılmasına ehtiyac yoxdur.

Microsoft-a görə, WinRM "Microsoft-un sistemin idarə edilməsi üçün standartlara əsaslanan API yaratmaq üçün yeni alətidir". Beləliklə, əgər əvvəllər bu cür alətlər haqqında öyrənməkdə maraqlı deyildinizsə, məncə, "bu, yeni Microsoft standartıdır" faktı onu öyrənməyə dəyər.

Windows İdarəetmə Alətləri (WMI) verilənlər bazası ilə artıq tanış ola bilərsiniz. Amma hər ehtimala qarşı deyim ki, bu verilənlər bazasında kompüterin texniki və proqram təminatı haqqında hər cür məlumat var. Windows sistemini idarə edən demək olar ki, hər bir proqram müəyyən bir kompüterdə bütün inzibati vəzifələri yerinə yetirmək üçün WMI verilənlər bazası səviyyəsinə enir.

WinRM, VBScript kimi digər proqram təminatı ilə yerinə yetirdiyiniz tapşırıqlara bənzər tapşırıqları yerinə yetirmək üçün WMI verilənlər bazasından istifadə edəcək. WinRM-in üstünlüyü ondan ibarətdir ki, o, dediyim kimi HTTP-dən (port 80) istifadə edir və hətta WinRM-ə 80-ci portda daxil olan əlaqələri artıq həmin portda işləyən IIS komponenti ilə bölməyə imkan verən xüsusi kod var.

WinRM hər kəsin müştərilərinizdə və serverlərinizdə inzibati tapşırıqları yerinə yetirməsinin qarşısını almaq üçün müxtəlif identifikasiya növlərini dəstəkləyir. Əlbəttə ki, WinRM-i işə salmaqla sisteminizə hücum üçün başqa bir yol açdığınızı xatırlamalısınız. Bununla belə, hər hansı açıq port üçün etdiyim kimi, əgər autentifikasiya və şifrələmə düzgün qurulubsa, siz bütün ağlabatan tədbirləri görmüş hesab oluna bilərsiniz.

Sistem idarəetmə proqramınızın istehsalçısı artıq öz proqram təminatının gələcək buraxılışlarında WinRM-dən istifadə etməyi planlaşdırmış ola bilər, ona görə də siz artıq digər proqramlar vasitəsilə WinRM-dən istifadə edirsiniz. Bununla belə, komandadan istifadə edərək bu komponentdən özünüz istifadə edə bilərsiniz winrm.cmd. Bu CLI aləti ilə siz həll etdiyiniz hər hansı tapşırıq üçün WMI verilənlər bazasından məlumatı çox asanlıqla çıxara bilərsiniz.

Aşağıda görəcəyiniz kimi, WinRM bir çox variantı olan bir komanda xətti interfeysinə malikdir. WinRM haqqında yardım məlumatı sisteminizdə aktiv olmasa belə sizə göstəriləcək.

Şəkil 1: WinRM Komanda Xətti Seçimləri

WinRM-i necə aktivləşdirmək və istifadə etmək olar?

Əgər siz Windows 2008 Server istifadə edirsinizsə, WinRM artıq quraşdırılıb, lakin defolt olaraq aktivləşdirilməyib. Bu, yaxşı bir ehtiyat tədbiridir. WinRM-in işə salındığını və maşınınızda işlədiyini yoxlamağın ən asan yolu əmr satırına getmək və aşağıdakıları yazmaqdır:

winrm winrm/config/dinləyicini sadalayın

Cavab almasanız, WinRM işləmir. WinRM-i avtomatik işə salmaq və uzaqdan girişə icazə vermək üçün əmrdən istifadə edin winrm sürətli konfiqurasiyası, Misal üçün:

C:\Users\Administrator> winrm sürətli konfiqurasiyası WinRM idarəetmə üçün bu maşına uzaqdan giriş icazəsi vermək üçün qurulmayıb.Aşağıdakı dəyişikliklər edilməlidir:Bu maşında istənilən IP-yə WS-Man sorğularını qəbul etmək üçün HTTP://* üzərindən WinRM dinləyicisi yaradın.Bu dəyişiklikləri etmək? y WinRM uzaqdan idarəetmə üçün yeniləndi.Bu maşındakı istənilən IP-yə WS-Man sorğularını qəbul etmək üçün HTTP://* üzərindən WinRM dinləyicisi yaradıldı.C:\Users\Administrator>

Quickconfig qurduqdan sonra aşağıdakı nəticələrlə sayma əmrini yenidən işlədirdim:

C:\Users\Administrator> winrm e winrm/config/dinləyici DinləyiciÜnvan = *Nəqliyyat = HTTPPort = 80Host adıAktiv = doğrudurURLPrefiks = wsmanSertifikatThumbprintListeningOn = 10.253.15.98, 127.0.0.1, ::1, fe80::5efe:10.253.15.98%11, fe80::9583:2148:e1ef:6444%10C:\Users\Administrator>

İndi bilirəm ki, WinRM aktivdir.

Yeri gəlmişkən, WinRM-i söndürmək istəyirsinizsə, bu əmrdən istifadə etməlisiniz:

winrm winrm/config/listeri sil?IPAdress=*+Nəqliyyat=HTTP

WinRM-dən istifadə etmək üçün onunla əlaqə saxlayan bütün qovşaqlar WinRM ilə işləyən node ilə eyni domenin üzvləri olmalıdır.

WinRS nədir və onu necə istifadə etmək olar?

WinRS Windows Remote Shell-in qısaldılmasıdır. WinRS ilə siz WinRM ilə işləyən Windows maşınlarına uzaqdan sorğular edə bilərsiniz. Bununla belə, unutmayın ki, WinRS ilə işləmək üçün maşınınız da WinRM ilə işləməlidir.

Aşağıdakı diaqramda gördüyünüz kimi, qaliblər necə istifadə ediləcəyinə dair çoxlu arayış məlumatı olan tam xüsusiyyətli komanda xətti alətidir.

Şəkil 2: WinRS komanda xətti seçimləri

WinRS-dən istifadə etməyin ən ümumi yollarından biri əmrləri uzaq bir maşında yerinə yetirməkdir. Əlbəttə ki, bu əlaqə HTTP protokolundan (port 80) istifadə etməklə baş verir (standart).

Aşağıda WinRS istifadə edən bir nümunə verilmişdir: Mən localhost host-da əmrləri icra etdim. Mən iki əmr yerinə yetirdim: '' ver'və' rejissor C:'. Hər bir halda cavab olaraq adekvat məlumat alınıb.

Şəkil 3: WinRS Commands nümayişi

Nəticələr

WinRM və WinRS, Windows sistem administratorlarının öyrənməli olduğu çox güclü yeni alətlərdir. WinRM/WinRS ilə uzaqdan idarəetmə imkanları haqqında düşünün! Proqramları quraşdıra, parametrləri dəyişdirə, problemləri həll edə bilərsiniz (əlbəttə ki, problem şəbəkə rabitəsində deyilsə). Siz daha da irəli gedə və bu tapşırıqları bir neçə kompüterdə yerinə yetirmək üçün WinRS-i skriptlə birləşdirə bilərsiniz. Həmçinin, unutmayın ki, bu vasitələrdən istifadə edib-etməsəniz, sistem idarəetmə proqramınız tezliklə onlardan bu və ya digər şəkildə istifadə edəcək.

Mühafizə

İstənilən bölgədə avtomobiliniz üçün avtomobil hissələri.

Bəzən iş üzrə Sankt-Peterburqda oluram, onlar mənə Sankt-Peterburqda gündəlik mənzil kirayəsi təklif edən şirkətlə əlaqə yaratdılar. Otellərə yaxşı alternativ.