คุณสามารถใช้โหมดระบาย RDS เพื่อรักษาโฮสต์ของเทอร์มินัลในฟาร์มบริการเดสก์ท็อประยะไกล หากคุณเปิดใช้งานโหมดระบายสำหรับเซิร์ฟเวอร์ RDS ของคุณ คุณสามารถป้องกันไม่ให้เซิร์ฟเวอร์ยอมรับการเชื่อมต่อ RDP ของผู้ใช้ใหม่ และการเชื่อมต่อ RD ปัจจุบันจะยังคงใช้งานได้จนกว่าผู้ใช้จะออกจากระบบด้วยตนเองหรือโดยอัตโนมัติตามระยะหมดเวลาของเซสชัน RDS จากนั้น คุณจะสามารถรักษาโฮสต์ Windows Server ของคุณโดยไม่รบกวนการทำงานของฟาร์ม RDS ของคุณ (ติดตั้งการอัปเดต เปลี่ยนการตั้งค่าเซิร์ฟเวอร์หรือแอป อัปเดตไฟล์การกำหนดค่า ฯลฯ)
สารบัญ:
- โหมดระบายบน Windows Server Remote Desktop Services คืออะไร
- จะปฏิเสธการเข้าสู่ระบบของผู้ใช้ใหม่ไปยังเซิร์ฟเวอร์เซสชัน RD ได้อย่างไร
- ตั้งค่าโหมดระบายสำหรับโฮสต์ Windows Server RDS ผ่าน PowerShell
โหมดระบายบน Windows Server Remote Desktop Services คืออะไร
โหมดระบายปรากฏใน Windows Server 2008 (โหมดระบายเซิร์ฟเวอร์บริการเทอร์มินัล) เมื่อคุณกำหนดให้โฮสต์ RDS อยู่ในโหมดระบาย จะไม่สามารถยอมรับการเชื่อมต่อของผู้ใช้ใหม่ได้อีกต่อไป ตามกฎแล้ว โหมดนี้จะใช้เมื่อผู้ดูแลระบบเซิร์ฟเวอร์ต้องบำรุงรักษาเซิร์ฟเวอร์ (ติดตั้งการอัปเดตของ Windows กำหนดค่าหรืออัปเดตแอป) โดยไม่ส่งผลต่อความพร้อมใช้งานของฟาร์ม RDS ทั้งหมด โฮสต์ RDS สามารถทำงานในโหมดระบายได้สามประเภท:
- อนุญาตการเชื่อมต่อทั้งหมด (โหมดเริ่มต้น) — RD Session Host ยอมรับการเชื่อมต่อใหม่
- อนุญาตการเชื่อมต่อใหม่ แต่ป้องกันการเข้าสู่ระบบใหม่ — ผู้ใช้ได้รับอนุญาตให้เชื่อมต่อกับเซสชันที่มีอยู่อีกครั้ง แต่ไม่อนุญาตให้มีเซสชันใหม่ หากคุณรีสตาร์ทเซิร์ฟเวอร์ ผู้ใช้จะไม่สามารถเชื่อมต่อได้
- อนุญาตการเชื่อมต่อใหม่ แต่ป้องกันการเข้าสู่ระบบใหม่จนกว่าเซิร์ฟเวอร์จะรีสตาร์ท – โหมดนี้คล้ายกับโหมดก่อนหน้านี้ แต่หลังจากการรีสตาร์ท โหมดการเข้าสู่ระบบของผู้ใช้จะถูกรีเซ็ตเป็น Allow All Connections
จะปฏิเสธการเข้าสู่ระบบของผู้ใช้ใหม่ไปยังเซิร์ฟเวอร์เซสชัน RD ได้อย่างไร
คุณสามารถเปิดใช้งานโหมดระบายบนเซิร์ฟเวอร์โฮสต์ RDS ของคุณผ่านการตั้งค่าการรวบรวม RDS
- Open Server Manager -> All Servers -> และเพิ่มเซิร์ฟเวอร์ RDS ทั้งหมดของฟาร์ม
- เลือก Remote Desktop Services ที่แผงด้านซ้ายในตัวจัดการเซิร์ฟเวอร์ เลือกคอลเลกชัน RDS;
- ใน
HOST SERVERS
เลือกเซิร์ฟเวอร์ที่คุณต้องการเปิดใช้งานโหมดระบายและเลือก ไม่อนุญาตให้มีการเชื่อมต่อใหม่ ในเมนูบริบท
ผู้ใช้ที่มีเซสชันเดสก์ท็อประยะไกลที่ใช้งานอยู่จะสามารถเชื่อมต่อกับเซิร์ฟเวอร์อีกครั้ง ในขณะที่การเชื่อมต่อใหม่ทั้งหมดจะถูกส่งต่อโดยนายหน้าการเชื่อมต่อ RD ไปยังโฮสต์อื่นในฟาร์ม RDS ของคุณ
คุณยังสามารถตั้งค่าโหมดระบายในเครื่องบนโฮสต์ RDS ผ่านทางพรอมต์คำสั่ง ในการทำเช่นนั้น เปลี่ยนการเข้าสู่ระบบ
ใช้คำสั่ง
เพื่อป้องกันการเชื่อมต่อผู้ใช้ใหม่ ให้เรียกใช้คำสั่งด้านล่าง:
เปลี่ยนการเข้าสู่ระบบ /drain
New user logons are DISABLED, but reconnections to existing sessions are ENABLED
ตอนนี้ ถ้าผู้ใช้ใหม่พยายามเชื่อมต่อกับโฮสต์ RDS โดยตรง (เมื่อไม่ได้ใช้นายหน้าการเชื่อมต่อ RD) ข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น:
Remote logins are currently disabled.
ในขณะเดียวกันก็มีเหตุการณ์ที่มี Event ID 1070 และ TerminalServices-RemoteConnectionManager ตามแหล่งที่มาปรากฏขึ้น ในบันทึกโฮสต์ RDS:
A logon request was denied because the RD Session Host server is currently in drain mode and therefore not accepting new user logons. To configure the server to allow new user logons, use the Remote Desktop Services Configuration tool.
คำสั่งต่อไปนี้จะเปิดใช้งานโหมดระบายจนกว่าโฮสต์จะรีสตาร์ท:
เปลี่ยนการเข้าสู่ระบบ /drainuntilrestart
หากต้องการป้องกันไม่ให้ผู้ใช้เชื่อมต่อกับโฮสต์แม้มีเซสชันที่ใช้งานอยู่ ให้เรียกใช้คำสั่งนี้:
เปลี่ยนการเข้าสู่ระบบ /ปิดการใช้งาน
Session logins are currently DISABLEDหากคุณเชื่อมต่อกับโฮสต์เซสชันเดสก์ท็อประยะไกลในโหมดเซสชันไคลเอ็นต์ และปิดใช้งานการเข้าถึงโดยใช้คำสั่งด้านบนและออกจากระบบ (logoff.exe) คุณจะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ผ่านคอนโซลเท่านั้น (
mstsc /admin
)
หากต้องการอนุญาตการเชื่อมต่อ ให้ใช้คำสั่งนี้:
เปลี่ยนการเข้าสู่ระบบ / เปิดใช้งาน
เพื่อให้แน่ใจว่าโหมดระบายถูกเปิดใช้งานบนเซิร์ฟเวอร์ RDS ของคุณ ให้เรียกใช้คำสั่งด้านล่าง:เปลี่ยนการเข้าสู่ระบบ /query
Session logins are currently ENABLED
หากคุณพยายามตั้งค่าโหมดระบายบนเซิร์ฟเวอร์ของคุณโดยใช้ เปลี่ยนการเข้าสู่ระบบ รหัส> และดูข้อผิดพลาดต่อไปนี้:
Connections are currently ENABLED by Group Policy for this machine, unable to change.
ซึ่งหมายความว่าโหมดระบายได้รับการกำหนดค่าผ่าน GPO การตั้งค่านโยบายนี้เรียกว่า อนุญาตให้ผู้ใช้เชื่อมต่อจากระยะไกลโดยใช้บริการเดสก์ท็อประยะไกล และคุณสามารถค้นหาได้ในส่วน GPO ต่อไปนี้:เทมเพลตการดูแล -> คอมโพเนนต์ของ Windows -> บริการเดสก์ท็อประยะไกล -> โฮสต์เซสชันเดสก์ท็อประยะไกล -> การเชื่อมต่อ
ปิดใช้งานนโยบายหรือตั้งค่าเป็น ไม่ได้กำหนดค่า .
ตั้งค่าโหมดระบายสำหรับโฮสต์ Windows Server RDS ผ่าน PowerShell
คุณสามารถจัดการการตั้งค่าโหมดระบายของคอลเลกชันโฮสต์ RDS หรือเซิร์ฟเวอร์ RDS แบบสแตนด์อโลนโดยใช้ PowerShell:
Import-Module RemoteDesktop
# เพื่อปฏิเสธการเชื่อมต่อ RDP ใหม่กับโฮสต์บริการเดสก์ท็อประยะไกล
Set-RDSessionHost -SessionHost mun-saprdsh1.woshub.com -NewConnectionAllowed No -ConnectionBroker mun-saprdcb.woshub คอม# เพื่ออนุญาตการเชื่อมต่อ
Set-RDSessionHost -SessionHost mun-saprdsh1.woshub.com -NewConnectionAllowed ใช่ -ConnectionBroker mun-saprdcb.woshub.com
- WinStationsDisabled HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\
- TSServerDrainMode HKLM\System\CurrentControlSet\Control\Terminal Server\
ตัวอย่างเช่น เมื่อเปิดใช้งานโหมดเดรน ค่ารีจิสทรีจะถูกตั้งค่าเป็น WinStationsDisabled =0
และ TSServerDrainMode =2
.
คุณยังตรวจสอบได้ด้วยว่าโหมดเดรนบนโฮสต์ของคุณเปิดใช้งานอยู่โดยใช้สคริปต์ PowerShell ด้านล่างหรือไม่:
รับ-WmiObject win32_terminalservicesetting -N "root\cimv2\terminalservices" | %{
ถ้า ($_.logons -eq 1){
"Disabled"}
Else {
switch ($_.sessionbrokerdrainmode)
{
0 {"เปิดใช้งาน"}
1 {"DrainUntilRestart"}
2 {"Drain"}
ค่าเริ่มต้น {"error"}
}
}
}
วิธีเปิดใช้งานโหมดระบายผ่าน PowerShell (คล้ายกับ เปลี่ยนการเข้าสู่ระบบ /Drain
):
$temp =(Get-WmiObject win32_terminalservicesetting -N "root\cimv2\terminalservices")
$temp.sessionbrokerdrainmode=2
$temp.put()
ในการทำให้โฮสต์ RDS เข้าสู่โหมดปกติ (เปลี่ยนการเข้าสู่ระบบ / เปิดใช้งาน
) เรียกใช้คำสั่งนี้:
$temp =(Get-WmiObject win32_terminalservicesetting -N " root\cimv2\terminalservices ")
$temp.sessionbrokerdrainmode=0
$temp.logons=0
$temp.put() )