ວິທີການຄວບຄຸມ PC ຂອງທ່ານຈາກໂທລະສັບມືຖືຂອງທ່ານໂດຍໃຊ້ PowerShell Remoting

ອັບເດດຫຼ້າສຸດ: 15/10/2025

  • Remoting ໃຊ້ WinRM/WS-Man (HTTP/HTTPS) ແລະອະນຸຍາດໃຫ້ 1-to-1, 1-to-many, ແລະເຊດຊັນຄົງທີ່ທີ່ມີການຄວບຄຸມຄວາມປອດໄພ.
  • Enable-PSRemoting configure ການ​ບໍ​ລິ​ການ, listeners, ແລະ firewall; HTTPS ຕ້ອງການໃບຢັ້ງຢືນທີ່ຖືກຕ້ອງ ແລະ CN/SAN ກົງກັນ.
  • ຜົນໄດ້ຮັບແມ່ນກັບຄືນ deserialized; ວິທີການຖືກເອີ້ນພາຍໃນ scriptblock ຫ່າງໄກສອກຫຼີກແລະຈຸດສິ້ນສຸດທີ່ກໍາຫນົດເອງແມ່ນໃຊ້ສໍາລັບການມອບຫມາຍທີ່ດີ.
PowerShell Remoting

ເຈົ້າອາດຈະເຮັດໃຫ້ຫຼາຍໜ້າວຽກໂດຍອັດຕະໂນມັດດ້ວຍ PowerShell ຢູ່ໃນທ້ອງຖິ່ນ, ແຕ່ເຈົ້າຢູ່ໃສແທ້ໆ PowerShell Remoting ເຮັດໃຫ້ຄວາມແຕກຕ່າງ ມັນແມ່ນເວລາທີ່ທ່ານດໍາເນີນການຄໍາສັ່ງໃນເຄື່ອງຫ່າງໄກສອກຫຼີກ, ບໍ່ວ່າຈະເປັນຈໍານວນຫນ້ອຍຫຼືຫຼາຍຮ້ອຍ, ການໂຕ້ຕອບຫຼືຂະຫນານ. ເທກໂນໂລຍີນີ້, ສາມາດໃຊ້ໄດ້ຕັ້ງແຕ່ Windows PowerShell 2.0 ແລະປັບປຸງຕັ້ງແຕ່ 3.0, ແມ່ນອີງໃສ່ WS-Management (WinRM) ແລະແປງ. PowerShell ໃນ​ຊ່ອງ​ທາງ​ການ​ຄຸ້ມ​ຄອງ​ທາງ​ໄກ​ທີ່​ເຂັ້ມ​ແຂງ​, ສາ​ມາດ​ຂະ​ຫຍາຍ​ໄດ້​ແລະ​ປອດ​ໄພ​.

ຫນ້າທໍາອິດຂອງການທັງຫມົດ, ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະເຂົ້າໃຈສອງແນວຄວາມຄິດທີ່ສໍາຄັນ: cmdlets ກັບ - ຕົວ​ກໍາ​ນົດ​ການ​ຊື່​ຄອມ​ພິວ​ເຕີ​ (ເຊັ່ນ: Get-Process ຫຼື Get-Service) ບໍ່ແມ່ນເສັ້ນທາງໄລຍະຍາວທີ່ Microsoft ແນະນໍາ, ແລະ PowerShell Remoting ບໍ່ໄດ້ເຮັດວຽກເປັນ "hack." ໃນຄວາມເປັນຈິງ, ບັງຄັບໃຊ້ການກວດສອບເຊິ່ງກັນແລະກັນ, ບັນທຶກການກວດສອບ ແລະເຄົາລົບສິດອະນຸຍາດປົກກະຕິຂອງທ່ານ, ໂດຍບໍ່ມີການເກັບຮັກສາຂໍ້ມູນປະຈໍາຕົວ ຫຼືດໍາເນີນການອັນມະຫັດສະຈັນດ້ວຍສິດທິພິເສດ.

PowerShell Remoting ແມ່ນຫຍັງ ແລະເປັນຫຍັງຕ້ອງໃຊ້ມັນ?

ຂອບກົດລະບຽບ ການຖອດຖອນ PowerShell ເຈົ້າສາມາດ ປະຕິບັດເກືອບທຸກຄໍາສັ່ງຈາກໄລຍະໄກ ທີ່ທ່ານສາມາດເປີດຕົວໃນເຊດຊັນທ້ອງຖິ່ນ, ຈາກການບໍລິການສອບຖາມໄປຫາການຕັ້ງຄ່າການຕັ້ງຄ່າ, ແລະເຮັດແນວນັ້ນໃນຄອມພິວເຕີຫຼາຍຮ້ອຍເຄື່ອງໃນເວລາດຽວກັນ. ບໍ່ເຫມືອນກັບ cmdlets ທີ່ຍອມຮັບ -ComputerName (ຫຼາຍຄົນໃຊ້ DCOM/RPC), ໄລຍະໄກ ເດີນທາງຜ່ານ WS-Man (HTTP/HTTPS), ຊຶ່ງເປັນ firewall ເປັນມິດຫຼາຍ, ອະນຸຍາດໃຫ້ຂະຫນານແລະ offloads ເຮັດວຽກກັບເຈົ້າພາບຫ່າງໄກສອກຫຼີກ, ບໍ່ແມ່ນລູກຄ້າ.

ນີ້ແປເປັນສາມຂໍ້ໄດ້ປຽບການປະຕິບັດ: ການປະຕິບັດທີ່ດີກວ່າໃນການປະຕິບັດຂະຫນາດໃຫຍ່, friction ຫນ້ອຍໃນເຄືອຂ່າຍ ດ້ວຍກົດລະບຽບຈຳກັດ ແລະຮູບແບບຄວາມປອດໄພທີ່ສອດຄ່ອງກັບ Kerberos/HTTPS. ນອກຈາກນັ້ນ, ໂດຍບໍ່ຂຶ້ນກັບແຕ່ລະ cmdlet ເພື່ອປະຕິບັດການຫ່າງໄກສອກຫຼີກຂອງຕົນເອງ, Remoting ມັນເຮັດວຽກສໍາລັບ script ຫຼືບົດບາດໃດໆ ທີ່ມີຢູ່ໃນປາຍທາງ.

ໂດຍຄ່າເລີ່ມຕົ້ນ, ເຊີບເວີ Windows ທີ່ຜ່ານມາມາພ້ອມກັບການເປີດໃຊ້ງານຫ່າງໄກສອກຫຼີກ; ໃນ Windows 10/11 ທ່ານເປີດໃຊ້ມັນ ດ້ວຍ cmdlet ດຽວ. ແລະແມ່ນແລ້ວ, ທ່ານສາມາດນໍາໃຊ້ຂໍ້ມູນປະຈໍາຕົວສຳຮອງ, ເຊດຊັນຄົງທີ່, ຈຸດສິ້ນສຸດແບບກຳນົດເອງ, ແລະອື່ນໆອີກ.

ຫມາຍ​ເຫດ​: ການ​ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​ບໍ່​ແມ່ນ​ຄ້າຍ​ຄື​ກັນ​ກັບ​ການ​ເປີດ​ທັງ​ຫມົດ​. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຜູ້ບໍລິຫານເທົ່ານັ້ນ ພວກເຂົາສາມາດເຊື່ອມຕໍ່ໄດ້, ແລະການກະທໍາແມ່ນຖືກປະຕິບັດພາຍໃຕ້ຕົວຕົນຂອງພວກເຂົາ. ຖ້າທ່ານຕ້ອງການການມອບຫມາຍທີ່ດີ, ຈຸດສິ້ນສຸດທີ່ກໍາຫນົດເອງອະນຸຍາດໃຫ້ທ່ານເປີດເຜີຍພຽງແຕ່ຄໍາສັ່ງທີ່ສໍາຄັນ.

ສະຖາປັດຕະຍະກຳໄລຍະໄກ PowerShell

ມັນເຮັດວຽກແນວໃດພາຍໃນ: WinRM, WS-Man ແລະພອດ

PowerShell Remoting ເຮັດວຽກຢູ່ໃນຕົວແບບລູກຄ້າ-ເຊີບເວີ. ລູກຄ້າສົ່ງຄໍາຮ້ອງຂໍການຄຸ້ມຄອງ WS ຜ່ານ HTTP (5985/TCP) ຫຼື HTTPS (5986/TCP). ຢູ່ໃນເປົ້າໝາຍ, ການບໍລິການ Windows Remote Management (WinRM) ຟັງ, ແກ້ໄຂຈຸດສິ້ນສຸດ (ການຕັ້ງຄ່າເຊສຊັນ), ແລະຈັດກອງປະຊຸມ PowerShell ໃນພື້ນຫຼັງ (ຂະບວນການ wsmprovhost.exe), ກັບຄືນຜົນໄດ້ຮັບ serialized ກັບລູກຄ້າ ໃນ XML ຜ່ານ SOAP.

ຄັ້ງທໍາອິດທີ່ທ່ານເປີດໃຊ້ການຫ່າງໄກສອກຫຼີກ, ຜູ້ຟັງຖືກຕັ້ງຄ່າ, ການຍົກເວັ້ນໄຟວໍທີ່ເຫມາະສົມແມ່ນເປີດ, ແລະການຕັ້ງຄ່າເຊດຊັນຖືກສ້າງຂື້ນ. ຈາກ PowerShell 6+, ຫຼາຍສະບັບຢູ່ຮ່ວມກັນ, ແລະ ເປີດໃຊ້ງານ, PSRemoting ລົງທະບຽນຈຸດສິ້ນສຸດດ້ວຍຊື່ທີ່ສະທ້ອນເຖິງເວີຊັນ (ຕົວຢ່າງ, PowerShell.7 ແລະ PowerShell.7.xy).

ເນື້ອຫາສະເພາະ - ຄລິກທີ່ນີ້  ຂ້ອຍຈະແກ້ໄຂບັນຫາປະສິດທິພາບກັບ Intego Mac Internet Security ໄດ້ແນວໃດ?

ຖ້າທ່ານພຽງແຕ່ອະນຸຍາດໃຫ້ HTTPS ໃນສະພາບແວດລ້ອມຂອງທ່ານ, ທ່ານສາມາດສ້າງ a ຜູ້​ຟັງ​ທີ່​ປອດ​ໄພ​ ກັບໃບຢັ້ງຢືນທີ່ອອກໃຫ້ໂດຍ CA ທີ່ເຊື່ອຖືໄດ້ (ແນະນໍາ). ອີກທາງເລືອກ, ທາງເລືອກອື່ນແມ່ນການໃຊ້ TrustedHosts ໃນລັກສະນະທີ່ຈໍາກັດ, ລະວັງຄວາມສ່ຽງ, ສໍາລັບສະຖານະການຂອງກຸ່ມຫຼືຄອມພິວເຕີທີ່ບໍ່ແມ່ນໂດເມນ.

ໃຫ້ສັງເກດວ່າ Powershell Remoting ສາມາດຢູ່ຮ່ວມກັນກັບ cmdlets ກັບ -ComputerName, ແຕ່ Microsoft ຍູ້ WS-Man ເປັນວິທີການມາດຕະຖານແລະຫຼັກຖານໃນອະນາຄົດສໍາລັບການຄຸ້ມຄອງຫ່າງໄກສອກຫຼີກ.

ເປີດໃຊ້ PowerShell Remoting ແລະພາລາມິເຕີທີ່ເປັນປະໂຫຍດ

ໃນ Windows, ພຽງແຕ່ເປີດ PowerShell ເປັນຜູ້ເບິ່ງແຍງລະບົບ ແລະດໍາເນີນການ ເປີດໃຊ້ງານ, PSRemoting. ລະບົບເລີ່ມ WinRM, ຕັ້ງຄ່າ autostart, ເປີດໃຊ້ຜູ້ຟັງ, ແລະສ້າງກົດລະບຽບໄຟວໍທີ່ເຫມາະສົມ. ກ່ຽວກັບລູກຄ້າທີ່ມີໂປຣໄຟລ໌ເຄືອຂ່າຍສາທາລະນະ, ທ່ານສາມາດໂດຍເຈດຕະນາອະນຸຍາດໃຫ້ນີ້ກັບ -SkipNetworkProfileCheck (ແລະຫຼັງຈາກນັ້ນເສີມສ້າງດ້ວຍກົດລະບຽບສະເພາະ):

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

 

syntax ຍັງອະນຸຍາດໃຫ້, - ຢືນຢັນ y -ຖ້າ​ຫາກ​ວ່າ ສໍາລັບການຄວບຄຸມການປ່ຽນແປງ. ຈື່: ມັນສາມາດໃຊ້ໄດ້ໃນ Windows ເທົ່ານັ້ນ, ແລະທ່ານຕ້ອງດໍາເນີນການ console ສູງ. ກົດລະບຽບທີ່ສ້າງຂຶ້ນແມ່ນແຕກຕ່າງກັນລະຫວ່າງສະບັບເຊີຟເວີແລະລູກຄ້າ, ໂດຍສະເພາະໃນເຄືອຂ່າຍສາທາລະນະ, ບ່ອນທີ່ໂດຍຄ່າເລີ່ມຕົ້ນພວກມັນຖືກຈໍາກັດຢູ່ໃນເຄືອຂ່າຍຍ່ອຍທ້ອງຖິ່ນເວັ້ນເສຍແຕ່ວ່າທ່ານຂະຫຍາຍຂອບເຂດ (ຕົວຢ່າງເຊັ່ນ Set-NetFirewallRule).

ເພື່ອລາຍຊື່ການຕັ້ງຄ່າເຊດຊັນທີ່ບັນທຶກໄວ້ແລ້ວ ແລະຢືນຢັນວ່າທຸກຢ່າງພ້ອມແລ້ວ, ໃຫ້ໃຊ້ Get-PSSessionConfigurationຖ້າຈຸດສິ້ນສຸດ PowerShell.x ແລະ Workflow ປະກົດຂຶ້ນ, ກອບການຖອດຖອນແມ່ນເຮັດວຽກ.

ຊ່ວງໄລຍະໄກດ້ວຍ PowerShell

ຮູບແບບການນຳໃຊ້: 1 ຫາ 1, 1 ເຖິງຫຼາຍ, ແລະເຊດຊັນທີ່ຄົງຢູ່

ເມື່ອທ່ານຕ້ອງການ console ແບບໂຕ້ຕອບໃນຄອມພິວເຕີເຄື່ອງດຽວ, ໃຫ້ຫັນໄປຫາ Enter-PSSessionການເຕືອນຈະປາກົດ, ແລະທຸກສິ່ງທຸກຢ່າງທີ່ທ່ານປະຕິບັດຈະໄປຫາເຈົ້າພາບທາງໄກ. ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້​ໃບ​ຢັ້ງ​ຢືນ​ການ​ກັບ Get-Credential ເພື່ອ​ຫຼີກ​ເວັ້ນ​ການ​ໃຫ້​ເຂົາ​ເຈົ້າ​ເຂົ້າ​ມາ​ອີກ​ເທື່ອ​ຫນຶ່ງ​:

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

ຖ້າສິ່ງທີ່ທ່ານກໍາລັງຊອກຫາແມ່ນເພື່ອສົ່ງຄໍາສັ່ງໄປຫາຄອມພິວເຕີຫຼາຍໆຄັ້ງໃນເວລາດຽວກັນ, ເຄື່ອງມືແມ່ນ Invoke-Command ດ້ວຍ scriptblock. ໂດຍຄ່າເລີ່ມຕົ້ນ, ມັນຈະເປີດການເຊື່ອມຕໍ່ພ້ອມກັນໄດ້ເຖິງ 32 ການເຊື່ອມຕໍ່ (ປັບໄດ້ດ້ວຍ -ThrottleLimit). ຜົນໄດ້ຮັບແມ່ນກັບຄືນມາເປັນ deserialized ວັດຖຸ (ໂດຍບໍ່ມີການ "ດໍາລົງຊີວິດ" ວິທີການ):

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

ຕ້ອງການເອີ້ນໃຊ້ວິທີການເຊັ່ນ .Stop() ຫຼື .Start()? ເຮັດມັນ. ພາຍໃນ scriptblock ໃນສະພາບການຫ່າງໄກສອກຫຼີກ, ບໍ່ແມ່ນວັດຖຸ deserialized ທ້ອງຖິ່ນ, ແລະນັ້ນແມ່ນມັນ. ຖ້າມີ cmdlet ທຽບເທົ່າ (Stop-Service/Start-Service), ປົກກະຕິແລ້ວມັນມັກໃຊ້ມັນເພື່ອຄວາມຊັດເຈນ.

ເພື່ອຫຼີກເວັ້ນການຄ່າໃຊ້ຈ່າຍຂອງການເລີ່ມຕົ້ນແລະສິ້ນສຸດຂອງເຊດຊັນໃນແຕ່ລະການໂທ, ສ້າງ a PSSession ຄົງທີ່ ແລະໃຊ້ມັນຄືນໃນຫຼາຍຄໍາເຊີນ. ໃຊ້ New-PSSession ເພື່ອສ້າງການເຊື່ອມຕໍ່, ແລະໃຊ້ Invoke-Command-Session ເພື່ອໃຊ້ອຸໂມງຄືນໃໝ່. ຢ່າລືມປິດມັນດ້ວຍ Remove-PSSession ເມື່ອທ່ານເຮັດແລ້ວໆ.

Serialization, ຂອບເຂດຈໍາກັດແລະການປະຕິບັດທີ່ດີ

ລາຍລະອຽດທີ່ສໍາຄັນ: ໃນເວລາທີ່ເດີນທາງ, ວັດຖຸ "+flatten" ແລະມາຮອດ ພາບ​ຖ່າຍ deserialized, ມີຄຸນສົມບັດແຕ່ບໍ່ມີວິທີການ. ນີ້ແມ່ນເຈດຕະນາແລະປະຫຍັດແບນວິດ, ແຕ່ມັນຫມາຍຄວາມວ່າທ່ານບໍ່ສາມາດໃຊ້ສະມາຊິກທີ່ປະຕິບັດເຫດຜົນ (ເຊັ່ນ: .Kill()) ໃນສໍາເນົາທ້ອງຖິ່ນ. ການແກ້ໄຂແມ່ນຈະແຈ້ງ: ຮຽກຮ້ອງວິທີການເຫຼົ່ານັ້ນ. ຫ່າງໄກສອກຫຼີກ ແລະຖ້າທ່ານຕ້ອງການສະເພາະບາງຊ່ອງ, ການກັ່ນຕອງດ້ວຍ Select-Object ເພື່ອສົ່ງຂໍ້ມູນຫນ້ອຍລົງ.

ເນື້ອຫາສະເພາະ - ຄລິກທີ່ນີ້  ວິທີການຫຼີກເວັ້ນການບລັອກແລະການລົງໂທດໃນ TikTok?

ໃນສະຄຣິບ, ຫຼີກເວັ້ນ Enter-PSSession (ມີຈຸດປະສົງເພື່ອໂຕ້ຕອບ) ແລະໃຊ້ Invoke-Command ກັບ script blocks. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຄາດ​ຫວັງ​ການ​ໂທ​ຫຼາຍ​ຫຼື​ຕ້ອງ​ການ​ທີ່​ຈະ​ຮັກ​ສາ​ລັດ (ຕົວ​ປ່ຽນ​ແປງ​, ໂມ​ດູນ​ນໍາ​ເຂົ້າ​)​, ໃຊ້ເຊດຊັນຄົງທີ່ ແລະ, ຖ້າເປັນໄປໄດ້, ຕັດການເຊື່ອມຕໍ່/ເຊື່ອມຕໍ່ພວກມັນຄືນໃໝ່ດ້ວຍ Disconnect-PSSession/Connect-PSSession ໃນ PowerShell 3.0+.

ການກວດສອບຄວາມຖືກຕ້ອງ, HTTPS, ແລະສະຖານະການນອກໂດເມນ

ໃນໂດເມນ, ການພິສູດຢືນຢັນພື້ນເມືອງແມ່ນ Kerberos ແລະທຸກສິ່ງທຸກຢ່າງໄຫຼ. ເມື່ອອຸປະກອນບໍ່ສາມາດຢືນຢັນຊື່ເຊີບເວີ, ຫຼືທ່ານເຊື່ອມຕໍ່ກັບ CNAME IP ຫຼືນາມແຝງ, ທ່ານຕ້ອງການຫນຶ່ງໃນສອງທາງເລືອກນີ້: 1) Listener HTTPS ກັບໃບຢັ້ງຢືນ ອອກໃຫ້ໂດຍ CA ທີ່ທ່ານໄວ້ໃຈ, ຫຼື 2) ເພີ່ມປາຍທາງ (ຊື່ ຫຼື IP) ໃສ່ TrustedHosts ແລະ ໃຊ້ຂໍ້ມູນປະຈໍາຕົວທາງ​ເລືອກ​ທີ​ສອງ​ປິດ​ການ​ໃຊ້​ງານ​ການ​ກວດ​ສອບ​ເຊິ່ງ​ກັນ​ແລະ​ກັນ​ສໍາ​ລັບ​ແມ່​ຂ່າຍ​ນັ້ນ​, ສະ​ນັ້ນ​ມັນ​ຫຼຸດ​ຜ່ອນ​ຂອບ​ເຂດ​ຈໍາ​ເປັນ​ຕໍາ​່​ສຸດ​ທີ່​.

ການຕັ້ງຄ່າຜູ້ຟັງ HTTPS ຕ້ອງການໃບຢັ້ງຢືນ (ໂດຍສະເພາະຈາກ PKI ຂອງທ່ານຫຼື CA ສາທາລະນະ), ຕິດຕັ້ງຢູ່ໃນຮ້ານຂອງທີມແລະຜູກມັດກັບ WinRM. ຫຼັງຈາກນັ້ນ, Port 5986/TCP ຖືກເປີດຢູ່ໃນໄຟວໍແລະ, ຈາກລູກຄ້າ, ຖືກນໍາໃຊ້. - ໃຊ້SSL ໃນ cmdlets ໄລຍະໄກ. ສໍາລັບການກວດສອບໃບຢັ້ງຢືນລູກຄ້າ, ທ່ານສາມາດແຜນທີ່ໃບຢັ້ງຢືນກັບບັນຊີທ້ອງຖິ່ນແລະເຊື່ອມຕໍ່ກັບ - ໃບ​ຢັ້ງ​ຢືນ​ການ Thumbprint​ (Enter-PSSession ບໍ່ຍອມຮັບມັນໂດຍກົງ; ສ້າງ session ທໍາອິດດ້ວຍ New-PSSession.)

hop ທີສອງແລະຄະນະຜູ້ແທນຂອງໃບຢັ້ງຢືນ

"double hop" ທີ່ມີຊື່ສຽງປະກົດຂຶ້ນເມື່ອ, ຫຼັງຈາກເຊື່ອມຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍ, ທ່ານຕ້ອງການເຄື່ອງແມ່ຂ່າຍນັ້ນເພື່ອເຂົ້າເຖິງ a ຊັບພະຍາກອນທີສາມ ໃນນາມຂອງເຈົ້າ (ເຊັ່ນ: ການແບ່ງປັນ SMB). ມີສອງວິທີທີ່ຈະອະນຸຍາດໃຫ້ນີ້: CredSSP ແລະຄະນະຜູ້ແທນ Kerberos ອີງໃສ່ຊັບພະຍາກອນຈໍາກັດ.

ຂອບກົດລະບຽບ CredSSP ທ່ານເປີດໃຊ້ລູກຄ້າ ແລະຕົວກາງໃນການມອບໝາຍຂໍ້ມູນປະຈຳຕົວຢ່າງຈະແຈ້ງ, ແລະທ່ານກຳນົດນະໂຍບາຍ (GPO) ເພື່ອອະນຸຍາດໃຫ້ມອບໝາຍໃຫ້ຄອມພິວເຕີສະເພາະ. ມັນໄວໃນການຕັ້ງຄ່າ, ແຕ່ມີຄວາມປອດໄພໜ້ອຍກວ່າ ເພາະວ່າຂໍ້ມູນປະຈຳຕົວຈະເດີນທາງເປັນຂໍ້ຄວາມທີ່ຊັດເຈນພາຍໃນອຸໂມງທີ່ເຂົ້າລະຫັດໄວ້. ຈຳກັດແຫຼ່ງທີ່ມາ ແລະປາຍທາງສະເໝີ.

ທາງເລືອກທີ່ຕ້ອງການໃນໂດເມນແມ່ນ ຈໍາກັດຜູ້ແທນ Kerberos (ຄະນະຜູ້ແທນທີ່ອີງໃສ່ຊັບພະຍາກອນ) ໃນ AD ທີ່ທັນສະໄຫມ. ນີ້ອະນຸຍາດໃຫ້ endpoint ອີງໃສ່ການຮັບຕົວແທນຈາກຈຸດກາງສໍາລັບການບໍລິການສະເພາະ, ຫຼີກເວັ້ນການເປີດເຜີຍຕົວຕົນຂອງທ່ານໃນການເຊື່ອມຕໍ່ເບື້ອງຕົ້ນ. ຕ້ອງການຕົວຄວບຄຸມໂດເມນທີ່ຜ່ານມາແລະ RSAT ສະບັບປັບປຸງ.

ຈຸດສິ້ນສຸດແບບກຳນົດເອງ (ການກຳນົດຄ່າເຊດຊັນ)

ຫນຶ່ງໃນແກ້ວປະເສີດຂອງ Remoting ແມ່ນສາມາດລົງທະບຽນຈຸດເຊື່ອມຕໍ່ກັບ ຄວາມ​ສາ​ມາດ​ປັບ​ແຕ່ງ​ແລະ​ຂໍ້​ຈໍາ​ກັດ​. ທໍາອິດທ່ານສ້າງໄຟລ໌ທີ່ມີ New-PSSessionConfigurationFile (ໂມດູນທີ່ຈະໂຫລດລ່ວງຫນ້າ, ຫນ້າທີ່ເບິ່ງເຫັນ, ນາມແຝງ, ExecutionPolicy, LanguageMode, ແລະອື່ນໆ), ແລະຫຼັງຈາກນັ້ນທ່ານລົງທະບຽນກັບ Register-PSSessionConfiguration, ບ່ອນທີ່ທ່ານສາມາດຕັ້ງຄ່າໄດ້. RunAsCredential ແລະການອະນຸຍາດ (SDDL ຫຼືການໂຕ້ຕອບ GUI ກັບ -ShowSecurityDscriptorUI).

ສໍາລັບຄະນະຜູ້ແທນທີ່ປອດໄພ, ເປີດເຜີຍພຽງແຕ່ສິ່ງທີ່ຈໍາເປັນກັບ -VisibleCmdlets/-VisibleFunctions ແລະປິດການທໍາງານຂອງສະຄິບຟຣີຖ້າເຫມາະສົມກັບ LanguageMode RestrictedLanguage ຫຼື NoLanguage. ຖ້າທ່ານອອກຈາກ FullLanguage, ບາງຄົນສາມາດໃຊ້ script block ເພື່ອເອີ້ນຄໍາສັ່ງທີ່ບໍ່ໄດ້ເປີດເຜີຍ, ເຊິ່ງລວມກັບ RunAs, ມັນຈະເປັນຂຸມ. ອອກແບບຈຸດສິ້ນສຸດເຫຼົ່ານີ້ດ້ວຍຫວີແຂ້ວລະອຽດ ແລະບັນທຶກຂອບເຂດຂອງພວກມັນ.

ໂດເມນ, GPOs, ແລະ Groupware

ໃນ AD ທ່ານສາມາດປັບໃຊ້ Powershell Remoting ໃນລະດັບທີ່ມີ GPO: ອະນຸຍາດໃຫ້ຕັ້ງຄ່າອັດຕະໂນມັດຂອງຜູ້ຟັງ WinRM, ຕັ້ງການບໍລິການເປັນອັດຕະໂນມັດ, ແລະສ້າງຂໍ້ຍົກເວັ້ນ firewall. ຈື່ໄວ້ວ່າ GPOs ປ່ຽນການຕັ້ງຄ່າ, ແຕ່ພວກມັນບໍ່ສະເຫມີເປີດບໍລິການທັນທີ; ບາງຄັ້ງທ່ານຈໍາເປັນຕ້ອງ restart ຫຼືບັງຄັບ gpupdate.

ເນື້ອຫາສະເພາະ - ຄລິກທີ່ນີ້  ວິທີການຮູ້ລະຫັດຜ່ານ Gmail ຂອງທ່ານ

ຢູ່ໃນກຸ່ມວຽກ (ບໍ່ແມ່ນໂດເມນ), ຕັ້ງຄ່າ Remoting ກັບ ເປີດໃຊ້ງານ, PSRemoting, ຕັ້ງ TrustedHosts ໃນລູກຄ້າ (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) ແລະໃຊ້ຂໍ້ມູນປະຈໍາຕົວທ້ອງຖິ່ນ. ສໍາລັບ HTTPS, ທ່ານສາມາດຕິດຕັ້ງໃບຢັ້ງຢືນທີ່ເຊັນດ້ວຍຕົນເອງ, ເຖິງແມ່ນວ່າມັນຖືກແນະນໍາໃຫ້ໃຊ້ CA ທີ່ເຊື່ອຖືໄດ້ແລະ ຢືນຢັນຊື່ ທີ່ເຈົ້າຈະໃຊ້ໃນ -ComputerName ໃນໃບຮັບຮອງ (CN/SAN match).

ຄີ cmdlets ແລະ syntax

ມືຂອງ commandos ກວມເອົາ 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 authentication ອາດຈະຮຽກຮ້ອງໃຫ້ມີການປັບຕົວ (ເຊັ່ນ: ການນໍາໃຊ້ຜູ້ໃຊ້ທ້ອງຖິ່ນໃນ Basic ກັບ SSL).

Enable-PSRemoting Parameters (ບົດສະຫຼຸບການດໍາເນີນງານ)

-Confirm ຂໍ​ການ​ຢືນ​ຢັນ​ກ່ອນ​ທີ່​ຈະ​ປະ​ຕິ​ບັດ​; - ບັງຄັບ ບໍ່ສົນໃຈຄຳເຕືອນ ແລະເຮັດການປ່ຽນແປງທີ່ຈໍາເປັນ; -SkipNetworkProfileCheck ເປີດໃຊ້ Remoting ໃນເຄືອຂ່າຍລູກຄ້າສາທາລະນະ (ຈໍາກັດໂດຍຄ່າເລີ່ມຕົ້ນກັບເຄືອຂ່າຍຍ່ອຍທ້ອງຖິ່ນ); -WhatIf ສະແດງໃຫ້ທ່ານເຫັນສິ່ງທີ່ຈະເກີດຂຶ້ນໂດຍບໍ່ມີການນໍາໃຊ້ການປ່ຽນແປງ. ນອກຈາກນັ້ນ, ເຊັ່ນດຽວກັນກັບ cmdlet ມາດຕະຖານໃດກໍ່ຕາມ, ມັນສະຫນັບສະຫນູນ ຕົວກໍານົດການທົ່ວໄປ (-Verbose, -ErrorAction, ແລະອື່ນໆ).

ຈົ່ງຈື່ໄວ້ວ່າ "ເປີດໃຊ້" ບໍ່ໄດ້ສ້າງຜູ້ຟັງ HTTPS ຫຼືໃບຢັ້ງຢືນສໍາລັບທ່ານ; ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຕ້ອງ​ການ​ການ​ເຂົ້າ​ລະ​ຫັດ end-to-end ຈາກ​ການ​ເລີ່ມ​ຕົ້ນ​ແລະ​ການ​ກວດ​ສອບ​ໂດຍ​ອີງ​ໃສ່ ໃບຢັ້ງຢືນ, ຕັ້ງຄ່າຕົວຟັງ 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, double hop, ໃບຢັ້ງຢືນ), ທ່ານຈະມີເວທີຫ່າງໄກສອກຫຼີກແຂງສໍາລັບການດໍາເນີນງານປະຈໍາວັນແລະການຕອບສະຫນອງເຫດການ.

malware ທີ່ເບິ່ງບໍ່ເຫັນ
ບົດຂຽນທີ່ກ່ຽວຂ້ອງ:
ວິທີການປົກປ້ອງ PC ຂອງທ່ານຈາກ malware ທີ່ເບິ່ງບໍ່ເຫັນເຊັ່ນ XWorm ແລະ NotDoor