การดูเซสชันเดสก์ท็อปของผู้ใช้ระยะไกลด้วยโหมดเงาใน Windows
คุณสามารถใช้ Remote Desktop Shadowing เพื่อเชื่อมต่อกับเซสชันของผู้ใช้ในคอมพิวเตอร์ Windows จากระยะไกล คุณลักษณะนี้โดยพื้นฐานแล้วเป็นแอนะล็อกของ Remote Assistance และช่วยให้ผู้ดูแลระบบสามารถดูและโต้ตอบกับเดสก์ท็อปของผู้ใช้จากระยะไกลได้ทั้งบนเวอร์ชันเดสก์ท็อป (Windows 11 หรือ 10) และบนเซิร์ฟเวอร์ Windows Server RDS
ผู้ดูแลระบบมักจะใช้ Remote Desktop Session Shadowing เพื่อให้การสนับสนุนด้านเทคนิคระยะไกลแก่ผู้ใช้ RDS ของ Windows Server Farms
เปิดใช้งานโหมดการเชื่อมต่อเงาเดสก์ท็อประยะไกลใน Windows
คุณต้องกำหนดค่าคอมพิวเตอร์ Windows ที่คุณต้องการเชื่อมต่อผ่านการเชื่อมต่อเงาของเดสก์ท็อประยะไกลด้วยวิธีใดวิธีหนึ่ง
เปิดใช้งาน Remote Desktop (RDP) บนคอมพิวเตอร์ของผู้ใช้ (ด้วยตนเองหรือผ่าน GPO)
-
บัญชีของคุณต้องมีสิทธิ์ของผู้ดูแลระบบในคอมพิวเตอร์ของผู้ใช้ (คุณสามารถเพิ่มผู้ใช้ลงในกลุ่ม 'ผู้ดูแลระบบ' ด้วยตนเองหรือใช้นโยบายกลุ่ม)
กำหนดค่าโหมดการเชื่อมต่อเงา คุณสามารถกำหนดค่าว่าคุณต้องการขอการยืนยันจากผู้ใช้เพื่อเชื่อมต่อหรือไม่ และอนุญาตให้ใช้มุมมองหรือการควบคุมในเซสชันเงาหรือไม่ คุณสามารถกำหนดค่าโหมดการเชื่อมต่อเงาผ่านตัวเลือก GPO ตั้งกฎสำหรับการควบคุมระยะไกลของเซสชันผู้ใช้ Remote Desktop Services (การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> ส่วนประกอบของ Windows -> บริการเดสก์ท็อประยะไกล -> โฮสต์เซสชันระยะไกล - > การเชื่อมต่อ).
ใช้งานได้ 5 โหมดต่อไปนี้:0 - ปิดใช้งานการควบคุมระยะไกลแบบเงา
1 — ควบคุมเต็มรูปแบบโดยได้รับอนุญาตจากผู้ใช้
2 — ควบคุมโดยสมบูรณ์โดยไม่ได้รับอนุญาตจากผู้ใช้
3 — ดูเซสชันโดยได้รับอนุญาตจากผู้ใช้
4 — ดูเซสชันโดยไม่ได้รับอนุญาตจากผู้ใช้คุณสามารถเปิดใช้งานโหมดการเชื่อมต่อเงาที่ต้องการได้โดยตรงผ่านรีจิสตรี แก้ไขรีจิสทรีด้วยตนเองหรือด้วยคำสั่ง reg add ในตัวอย่างนี้ เราตั้งค่าโหมด 4 ซึ่งอนุญาตให้ดูเซสชันระยะไกลโดยไม่ได้รับอนุญาตจากผู้ใช้:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow /t REG_DWORD /d 4ตามค่าเริ่มต้น พารามิเตอร์รีจิสทรีนี้ไม่ได้ตั้งค่าไว้ และการเชื่อมต่อเงาจะดำเนินการในโหมดควบคุมทั้งหมดพร้อมการยืนยันจากผู้ใช้
กำหนดค่ากฎไฟร์วอลล์ Windows Defender เพื่ออนุญาตการเชื่อมต่อเงาระยะไกลที่เข้ามา พอร์ตต่อไปนี้ใช้สำหรับการรับส่งข้อมูลเงาเซสชันใน Windows แทนพอร์ตมาตรฐาน 3389/RDP: 139/TCP, 445/TCP และช่วงไดนามิก พอร์ต RPC (จาก 49152 ถึง 65535) คุณต้องเปิดใช้กฎไฟร์วอลล์ที่กำหนดไว้ล่วงหน้าสองกฎใน Windows:
File and Printer Sharing (SMB-In)และ
Remote Desktop - Shadow (TCP-In). กฎข้อสุดท้ายอนุญาตให้เข้าถึงระยะไกลไปยัง
RdpSa.exeกระบวนการ. คุณสามารถเปิดใช้งานกฎ Windows Defender บนคอมพิวเตอร์ของผู้ใช้ผ่าน GPO หรือโดยใช้ cmdlet Enable-NetFirewallRule PowerShell
เชื่อมต่อกับเซสชันผู้ใช้จากระยะไกลผ่าน Remote Desktop Shadowing
มาดูวิธีเชื่อมต่อระยะไกลกับเซสชันเดสก์ท็อปของผู้ใช้รายอื่นบนคอมพิวเตอร์ Windows ระยะไกลโดยใช้การเชื่อมต่อเงาของเดสก์ท็อประยะไกล ในตัวอย่างนี้ ฉันจะเชื่อมต่อจากคอมพิวเตอร์ Windows 11 ของฉันกับเซสชันของผู้ใช้บนเวิร์กสเตชัน Windows 10 ของผู้ใช้
เครื่องมือการเชื่อมต่อเดสก์ท็อประยะไกลในตัว (mstsc.exe) ใช้เพื่อเชื่อมต่อเงากับเซสชันของผู้ใช้ รูปแบบคำสั่งคือ:
Mstsc.exe /shadow:<Session ID> /v:<Computer name or IP address>คุณยังสามารถใช้หนึ่งในตัวเลือก mstsc ต่อไปนี้:
/prompt - ขอข้อมูลรับรองผู้ใช้เพื่อเชื่อมต่อ (หากไม่ได้ระบุ คุณจะเชื่อมต่อด้วยข้อมูลรับรองผู้ใช้ปัจจุบัน)
/control - โหมดที่ช่วยให้โต้ตอบกับเซสชันของผู้ใช้ หากไม่ได้ตั้งค่าพารามิเตอร์ คุณจะเชื่อมต่อกับเซสชันผู้ใช้ในโหมดดู i. อี คุณจะไม่สามารถควบคุมเมาส์ของผู้ใช้หรือป้อนข้อมูลจากแป้นพิมพ์ได้
/noConsentPrompt - ไม่ต้องแจ้งให้ผู้ใช้ยืนยันเพื่อเชื่อมต่อกับเซสชันเดสก์ท็อป
ตอนนี้คุณต้องค้นหาชื่อผู้ใช้และรหัสเซสชันของเขาบนคอมพิวเตอร์ระยะไกล (หากผู้ใช้ทำงานโดยตรงที่คอนโซลคอมพิวเตอร์ รหัสเซสชันของเขาจะเป็น 1 เสมอ)
แสดงรายการเซสชันของผู้ใช้บนคอมพิวเตอร์ระยะไกล (อาจเป็นคอมพิวเตอร์เดสก์ท็อปที่ใช้ Windows 11/10 หรือ Windows Server ที่มีบทบาทโฮสต์บริการเดสก์ท็อประยะไกล)
ขอรายการเซสชันจากระยะไกลบนเวิร์กสเตชัน Windows 10 โดยใช้คำสั่งนี้:
qwinsta /server:PC_Name01
ในตัวอย่างนี้ คุณจะเห็นว่ามีผู้ใช้เพียงรายเดียวที่เข้าสู่ระบบคอมพิวเตอร์ ซึ่งทำงานโดยตรงที่คอนโซลคอมพิวเตอร์ (
SESSIONNAME=console) ที่มี ID เซสชัน=1
มาลองเชื่อมต่อกับเดสก์ท็อปของผู้ใช้รายนี้จากระยะไกลผ่านการเชื่อมต่อเงา เรียกใช้คำสั่ง:
Mstsc /shadow:1 /v:PC_Name01ผู้ใช้ Windows จะได้รับแจ้งให้ยืนยันว่าผู้ดูแลระบบกำลังเชื่อมต่อกับเซสชันของตน:
Remote connection request
PC\admin is requesting to view your session remotely. Do you accept the request?หากปิดใช้งานบริการ TermService บนคอมพิวเตอร์ระยะไกล ข้อผิดพลาดจะปรากฏขึ้นเมื่อพยายามเชื่อมต่อระยะไกลผ่านการเชื่อมต่อเงาของเดสก์ท็อประยะไกล:
The version of Windows running on this server does not support user shadowing.หากผู้ใช้ยอมรับการเชื่อมต่อ คุณจะเชื่อมต่อกับเซสชันคอนโซลและดูเดสก์ท็อปของผู้ใช้ คุณจะเห็นการกระทำของผู้ใช้ทั้งหมด แต่จะไม่สามารถควบคุม (โต้ตอบ) เซสชันนี้ได้ หากคุณต้องการควบคุมเซสชัน ให้ใช้ตัวเลือก /control ในคำสั่ง mstsc ในกรณีนี้ คำอธิบายภาพในชื่อหน้าต่างจะเปลี่ยนจาก
Viewing username (sessionID 1) on computernameถึง
Controlling…ในกรณีนี้ คุณจะเชื่อมต่อโดยตรงกับเซสชันคอนโซลของผู้ใช้โดยไม่บล็อกเซสชันของผู้ใช้ เมื่อเชื่อมต่อกับ Windows จากระยะไกลผ่านเซสชัน RDP มาตรฐาน เซสชันผู้ใช้ภายในเครื่องจะขาดการเชื่อมต่อ (แม้ว่าคุณจะเปิดใช้งาน RDP พร้อมกันหลายเซสชันใน Windows)
หากเซสชันผู้ใช้ถูกล็อกเนื่องจากผู้ใช้ไม่ได้ใช้งานหรือคำขอยกระดับสิทธิ์ UAC ปรากฏขึ้นเมื่อเชื่อมต่อโดยไม่ใช้
mstsc /controlพารามิเตอร์ หน้าต่างเซสชันเงาจะกลายเป็นสีดำและมีสัญลักษณ์หยุดชั่วคราวปรากฏขึ้น
เซสชันเงาจะเข้าสู่สถานะถูกระงับ หากผู้ใช้มีการแจ้งเตือน UAC บนเดสก์ท็อปที่ปลอดภัย หลังจากที่ผู้ใช้ยืนยันการดำเนินการ UAC แล้ว เซสชันเงาของคุณจะกลับมาทำงานต่อ
PromptOnSecureDesktop เป็นหนึ่งในพารามิเตอร์ที่มีอยู่ในการตั้งค่า UAC Group Policy
ใช้แป้นพิมพ์ลัด
Ctrl + Alt + Breakเพื่อปรับขนาดหน้าต่างเชื่อมต่อเงาให้พอดีกับหน้าจอเดสก์ท็อปของคุณทั้งหมด
กด
Alt+*บนคอมพิวเตอร์ (หรือ
Ctrl+*บนเซิร์ฟเวอร์ RDS) เพื่อสิ้นสุดเซสชันเงา
คุณสามารถแจ้งผู้ใช้ว่ามีคนกำลังเชื่อมต่อกับเซสชันจากระยะไกลผ่านการเชื่อมต่อเงา RDP โดยใช้สคริปต์ PowerShell ต่อไปนี้:
while($true){
if (Get-Process -Name "RdpSa" -ErrorAction SilentlyContinue){[console]::beep(1000,500);Write-Host "RdpSa is running at $(Get-Date)"}
Start-Sleep -Seconds 1
}คุณสามารถเรียกใช้สคริปต์ PowerShell นี้เป็นบริการของ Windows ในตัวอย่างนี้ เราแจ้งผู้ใช้ด้วยเสียงบี๊บง่ายๆ นอกจากนี้คุณยังสามารถแสดงการแจ้งเตือนแบบป๊อปอัพบนเดสก์ท็อปได้อีกด้วย
คุณสามารถสอบถามประวัติการเชื่อมต่อเงาบนคอมพิวเตอร์ของผู้ใช้จากบันทึกเหตุการณ์ของ Windows ll เหตุการณ์ที่คุณสนใจสามารถพบได้ใน
Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operationalส่วนของ Event Viewer
รหัสเหตุการณ์ 20508 — ได้รับสิทธิ์การดูเงาแล้ว
รหัสเหตุการณ์ 20503 — เริ่มต้นเซสชัน Shadow View
รหัสเหตุการณ์ 20504 — หยุดเซสชัน Shadow View
คุณสามารถรับบันทึกการเชื่อมต่อเงาจากคอมพิวเตอร์ของผู้ใช้โดยใช้ PowerShell:
$EventIds = 20508,20503,20504
Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational';ID=$EventIds}อ่านเพิ่มเติมเกี่ยวกับการวิเคราะห์บันทึกการเชื่อมต่อ RDP ในบทความแยกต่างหาก
Remote Desktop Shadowing มีอยู่ใน Windows 11/10/ 8.1 และ Windows Server 2022/2019/2016/2012 R2 ดังนั้น คุณสามารถใช้ Remote Desktop Shadowing เป็นแอนะล็อกของ Remote Assistance หรือ TeamViewer/AnyDesk ซึ่งให้การเข้าถึงทันทีและปลอดภัยไปยังคอมพิวเตอร์ของผู้ใช้บนเครือข่ายท้องถิ่นขององค์กร









