Чӣ тавр компютери худро аз телефони мобилии худ бо истифода аз 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) асос ёфтааст ва PowerShell дар канали идоракунии дурдаст, миқёспазир ва бехатар.

Пеш аз ҳама, фаҳмидани ду идеяи асосӣ муҳим аст: cmdlets бо - Параметри номи компютер (масалан, Get-Process ё Get-Service) роҳи дарозмӯҳлати аз ҷониби Microsoft тавсияшуда нестанд ва PowerShell Remoting ҳамчун "хак" кор намекунад. Дар асл, аутентификатсияи мутақобиларо ҷорӣ мекунад, гузоришҳоро тафтиш мекунад ва иҷозатҳои муқаррарии шуморо бидуни нигоҳ доштани маълумот ё ба таври ҷодугарӣ иҷро кардани чизе бо имтиёзҳои олӣ эҳтиром мекунад.

PowerShell Remoting чист ва чаро онро истифода баред?

Дунёи иқтисод Дуркунии PowerShell шумо метавонед қариб ҳама фармонҳоро аз фосилаи дур иҷро кунед ки шумо метавонед дар як сессияи маҳаллӣ, аз дархости хидматҳо то ҷойгиркунии конфигуратсияҳо оғоз кунед ва ин корро дар садҳо компютер якбора иҷро кунед. Баръакси cmdlets, ки қабул -ComputerName (бисёре аз истифода DCOM/RPC), Remoting тавассути WS-Man (HTTP/HTTPS) сафар мекунад, ки ба брандмауэр бештар мувофиқ аст, имкон медиҳад параллелизм ва борфарорӣ ба мизбони дурдаст кор кунанд, на муштарӣ.

Ин ба се бартарии амалӣ табдил меёбад: иҷрои беҳтар дар қатлҳои азим, сустшавӣ дар шабакаҳо бо қоидаҳои маҳдудкунанда ва модели амният мувофиқ бо Kerberos/HTTPS. Ғайр аз он, вобаста ба ҳар як cmdlet барои татбиқи дурдасти худ, Remoting Он барои ҳама гуна скрипт ё нақш кор мекунад ки дар чои таъинот дастрас аст.

Бо нобаёнӣ, серверҳои охирини Windows бо Remoting фаъол мешаванд; дар Windows 10/11 шумо онро фаъол мекунед бо cmdlet ягона. Ва ҳа, шумо метавонед эътимодномаҳои алтернативӣ, ҷаласаҳои доимӣ, нуқтаҳои ниҳоии фармоишӣ ва ғайраро истифода баред.

Эзоҳ: дурдаст кардан бо кушодани ҳама чиз синоними нест. Бо нобаёнӣ, танҳо маъмурон Онҳо метавонанд пайваст шаванд ва амалҳо таҳти шахсияти онҳо иҷро карда мешаванд. Агар ба шумо ҳайъати дақиқ лозим бошад, нуқтаҳои ниҳоии фармоишӣ ба шумо имкон медиҳанд, ки танҳо фармонҳои муҳимро фош кунед.

Меъмории дурдаст PowerShell

Он дар дохили он чӣ гуна кор мекунад: 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).

Мундариҷаи истисноӣ - Ин ҷо клик кунед  Огоҳии глобалӣ дар бораи осебпазирии муҳим дар Google Chrome: чиро шумо бояд донед ва чӣ гуна худро муҳофизат кунед

Агар шумо танҳо HTTPS-ро дар муҳити худ иҷозат диҳед, шумо метавонед як шунавандаи бехатар бо шаҳодатномаи аз ҷониби CA боэътимод додашуда (тавсия дода мешавад). Интихобан, алтернативаи дигар ин аст, ки TrustedHosts ба таври маҳдуд ва огоҳ аз хатар, барои сенарияҳои гурӯҳи корӣ ё компютерҳои доменӣ.

Дар хотир доред, ки Powershell Remoting метавонад бо cmdlets бо -ComputerName якҷоя мавҷуд бошад, аммо Microsoft WS-Man-ро тела медиҳад ҳамчун роҳи стандартӣ ва ояндадор барои идоракунии дурдаст.

Даргиронидани PowerShell дурдаст ва параметрҳои муфид

Дар Windows, танҳо PowerShell-ро ҳамчун администратор кушоед ва иҷро кунед Пахш кунед-PSRemoting. Система WinRM-ро оғоз мекунад, худкорро танзим мекунад, ба шунаванда имкон медиҳад ва қоидаҳои бехатарии мувофиқро эҷод мекунад. Дар бораи муштариёни дорои профили шабакаи ҷамъиятӣ, шумо метавонед дидаву дониста ба ин иҷозат диҳед -SkipNetworkProfileCheck (ва он гоҳ бо қоидаҳои мушаххас тақвият диҳед):

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

 

Синтаксис инчунин имкон медиҳад, -Тасдиқ кунед y -Чӣ шавад, агар барои назорати тағирот. Дар хотир доред: Он танҳо дар Windows дастрас аст, ва шумо бояд консоли баландшударо иҷро кунед. Қоидаҳои эҷодшуда дар байни нашрияҳои Сервер ва Мизоҷ фарқ мекунанд, махсусан дар шабакаҳои ҷамъиятӣ, ки дар он ҷо ба таври нобаёнӣ онҳо бо зершабакаи маҳаллӣ маҳдуданд, агар шумо миқёсро васеъ накунед (масалан, бо Set-NetFirewallRule).

Барои номбар кардани конфигуратсияҳои сеанси аллакай сабтшуда ва тасдиқ кардани он, ки ҳама чиз омода аст, истифода баред Get-PSSessionConfigurationАгар нуқтаҳои ниҳоии PowerShell.x ва Workflow пайдо шаванд, чаҳорчӯбаи дурдаст кор мекунад.

Сеанси дурдаст бо PowerShell

Усулҳои истифода: 1 то 1, 1 то бисёр ва сеансҳои доимӣ

Вақте ки ба шумо консоли интерактивӣ дар як компютер лозим аст, ба он муроҷиат кунед Вуруд-PSSessionСавол пайдо мешавад ва ҳама чизе, ки шумо иҷро мекунед, ба мизбони дурдаст меравад. Шумо метавонед маълумоти эътимодномаро бо Get-Credential аз нав истифода баред, то аз дубора ворид нашавед:

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

Агар он чизе, ки шумо ҷустуҷӯ доред, як маротиба ба якчанд компютер фиристодани фармонҳо бошад, асбоб ин аст Invoke-Command бо блоки скрипт. Бо нобаёнӣ, он то 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 ()) дар нусхаи маҳаллӣ истифода набаред. Ҳалли равшан аст: ин усулҳоро истифода баред. фосилаи дур ва агар ба шумо танҳо майдонҳои муайян лозим бошад, бо Интихоб-Объект филтр кунед, то маълумоти камтар фиристед.

Мундариҷаи истисноӣ - Ин ҷо клик кунед  Чӣ тавр пешгирӣ кардани зарар ба файлҳои шумо?

Дар скриптҳо аз Enter-PSSession (барои истифодаи интерактивӣ пешбинӣ шудааст) канорагирӣ кунед ва Invoke-Command-ро бо блокҳои скрипт истифода баред. Агар шумо зангҳои сершуморро интизор бошед ё ҳолати худро нигоҳ доштан лозим бошад (тағйирёбандаҳо, модулҳои воридшуда), сеансҳои доимиро истифода баред ва агар имконпазир бошад, онҳоро бо Disconnect-PSSession/Connect-PSSession дар PowerShell 3.0+ ҷудо кунед/аз нав пайваст кунед.

Аутентификатсия, HTTPS ва сенарияҳои берун аз домен

Дар домен аутентификатсияи аслӣ аст Керберос Ва ҳама чиз ҷараён дорад. Вақте ки дастгоҳ номи серверро тасдиқ карда наметавонад ё шумо ба CNAME IP ё тахаллус пайваст мешавед, ба шумо яке аз ин ду интихоб лозим аст: 1) Шунаванда HTTPS бо сертификат аз ҷониби CA-и ба шумо боваринок додашуда ё 2) макони таъинотро (ном ё IP) ба TrustedHosts илова кунед ва эътимоднома истифода баредВарианти дуюм аутентификатсияи мутақобилан барои он мизбонро ғайрифаъол мекунад, аз ин рӯ миқёсро то ҳадди ақали зарурӣ коҳиш медиҳад.

Насб кардани шунавандаи HTTPS сертификатро талаб мекунад (идеалӣ аз PKI ё CA-и ҷамъиятӣ), ки дар мағозаи даста насб карда шудааст ва ба WinRM пайваст аст. Порт 5986/TCP пас дар девор кушода мешавад ва аз муштарӣ истифода мешавад. -Истифодаи SSL дар cmdlets дурдаст. Барои тасдиқи сертификати муштарӣ, шумо метавонед сертификатро ба ҳисоби маҳаллӣ харита кунед ва бо он пайваст шавед -Сертификати ангуштшумор (Enter-PSSession инро мустақиман қабул намекунад; аввал сессияро бо New-PSSession эҷод кунед.)

Хоп дуйум ва хайати вакилони эътимоднома

Машҳур "хоп дугона" вақте пайдо мешавад, ки пас аз пайвастшавӣ ба сервер, ба шумо сервер барои дастрасӣ ба сервер лозим аст манбаи сеюм аз номи шумо (масалан, саҳмияи SMB). Ду равиш барои иҷоза додани ин вуҷуд дорад: CredSSP ва ҳайати маҳдудшудаи Kerberos.

Дунёи иқтисод CredSSP Шумо ба муштарӣ ва миёнарав имкон медиҳед, ки эътимодномаҳоро ба таври возеҳ супоранд ва шумо сиёсатро (GPO) муқаррар мекунед, ки ба компютерҳои мушаххас иҷозат диҳад. Он зуд танзим карда мешавад, аммо камтар бехатар аст, зеро маълумотномаҳо дар матни равшан дар дохили нақби рамзшуда ҳаракат мекунанд. Ҳамеша манбаъҳо ва маконҳоро маҳдуд кунед.

Алтернативаи афзалиятнок дар домен ин аст хайати вакилони Керберосро махдуд кард (ҳайати маҳдуди ба захираҳо асосёфта) дар AD муосир. Ин ба нуқтаи ниҳоӣ имкон медиҳад, ки ба қабули намояндагӣ аз нуқтаи миёна барои хидматҳои мушаххас такя кунад ва аз фош кардани шахсияти шумо дар пайвасти аввал худдорӣ кунад. Назорати доменҳои нав ва RSAT навшударо талаб мекунад.

Нуқтаҳои ниҳоии фармоишӣ (конфигуратсияҳои сессия)

Яке аз ганҷҳои Remoting ин аст, ки ба қайд гирифтани нуқтаҳои пайвастшавӣ бо имкониятҳо ва маҳдудиятҳои мувофиқ. Аввал шумо файлеро бо New-PSSessionConfigurationFile тавлид мекунед (модулҳо барои боркунии пешакӣ, функсияҳои намоён, тахаллусҳо, ExecutionPolicy, LanguageMode ва ғайра) ва он гоҳ шумо онро дар Register-PSSessionConfiguration сабт мекунед, ки дар он ҷо шумо метавонед танзим кунед. RunAsCredential ва иҷозатҳо (SDDL ё интерфейси GUI бо -ShowSecurityDescriptorUI).

Барои интиқоли бехатар, танҳо он чизеро, ки бо -VisibleCmdlets/-VisibleFunctions лозим аст, фош кунед ва агар мувофиқ бошад, скрипти ройгонро хомӯш кунед LanguageMode Забони маҳдуд ё NoLanguage. Агар шумо FullLanguageро тарк кунед, касе метавонад блоки скриптро истифода барад, то фармонҳои ошкорнашударо даъват кунад, ки дар якҷоягӣ бо RunAs, он сӯрох хоҳад буд. Ин нуқтаҳоро бо шона дандонҳои нозук тарҳрезӣ кунед ва доираи онҳоро ҳуҷҷатгузорӣ кунед.

Доменҳо, GPOs ва нармафзори гурӯҳӣ

Дар AD шумо метавонед Powershell Remoting-ро дар миқёс бо GPO ҷойгир кунед: ба конфигуратсияи автоматии шунавандагони WinRM иҷозат диҳед, хидматро ба Автоматӣ таъин кунед, ва истиснои деворро эҷод кунед. Дар хотир доред, ки GPOs танзимотро тағир медиҳанд, аммо онҳо на ҳамеша хидматро фавран фаъол мекунанд; баъзан ба шумо лозим меояд, ки gpupdate-ро аз нав оғоз кунед ё маҷбур кунед.

Мундариҷаи истисноӣ - Ин ҷо клик кунед  Чӣ тавр истифода бурдани Norton Mobile Security?

Дар гурӯҳҳои корӣ (ғайри домен), Remoting бо Пахш кунед-PSRemoting, 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), боварӣ ҳосил кунед, ки сервер дорои ҳалли DNS ба мизбонҳо, пайвастшавӣ ба 5985/5986 ва маълумоти эътимоднома бо иҷозатҳои кофии маҳаллӣ. Дар баъзе ҳолатҳо, аутентификатсияи NTLM/Basic метавонад танзимро талаб кунад (масалан, бо истифода аз корбари маҳаллӣ дар Basic бо SSL).

Параметрҳои Enable-PSRemoting (Хулосаи амалиётӣ)

-Тасдиқи дархости тасдиқро пеш аз иҷроиш; -Зӯр огоҳиҳоро ба эътибор намегирад ва ворид намудани тағйироти зарурӣ; -SkipNetworkProfileCheck имкон медиҳад, ки дурдаст дар шабакаҳои муштарии ҷамъиятӣ (бо нобаёнӣ бо зершабакаи маҳаллӣ маҳдуд аст); -WhatIf ба шумо нишон медиҳад, ки бидуни ворид кардани тағирот чӣ рӯй медиҳад. Илова бар ин, ба монанди ҳама гуна cmdlet стандартӣ, он дастгирӣ мекунад параметрҳои умумӣ (-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 дар миқёс, Remoting ба шумо имкон медиҳад, ки аз "компютер ба компютер" ба равиши декларативӣ ва бехатар гузаред. Бо муттаҳид кардани ҷаласаҳои доимӣ, аутентификатсияи қавӣ (Kerberos/HTTPS), нуқтаҳои ниҳоии маҳдуд ва нишонаҳои равшан барои ташхис, шумо суръат ва назоратро ба даст меоред бидуни қурбонии амният ё аудит. Агар шумо инчунин фаъолсозии GPO-ро стандартизатсия кунед ва ҳолатҳои махсусро азхуд кунед (TrustedHosts, дучандон хоп, сертификатҳо), шумо платформаи дурдаст барои амалиёти ҳаррӯза ва вокуниш ба ҳодисаҳо хоҳед дошт.

нармафзори зараровар
Мақолаи марбут:
Чӣ тавр компютери худро аз нармафзори ноаён ба монанди XWorm ва NotDoor муҳофизат кардан мумкин аст