วิธีลบโฮสต์เซสชัน RD จากการปรับใช้บริการเดสก์ท็อประยะไกล
ในการลบโฮสต์ RSDH ออกจากคอลเลกชัน/ฟาร์มเซสชันบริการเดสก์ท็อประยะไกล คุณสามารถใช้คอนโซลกราฟิกตัวจัดการเซิร์ฟเวอร์หรือ PowerShell cmdlet Remove-RDSessionHost
คุณสามารถใช้คำสั่ง PowerShell ต่อไปนี้หากคุณต้องการลบโฮสต์เซสชัน RD แบบออนไลน์ออกจากคอลเลกชันเซสชันในฟาร์ม RDS:
Remove-RDSessionHost -SessionHost @("rdsh2.a-d.site") -ConnectionBroker rdcb.a-d.site -verboseVERBOSE: The specified RD Session Host server will be removed from the session collection.หากเซิร์ฟเวอร์ RDSH ที่คุณต้องการลบอยู่ในสถานะออฟไลน์ (โฮสต์เสีย/ล้มเหลวเมื่อคุณบูต Windows ไม่ได้ หรือฮาร์ดแวร์เซิร์ฟเวอร์เสียหาย) คุณจะได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามลบออกจากการปรับใช้ RDS ของคุณ:
WARNING: Unable to cleanup the RD Session Host server rdsh1.หากคุณพยายามลบเซิร์ฟเวอร์ดังกล่าวที่รันบทบาทโฮสต์บริการเดสก์ท็อประยะไกลออกจากการปรับใช้ RDS โดยใช้ตัวจัดการเซิร์ฟเวอร์ คุณจะเห็นข้อผิดพลาดนี้:
Could not remove the configuration. Object reference not set to an instance of an object.
นอกจากนี้ คุณไม่สามารถจัดการฟาร์ม RDS ของคุณผ่าน Server Manager ได้ เนื่องจากหลังจากลบโฮสต์ RDSH ออกจากคอนโซลแล้ว คุณจะเห็นคำเตือนต่อไปนี้:
The following servers in this deployment are not part of the server pool:
rdsh2.a-d.site
The servers must be added to the server pool.ในการลบโฮสต์ RDS ที่ล้มเหลวอย่างถูกต้อง คุณจะไม่กลับไปที่ฟาร์มของคุณ คุณต้องลบข้อมูลเมตาออกจากฐานข้อมูล RD Connection Broker (RDCB)
โดยเชื่อมต่อกับฐานข้อมูล RDCB โดยใช้ SQL Management Studio
หากคุณกำลังใช้ฐานข้อมูลตัวแทนการเชื่อมต่อเดสก์ท็อประยะไกลในเครื่องที่อิงตามฐานข้อมูลภายในของ Windows (WID) ให้ใช้สตริงการเชื่อมต่อต่อไปนี้เพื่อเชื่อมต่อกับอินสแตนซ์ SQL:
\\.\pipe\MICROSOFT##WID\tsql\queryหากฐานข้อมูล RDCB ของคุณทำงานบน SQL Server หรือในกลุ่ม SQL Server Always On High Availability (หากคุณใช้บทบาทนายหน้าการเชื่อมต่อ RD ที่มีความพร้อมใช้งานสูง) ให้เชื่อมต่อกับ SQL Server Listener ที่เหมาะสม (คุณอาจได้รับโดยใช้คำสั่ง :
Get-RDConnectionBrokerHighAvailability)
เรียกใช้ SQL Management Studio และเชื่อมต่อกับฐานข้อมูลโดยใช้บัญชีที่มีสิทธิ์ของผู้ดูแลระบบภายในบนเซิร์ฟเวอร์
ขอแนะนำให้สำรองฐานข้อมูล SQL ของ RD Connection Broker ก่อนทำการเปลี่ยนแปลงใดๆ
ขยายฐานข้อมูล RDCms และค้นหาตารางต่อไปนี้ที่มีรายการเกี่ยวกับโฮสต์ฟาร์ม RDS:
rds.Server - รายการเซิร์ฟเวอร์ทั้งหมดในฟาร์มบริการเดสก์ท็อประยะไกล
rds.RoleRdsh - รายการเซิร์ฟเวอร์ที่มีบทบาทโฮสต์เซสชัน RD
rds.RoleRdcb — นายหน้าการเชื่อมต่อ
rds.RoleRdls — RDS License Serversr
rds.RoleRdvh — โฮสต์การจำลองเสมือน
rds.RoleRdwa — โฮสต์การเข้าถึงเว็บ
ในกรณีของเรา เฉพาะบทบาท RDSH เท่านั้นที่ทำงานบนเซิร์ฟเวอร์ ซึ่งหมายความว่าเพียงพอที่จะลบรายการจากตาราง rds.Server และ rds.RoleRdsh
ค้นหา ID ของเซิร์ฟเวอร์ RDSH ในตารางที่คุณต้องการลบออกจากการปรับใช้ RDS ในตัวอย่างของฉัน มันคือ ID 3
ใช้เคียวรี T-SQL ต่อไปนี้เพื่อลบเร็กคอร์ด RDSH ออกจากทั้งสองตารางของฐานข้อมูล Connection Broker:
use RDCms;
delete from rds.RoleRdsh where ServerID = '3';
delete from rds.Server where Id = '3';คุณไม่จำเป็นต้องทำให้โฮสต์ RDSH อื่นอยู่ในโหมดเดรน
ปิดฐานข้อมูลและรีสตาร์ทคอนโซลตัวจัดการเซิร์ฟเวอร์ เปิดคอนโซล RDS อัปเดตการกำหนดค่า และตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ที่นำออกไม่ปรากฏในรายการโฮสต์ RDS ที่มีอีกต่อไป
คุณสามารถตรวจสอบให้แน่ใจว่าไม่มีเซิร์ฟเวอร์ที่ถูกลบในฟาร์ม RDS โดยใช้คำสั่งนี้:
Get-RDServerหากคุณต้องการย้ายบทบาท RD Connection Broker หรือ RD Web Access ไปยังเซิร์ฟเวอร์อื่น ให้ใช้คำแนะนำนี้





