- Қашықтан басқару WinRM/WS-Man (HTTP/HTTPS) пайдаланады және қауіпсіздік басқару элементтері бар 1-ден 1-ге, 1-ден көпке және тұрақты сеанстарға мүмкіндік береді.
- Enable-PSRemoting қызметті, тыңдаушыларды және брандмауэрді конфигурациялайды; HTTPS жарамды сертификатты және CN/SAN сәйкестігін қажет етеді.
- Нәтижелер сериядан шығарылады; әдістер қашықтағы сценарий блогында шақырылады және реттелетін соңғы нүктелер егжей-тегжейлі өкілдік үшін пайдаланылады.
Сіз PowerShell көмегімен көптеген тапсырмаларды жергілікті түрде автоматтандыруыңыз мүмкін, бірақ сіз шынымен қайда жасайсыз PowerShell Remoting айырмашылықты жасайды Бұл қашықтағы машиналарда пәрмендерді бірнеше немесе жүздеген, интерактивті немесе параллель орындаған кезде. Windows PowerShell 2.0 нұсқасынан бері қол жетімді және 3.0 нұсқасынан бастап жетілдірілген бұл технология WS-Management (WinRM) негізінде жасалған және PowerShell сенімді, масштабталатын және қауіпсіз қашықтан басқару арнасында.
Ең алдымен, екі негізгі идеяны түсіну маңызды: командлеттер -ComputerName параметрі (мысалы, Get-Process немесе Get-Service) Microsoft ұсынған ұзақ мерзімді жол емес және PowerShell Remoting «бұзу» ретінде жұмыс істемейді. Ақиқатында, өзара аутентификацияны қамтамасыз етеді, тіркелгі деректерін сақтамай немесе супер артықшылықтары бар кез келген нәрсені сиқырлы түрде іске қоспай, аудит журналдарын жүргізеді және әдеттегі рұқсаттарыңызды құрметтейді.
PowerShell Remoting дегеніміз не және оны не үшін пайдалану керек?
Con PowerShell Remoting сіз аласыз кез келген дерлік пәрменді қашықтан орындаңыз қызметтерді сұраудан бастап конфигурацияларды орналастыруға дейін жергілікті сеанста іске қосуға және мұны бірден жүздеген компьютерлерде орындауға болады. -ComputerName (көпшілігі DCOM/RPC пайдаланады) қабылдайтын командлеттерден айырмашылығы, қашықтан басқару WS-Man (HTTP/HTTPS) арқылы саяхаттау, брандмауэрге ыңғайлырақ, параллелизмге мүмкіндік береді және жүктеулер клиентке емес, қашықтағы хостқа жұмыс істейді.
Бұл үш практикалық артықшылыққа айналады: жаппай орындауда жақсырақ өнімділік, желілердегі үйкеліс азырақ шектеу ережелерімен және Kerberos/HTTPS сәйкес қауіпсіздік үлгісімен. Сонымен қатар, әрбір командлетке тәуелді емес, өзінің қашықтан басқару пультін іске асыру үшін Ол кез келген сценарий немесе рөл үшін жұмыс істейді бұл межелі жерде қол жетімді.
Әдепкі бойынша, соңғы Windows серверлері қашықтан басқару қосылған; Windows 10/11 жүйесінде сіз оны іске қосасыз жалғыз командлетпен. Иә, сіз балама тіркелгі деректерін, тұрақты сеанстарды, реттелетін соңғы нүктелерді және т.б. пайдалана аласыз.
Ескерту: қашықтан басқару барлығын ашудың синонимі емес. Әдепкі бойынша, тек әкімшілер Олар қосыла алады және әрекеттер олардың сәйкестігімен орындалады. Егер сізге егжей-тегжейлі өкілдік қажет болса, теңшелетін соңғы нүктелер тек маңызды пәрмендерді көрсетуге мүмкіндік береді.

Оның ішінде қалай жұмыс істейді: WinRM, WS-Man және порттар
PowerShell Remoting клиент-сервер үлгісінде жұмыс істейді. Клиент WS-Management сұрауларын арқылы жібереді HTTP (5985/TCP) немесе HTTPS (5986/TCP). Мақсатта Windows қашықтан басқару (WinRM) қызметі тыңдайды, соңғы нүктені шешеді (сеанс конфигурациясы) және фондық режимде PowerShell сеансын орналастырады (wsmprovhost.exe процесі), клиентке серияланған нәтижелерді қайтару XML тілінде SOAP арқылы.
Қашықтан басқаруды бірінші рет қосқанда, тыңдаушылар конфигурацияланады, сәйкес желіаралық қалқан ерекшелігі ашылады және сеанс конфигурациялары жасалады. PowerShell 6+ нұсқасынан бірнеше шығарылымдар қатар бар және Қосу-PSRemoting Нұсқаны көрсететін атаулары бар соңғы нүктелерді тіркейді (мысалы, PowerShell.7 және PowerShell.7.xy).
Ортаңызда тек HTTPS рұқсат етсеңіз, мынаны жасай аласыз қауіпсіз тыңдаушы сенімді CA берген сертификатпен (ұсынылады). Немесе басқа балама жұмыс тобы сценарийлері немесе домендік емес компьютерлер үшін TrustedHosts мүмкіндігін шектеулі, тәуекелді ескеретін түрде пайдалану болып табылады.
Powershell Remoting -ComputerName командлеттерімен бірге өмір сүре алатынын ескеріңіз, бірақ Microsoft WS-Manды итереді қашықтан басқарудың стандартты және болашаққа сенімді әдісі ретінде.
PowerShell қашықтан басқару және пайдалы параметрлерін қосу
Windows жүйесінде PowerShell-ті әкімші ретінде ашып, іске қосыңыз Қосу-PSRemoting. Жүйе WinRM іске қосады, автоқосуды конфигурациялайды, тыңдаушыны қосады және сәйкес желіаралық қалқан ережелерін жасайды. Қоғамдық желі профилі бар клиенттерде бұған әдейі рұқсат бере аласыз -SkipNetworkProfileCheck (содан кейін нақты ережелермен күшейтіңіз):
Enable-PSRemoting
Enable-PSRemoting -Force
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Синтаксис сонымен қатар мүмкіндік береді: -Растау y -Егер өзгертуді бақылау үшін. Есіңізде болсын: Ол тек Windows жүйесінде қол жетімді, және сіз жоғары консольді іске қосуыңыз керек. Жасалған ережелер Сервер және Клиент басылымдары арасында, әсіресе жалпыға ортақ желілерде ерекшеленеді, мұнда олар әдепкі бойынша аумақты кеңейтпейінше (мысалы, Set-NetFirewallRule арқылы) жергілікті ішкі желімен шектеледі.
Жазылған сеанс конфигурацияларын тізімдеу және барлығы дайын екенін растау үшін пайдаланыңыз Get-PSSessionConfigurationPowerShell.x және Workflow соңғы нүктелері пайда болса, қашықтан басқару жүйесі жұмыс істейді.

Қолдану режимдері: 1-ден 1-ге дейін, 1-ден көпке дейін және тұрақты сеанстар
Бір компьютерде интерактивті консоль қажет болғанда, мына сайтқа бұрылыңыз Enter-PSSessionСұрау пайда болады және сіз орындаған барлық әрекеттер қашықтағы хостқа өтеді. Тіркелгі деректерін үнемі қайта енгізбеу үшін 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() сияқты әдісті шақыру керек пе? Жаса. сценарий блогының ішінде қашықтағы контексте, жергілікті сериядан шығарылған нысан емес, және бұл. Баламалы командлетті (Stop-Service/Start-Service) болса, әдетте түсінікті болу үшін оны пайдаланған жөн.
Әрбір қоңырауда сеанстарды бастау және аяқтау құнын болдырмау үшін a Тұрақты PSS сессиясы және оны бірнеше шақыруларда қайта пайдаланыңыз. Қосылымды жасау үшін New-PSSession пайдаланыңыз және туннельді қайта пайдалану үшін Invoke-Command-Session пайдаланыңыз. Аяқтағаннан кейін оны Remove-PSSession арқылы жабуды ұмытпаңыз.
Серияландыру, шектеулер және жақсы тәжірибелер
Маңызды деталь: саяхаттау кезінде нысандар «+жалпақ» және келесідей келеді сериясыздандырылған суреттер, қасиеттері бар, бірақ әдістері жоқ. Бұл әдейі жасалған және өткізу қабілеттілігін сақтайды, бірақ бұл логиканы орындайтын мүшелерді (мысалы, .Kill()) жергілікті көшірмеде пайдалана алмайтыныңызды білдіреді. Шешім анық: сол әдістерді шақырыңыз. қашықтан және сізге белгілі бір өрістер ғана қажет болса, деректерді аз жіберу үшін Select-Object арқылы сүзіңіз.
Сценарийлерде Enter-PSSession (интерактивті пайдалануға арналған) қолданбаңыз және сценарий блоктарымен Invoke-Command пайдаланыңыз. Бірнеше қоңырауды болжасаңыз немесе күйді сақтау қажет болса (айнымалылар, импортталған модульдер), тұрақты сеанстарды пайдаланыңыз және, мүмкін болса, PowerShell 3.0+ жүйесінде Disconnect-PSSession/Connect-PSSession арқылы ажыратыңыз/қайта қосыңыз.
Аутентификация, HTTPS және доменнен тыс сценарийлер
Доменде жергілікті аутентификация болып табылады Керберос Және бәрі ағып жатыр. Құрылғы сервер атауын тексере алмағанда немесе CNAME IP немесе бүркеншік атқа қосылсаңыз, сізге мына екі опцияның бірі қажет: 1) Тыңдаушы Сертификатпен HTTPS сен сенетін CA шығарған немесе 2) тағайындалған орынды (аты немесе IP) TrustedHosts жүйесіне қосыңыз және тіркелгі деректерін пайдаланыңызЕкінші опция сол хост үшін өзара аутентификацияны өшіреді, сондықтан ол аумақты қажетті минимумға дейін азайтады.
HTTPS тыңдаушысын орнату үшін сертификат қажет (ең дұрысы PKI немесе жалпыға ортақ CA), командалық дүкенде орнатылған және WinRM жүйесіне байланысты. Содан кейін 5986/TCP порты брандмауэрде ашылады және клиенттен пайдаланылады. -SSL пайдаланыңыз қашықтағы командлеттерде. Клиент сертификатының аутентификациясы үшін сертификатты жергілікті тіркелгіге салыстыруға және онымен қосылуға болады -Сертификаттың бас бармақ ізі (Enter-PSSession мұны тікелей қабылдамайды; алдымен New-PSSession арқылы сеанс жасаңыз.)
Екінші рет өту және сенім грамоталарын беру
Әйгілі «қос секіру» серверге қосылғаннан кейін серверге кіру үшін қажет болғанда пайда болады үшінші ресурс сіздің атыңыздан (мысалы, SMB үлесі). Бұған рұқсат берудің екі жолы бар: CredSSP және ресурсқа негізделген шектеулі Kerberos делегациясы.
Con CredSSP Сіз клиентке және делдалға тіркелгі деректерін нақты өкілетуге мүмкіндік бересіз және белгілі бір компьютерлерге өкілдік беруге рұқсат беретін саясатты (GPO) орнатасыз. Оны конфигурациялау жылдам, бірақ қауіпсіз емес, себебі тіркелгі деректері шифрланған туннель ішінде анық мәтінмен тасымалданады. Әрқашан көздер мен тағайындауларды шектеңіз.
Домендегі таңдаулы балама болып табылады шектелген Kerberos делегациясы (ресурсқа негізделген шектеулі делегация) қазіргі заманғы AD. Бұл соңғы нүктеге нақты қызметтер үшін ортаңғы нүктеден өкілді қабылдауға сенуге мүмкіндік береді, бастапқы қосылымда сіздің жеке басыңызды көрсетпейді. Соңғы домен контроллері және жаңартылған RSAT қажет.
Теңшелетін соңғы нүктелер (сеанс конфигурациялары)
Қашықтан басқарудың асылдарының бірі - қосылым нүктелерін тіркей алу бейімделген мүмкіндіктер мен шектеулер. Алдымен New-PSSessionConfigurationFile файлын (алдын ала жүктеуге арналған модульдер, көрінетін функциялар, бүркеншік аттар, ExecutionPolicy, LanguageMode, т.б.) жасайсыз, содан кейін оны Register-PSSessionConfiguration арқылы тіркейсіз, оны орнатуға болады. RunAsCredential және рұқсаттар (SDDL немесе -ShowSecurityDescriptorUI бар GUI интерфейсі).
Қауіпсіз өкілдік беру үшін -VisibleCmdlets/-VisibleFunctions арқылы қажет нәрсені ғана көрсетіңіз және қажет болса, тегін сценарийді өшіріңіз. LanguageMode Шектеулі тіл немесе NoLanguage. Егер сіз FullLanguage тілінен шықсаңыз, біреу RunAs-пен біріктірілген, ашылмаған пәрмендерді шақыру үшін сценарий блогын пайдалана алады. бұл тесік болар еді. Бұл соңғы нүктелерді жұқа тісті тарақпен жобалаңыз және олардың ауқымын құжаттаңыз.
Домендер, GPO және топтық бағдарламалық құрал
AD жүйесінде Powershell Remoting бағдарламасын GPO көмегімен масштабта қолдануға болады: WinRM тыңдаушылардың автоматты конфигурациясына рұқсат беру, қызметті Автоматты күйіне орнатыңыз, және брандмауэр ерекше жағдайын жасаңыз. GPO параметрлерді өзгертетінін есте сақтаңыз, бірақ олар әрқашан қызметті бірден қоса бермейді; кейде gpupdate бағдарламасын қайта іске қосу немесе мәжбүрлеу қажет.
Жұмыс топтарында (домен емес) қашықтан басқару параметрін конфигурациялаңыз Қосу-PSRemoting, клиентке TrustedHosts орнатыңыз (winrm орнату 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
Брандмауэр, желі және порттар туралы практикалық ескертулер
Мақсатты компьютерде HTTP үшін 5985/TCP және HTTPS үшін 5986/TCP ашыңыз. кез келген аралық брандмауэрWindows клиенттерінде Enable-PSRemoting домен және жеке профильдер үшін ережелер жасайды; жалпы профильдер үшін ауқымды Set-NetFirewallRule -RemoteAddress Any (қауіпке байланысты бағалауға болатын мән) арқылы өзгертпейінше, ол жергілікті ішкі желімен шектеледі.
Қашықтағы пәрмендерді іске қосатын SOAR/SIEM интеграциясын пайдалансаңыз (мысалы, XSOAR-дан), серверде DNS рұқсаты хосттарға, 5985/5986 желісіне қосылу мүмкіндігі және жеткілікті жергілікті рұқсаттары бар тіркелгі деректері. Кейбір жағдайларда NTLM/Basic аутентификациясы реттеуді қажет етуі мүмкін (мысалы, SSL көмегімен Basic тілінде жергілікті пайдаланушыны пайдалану).
Enable-PSRemoting Параметрлері (Жұмыстық қорытынды)
-Орындау алдында растауды сұрайды; - Күш ескертулерді елемейді және қажетті өзгерістерді енгізу; -SkipNetworkProfileCheck жалпы клиенттік желілерде қашықтан басқаруды қосады (әдепкі бойынша жергілікті ішкі желімен шектелген); -WhatIf сізге өзгертулерді қолданбай не болатынын көрсетеді. Оған қоса, кез келген стандартты командлет сияқты ол қолдайды ортақ параметрлер (-Verbose, -ErrorAction, т.б.).
«Қосу» сіз үшін 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 жүйесін масштабта басқару кезінде қашықтан басқару «компьютерден компьютерге» декларативті және қауіпсіз тәсілге өтуге мүмкіндік береді. Тұрақты сеанстарды, күшті аутентификацияны (Kerberos/HTTPS), шектелген соңғы нүктелерді және диагностика үшін анық іздерді біріктіру арқылы, жылдамдық пен бақылауға ие боласыз қауіпсіздікті немесе аудитті құрбан етпей. Сондай-ақ, GPO белсендіруін стандарттасаңыз және арнайы жағдайларды меңгерсеңіз (TrustedHosts, екі рет өту, сертификаттар), сізде күнделікті әрекеттер мен оқиғаларға жауап беру үшін берік қашықтағы платформа болады.
Түрлі сандық медиада он жылдан астам тәжірибесі бар технология және интернет мәселелеріне маманданған редактор. Мен электрондық коммерция, коммуникация, онлайн маркетинг және жарнама компанияларында редактор және мазмұн жасаушы болып жұмыс істедім. Мен сондай-ақ экономика, қаржы және басқа салалардың веб-сайттарында жаздым. Менің жұмысым да менің құмарлығым. Енді менің мақалаларым арқылы Tecnobits, Мен өмірімізді жақсарту үшін күн сайын технология әлемі ұсынатын барлық жаңалықтар мен жаңа мүмкіндіктерді зерттеуге тырысамын.