ค้นหาเว็บไซต์

การดูเซสชันเดสก์ท็อปของผู้ใช้ระยะไกลด้วยโหมดเงาใน Windows


คุณสามารถใช้ Remote Desktop Shadowing เพื่อเชื่อมต่อกับเซสชันของผู้ใช้ในคอมพิวเตอร์ Windows จากระยะไกล คุณลักษณะนี้โดยพื้นฐานแล้วเป็นแอนะล็อกของ Remote Assistance และช่วยให้ผู้ดูแลระบบสามารถดูและโต้ตอบกับเดสก์ท็อปของผู้ใช้จากระยะไกลได้ทั้งบนเวอร์ชันเดสก์ท็อป (Windows 11 หรือ 10) และบนเซิร์ฟเวอร์ Windows Server RDS

ผู้ดูแลระบบมักจะใช้ Remote Desktop Session Shadowing เพื่อให้การสนับสนุนด้านเทคนิคระยะไกลแก่ผู้ใช้ RDS ของ Windows Server Farms

เปิดใช้งานโหมดการเชื่อมต่อเงาเดสก์ท็อประยะไกลใน Windows

คุณต้องกำหนดค่าคอมพิวเตอร์ Windows ที่คุณต้องการเชื่อมต่อผ่านการเชื่อมต่อเงาของเดสก์ท็อประยะไกลด้วยวิธีใดวิธีหนึ่ง

  1. เปิดใช้งาน Remote Desktop (RDP) บนคอมพิวเตอร์ของผู้ใช้ (ด้วยตนเองหรือผ่าน GPO)

  2. บัญชีของคุณต้องมีสิทธิ์ของผู้ดูแลระบบในคอมพิวเตอร์ของผู้ใช้ (คุณสามารถเพิ่มผู้ใช้ลงในกลุ่ม 'ผู้ดูแลระบบ' ด้วยตนเองหรือใช้นโยบายกลุ่ม)

  3. กำหนดค่าโหมดการเชื่อมต่อเงา คุณสามารถกำหนดค่าว่าคุณต้องการขอการยืนยันจากผู้ใช้เพื่อเชื่อมต่อหรือไม่ และอนุญาตให้ใช้มุมมองหรือการควบคุมในเซสชันเงาหรือไม่ คุณสามารถกำหนดค่าโหมดการเชื่อมต่อเงาผ่านตัวเลือก GPO ตั้งกฎสำหรับการควบคุมระยะไกลของเซสชันผู้ใช้ Remote Desktop Services (การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> ส่วนประกอบของ Windows -> บริการเดสก์ท็อประยะไกล -> โฮสต์เซสชันระยะไกล - > การเชื่อมต่อ).

    ใช้งานได้ 5 โหมดต่อไปนี้:0 - ปิดใช้งานการควบคุมระยะไกลแบบเงา
    1 — ควบคุมเต็มรูปแบบโดยได้รับอนุญาตจากผู้ใช้
    2 — ควบคุมโดยสมบูรณ์โดยไม่ได้รับอนุญาตจากผู้ใช้
    3 — ดูเซสชันโดยได้รับอนุญาตจากผู้ใช้
    4 — ดูเซสชันโดยไม่ได้รับอนุญาตจากผู้ใช้

  4. คุณสามารถเปิดใช้งานโหมดการเชื่อมต่อเงาที่ต้องการได้โดยตรงผ่านรีจิสตรี แก้ไขรีจิสทรีด้วยตนเองหรือด้วยคำสั่ง reg add ในตัวอย่างนี้ เราตั้งค่าโหมด 4 ซึ่งอนุญาตให้ดูเซสชันระยะไกลโดยไม่ได้รับอนุญาตจากผู้ใช้:

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow /t REG_DWORD /d 4

    ตามค่าเริ่มต้น พารามิเตอร์รีจิสทรีนี้ไม่ได้ตั้งค่าไว้ และการเชื่อมต่อเงาจะดำเนินการในโหมดควบคุมทั้งหมดพร้อมการยืนยันจากผู้ใช้

  5. กำหนดค่ากฎไฟร์วอลล์ 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 ซึ่งให้การเข้าถึงทันทีและปลอดภัยไปยังคอมพิวเตอร์ของผู้ใช้บนเครือข่ายท้องถิ่นขององค์กร

บทความที่เกี่ยวข้อง