บริการเดสก์ท็อประยะไกลสามารถปรับใช้และจัดการโดย PowerShell เพียงอย่างเดียวโดยไม่ต้องมีโดเมนใน WIndows Server 2012 และ 2012 R2 หรือไม่


19

Windows Server 2008 R2 อนุญาตให้ปรับใช้เซิร์ฟเวอร์เทอร์มินัล (บริการเดสก์ท็อประยะไกล) โดยไม่มีโดเมนและไม่มีการยืนยันบนโดเมน สิ่งนี้มีประโยชน์มากโดยเฉพาะอย่างยิ่งสำหรับการปรับใช้แบบสแตนด์อโลนเสมือนหรือแบบคลาวด์ของเซิร์ฟเวอร์ที่ได้รับการจัดการจากระยะไกลสำหรับไคลเอนต์ระยะไกลที่ไม่ต้องการหรือต้องการคุณสมบัติ ActiveDirectory หรือโดเมนใด ๆ

สิ่งนี้ได้กลายเป็นเรื่องที่ยากขึ้นเรื่อย ๆ เนื่องจาก Microsoft ได้ จำกัด เทคโนโลยีของตัวเองมากขึ้นเรื่อย ๆ ใน Windows ทุกรุ่น ด้วย Windows Server 2012 การกำหนดค่าลิขสิทธิ์สำหรับบริการเดสก์ท็อประยะไกลนั้นยากขึ้นเมื่อไม่ได้อยู่ในโดเมน แต่ยังคงเป็นไปได้ ด้วย Windows Server 2012 R2 (อย่างน้อยในภาพตัวอย่าง) ปัญหาและอุปสรรคที่รุนแรงในขณะนี้:

  1. ตัวช่วยสร้างเพิ่ม / ลบบทบาทและคุณสมบัติใน Windows Server 2012 R2 มีโหมดการปรับใช้ RDS พิเศษที่มีกฎที่ระบุว่าหากคุณไม่ได้อยู่ในโดเมนที่คุณไม่สามารถปรับใช้ มันบอกให้คุณสร้างหรือเข้าร่วมโดเมนก่อน หลักสูตรนี้มีความขัดแย้งโดยตรงกับความจริงที่ว่าตัวควบคุมโดเมน Active Directory ไม่ควรเป็นเครื่องเดียวกับเครื่องเซิร์ฟเวอร์เทอร์มินัล ดังนั้นเทคโนโลยีของ Microsoft จึงไม่ค่อยมีระบบปฏิบัติการคลาวด์เป็นคลัสเตอร์ของโหนดที่ไม่ต้องการต้องการเพื่อรองรับเครื่องที่ฉันต้องการนำไปใช้จริง นี่คือขั้นต้นและดังนั้นฉันจึงพยายามหาวิธีแก้ปัญหา

  2. อย่างไรก็ตามหากคุณข้ามตัวช่วยสร้างนั้นและไปที่ช่องทำเครื่องหมายในตัวช่วยสร้างบทบาทหลัก / คุณสมบัติคุณสามารถปรับใช้คุณสมบัติ แต่ UI ไม่ได้มีการกำหนดค่าพวกเขาและเมื่อคุณกลับไปที่หน้าการกำหนดค่า RDS ในตัวช่วยสร้างบทบาท คุณได้รับข้อความแจ้งว่าคุณไม่สามารถจัดการระบบบริการเดสก์ท็อประยะไกลของคุณเมื่อคุณเข้าสู่ระบบในฐานะผู้ดูแลระบบคอมพิวเตอร์ในระบบเนื่องจากแม้ว่าคุณจะมีผู้ดูแลระบบทั้งหมดที่คุณสามารถมีได้ (ในระบบตามเวิร์กกรุ๊ป ไม่ยอมรับข้อมูลรับรองเหล่านั้นและให้คุณดำเนินการต่อ

คำถามของฉันโดยย่อคือฉันสามารถยังได้รับผลลัพธ์สุดท้ายต่อไปนี้:

  • ฉันต้องการอนุญาตให้ผู้ใช้ 10-20 คนต่อระบบมีเซสชัน RDS (TS)
  • ฉันไม่ต้องการตัวเลือก RDS กางเกงแฟนซีใด ๆ เว้นแต่ว่า Microsoft จะขึ้นอยู่กับคุณสมบัติเหล่านั้น ฉันเชื่อว่าฉันต้องการ "RDS Session Host" เพราะนี่เป็น guts ของ "Terminal Server" Microsoft กล่าวว่าเป็น "เดสก์ท็อป Windows แบบเต็มสำหรับไคลเอนต์ Remote Desktop Services
  • ฉันต้องกำหนดค่าสิทธิ์ใช้งานเพื่อให้ระยะเวลาผ่อนผันไม่หมดอายุทำให้ RDS ของฉันไม่ทำงานดังนั้นนี่อาจหมายความว่าฉันต้องการวิธีกำหนดค่า TS CAL

หากสิ่งทั้งหมดที่กล่าวมาสามารถทำได้ในเชิงเทคนิคด้วยการใช้ PowerShell อย่างรอบคอบฉันก็พร้อมที่จะพิจารณาพัฒนาสคริปต์ PowerShell ทั้งหมดที่ฉันต้องทำตามข้างต้น ฉันไม่ได้ขอให้ใครเขียนถึงฉัน สิ่งที่ฉันถามคือไม่มีใครรู้ว่ามีสิ่งกีดขวางทางเทคนิคต่อสิ่งที่ฉันต้องการทำข้างต้นนอกเหนือจากการทำให้หมดอำนาจโดยเจตนาของ 2012 R2 UI สำหรับผู้ใช้เวิร์กกรุ๊ปหรือไม่ เทคโนโลยีพื้นฐานทั้งหมดจะยังคงทำงานอยู่หรือไม่ถ้าฉันจัดการและควบคุมจากสคริปต์ PowerShell

เห็นได้ชัดว่าคำตอบ 1 คำตอบใช่หรือไม่ใช่ไม่มีประโยชน์สำหรับทุกคนดังนั้นคำถามคือใช่หรือไม่และทำไม? ในกรณีที่คำตอบคือใช่แล้วจะทำอย่างไร


ดูเหมือนว่า Microsoft ได้พยายามอย่างเต็มที่ที่จะทำให้สิ่งนี้เป็นไปไม่ได้และคำตอบคือไม่, Microsoft ได้กล่าวว่า "Screw you, people"
Warren P

คุณได้คำจาก MSFT ที่บอกว่าเป็นไปไม่ได้ / เป็นไปได้?
Mathias R. Jessen

คุณต้องการบริการเดสก์ท็อประยะไกลเต็มรูปแบบหรือเดสก์ท็อประยะไกลเพียงพอหรือไม่? มีการ จำกัด ผู้ใช้ 1 หรือ 2 ค่าเริ่มต้นหรือบางอย่าง แต่ฉันเห็นวิธีการใช้นโยบายกลุ่มหรือไลบรารีที่แก้ไขแล้วของahemที่อนุญาตเพิ่มเติม .. ไม่แน่ใจว่าพวกเขาใช้งานได้ในปี 2012 หรือไม่หรือข้อเสนอแนะนั้นเหมาะสมในสถานการณ์ของคุณ ..
Jon Kloske

@JonKloske ในทางเทคนิคว่ามีการ จำกัด ผู้ใช้ 2 คนสำหรับผู้ดูแลระบบและไม่ใช่ผู้ใช้
MDMoore313

@ MDMoore313 - การอ้างอิงหรือมันไม่ได้เกิดขึ้น :) technet.microsoft.com/en-us/library/cc753380.aspxและลิงค์อื่น ๆ นับล้านลิงก์บอกว่าไม่มีบทบาทโฮสต์เซสชันเซสชัน RD 2 คือขีด จำกัด ระยะไกลสูงสุด อ้างอิงบางสิ่งที่สนับสนุนการเคลมของคุณหรือลบออกเพื่อหลีกเลี่ยงความสับสน!
Jon Kloske

คำตอบ:


10

ฉันพบตัวเองในสถานการณ์เดียวกับคุณ การปรับใช้เดสก์ท็อประยะไกลบนกล่องเซิร์ฟเวอร์แบบสแตนด์อโลน 2012 ค่อนข้างยากเนื่องจากผู้ที่ Microsoft ไม่อนุญาตให้คุณเรียกใช้บนเครือข่ายที่ไม่มีโดเมนและถ้าคุณทำคุณจะไม่สามารถจัดการการตั้งค่าทั้งหมดได้

ดังนั้นคุณสามารถติดตั้ง workgroup-box-based และรับบทบาท Remote Desktop ได้ เราจำเป็นต้องติดตั้งฟีเจอร์ Remote Desktop Licensing บนเครื่องเดียวกัน แต่เมื่อถึงจุดนี้แม้ว่าคุณจะมี RDS CAL ที่เหมาะสมติดตั้งบนเซิร์ฟเวอร์เมื่อผู้ใช้เข้าสู่ระบบจะได้รับข้อความว่าระยะเวลาทดลองใช้เปิดอยู่

ในที่สุดฉันก็สามารถทำให้มันใช้งานได้อย่างน้อยก็เหมือนกับบริการเทอร์มินัลเก่าที่เราเคยรู้จัก ใช้งานได้กับฉันสำหรับเครื่องขนาดเล็กสองเครื่องสำหรับลูกค้าขนาดเล็กที่ต้องการ RDS แต่ไม่สามารถมีเซิร์ฟเวอร์สองเครื่องบนเครือข่ายของพวกเขา

ไปเลย:

  1. ติดตั้งสิทธิ์การใช้งานเดสก์ท็อประยะไกลและบริการโฮสต์เซสชันเดสก์ท็อประยะไกลโดยใช้ขั้นตอนต่อไปนี้:

    • เปิดตัวจัดการเซิร์ฟเวอร์
    • คลิกที่จัดการและเลือกเพิ่มบทบาทและคุณสมบัติ
    • เลือกการติดตั้งตามบทบาทหรือตามคุณลักษณะ
    • ภายใต้บริการเดสก์ท็อประยะไกลเลือกสิทธิ์การใช้งานเดสก์ท็อประยะไกลและบริการโฮสต์เซสชันเดสก์ท็อประยะไกล
    • ดำเนินการติดตั้ง
  2. เพิ่มเซิร์ฟเวอร์สิทธิ์การใช้งานไปยังกลุ่มเซิร์ฟเวอร์เซิร์ฟเวอร์สิทธิ์การใช้งานเทอร์มินัลและเริ่มบริการเดสก์ท็อประยะไกล (คุณสามารถใช้licmgr.exe)

  3. เพิ่มสิทธิ์ใช้งานไปยังเซิร์ฟเวอร์สิทธิ์ใช้งาน

  4. กำหนดค่าบทบาทโฮสต์เซสชันเดสก์ท็อประยะไกลด้วยการใช้เซิร์ฟเวอร์สิทธิ์การใช้งานเดสก์ท็อประยะไกลภายในเครื่อง ทำตามขั้นตอนเหล่านี้:

    • เปิด PowerShell ในฐานะผู้ดูแลระบบ
    • พิมพ์คำสั่งต่อไปนี้บนพรอมต์ PS แล้วกด Enter:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting

เรียกใช้คำสั่งต่อไปนี้เพื่อตั้งค่าโหมดการให้สิทธิ์ใช้งาน (หมายเหตุ: ค่า = 2 สำหรับอุปกรณ์แต่ละเครื่อง, ค่า = 4 สำหรับต่อผู้ใช้เราใช้ต่อผู้ใช้หนึ่งราย)

$obj.ChangeMode(4)

รันคำสั่งต่อไปนี้เพื่อแทนที่ชื่อเครื่องด้วย License Server ( mylicenseserverคือชื่อเซิร์ฟเวอร์ของคุณ):

$obj.SetSpecifiedLicenseServerList("mylicenseserver")

เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบการตั้งค่าที่กำหนดค่าโดยใช้ขั้นตอนดังกล่าวข้างต้น:

$obj.GetSpecifiedLicenseServerList()

คุณควรเห็นชื่อเซิร์ฟเวอร์ในผลลัพธ์

เมื่อทำสิ่งนี้แล้วให้รีบูตระบบและลงชื่อเข้าใช้กับผู้ใช้ทุกคน (หากใช้เวิร์กกรุ๊ปคุณจะรู้ว่าผู้ใช้ของคุณต้องเป็นส่วนหนึ่งของRemote Desktop Users) และข้อความระยะเวลาทดลองใช้จะหายไป

แหล่งที่มาของความยุ่งเหยิงนี้ทั้งหมด: http://support.microsoft.com/kb/2833839

จัดการกับ Powershell

มีบางสิ่งที่คุณสามารถจัดการPowershellได้ เพื่อดูคำสั่งลอง:

import-module RemoteDesktop get-command -module RemoteDesktop

มีรายการคำสั่งที่คุณสามารถดำเนินการผ่าน Powershell เพื่อจัดการกล่องของคุณ อย่างไรก็ตามฉันได้ลองมาบ้างแล้ว แต่บางอันต้องการให้คุณติดตั้งคุณสมบัติพิเศษบางอย่างซึ่งไม่สามารถปรับใช้กับสถานการณ์ที่เรากำลังพูดถึงได้

วิธีที่น่าเกลียด

หากวิธีข้างต้นไม่ได้ผลสำหรับคุณมีวิธีรีเซ็ตระยะเวลาผ่อนผันเป็น 120 วันเริ่มต้น แน่นอนฉันไม่แนะนำให้ทำเช่นนี้เนื่องจากผู้ใช้จะสังเกตเห็นข้อความต่อไป แน่นอนคุณจะต้องซื้อใบอนุญาตที่เหมาะสม

หากต้องการรีเซ็ตตัวนับเพียงลบคีย์รีจิสทรีนี้:

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Grace Period

แน่นอนคุณต้องมีสิทธิ์พิเศษในการดำเนินการregeditดังกล่าวการดำเนินการในฐานะผู้ดูแลระบบจะไม่ทำงาน ลองสิ่งนี้:

  • รับPSEXEC
  • เริ่ม cmd ในฐานะผู้ดูแลระบบ
  • วิ่ง psexec -s -i regedit.exe
  • ลบรหัสที่ต้องการ
  • รีบูต

หวังว่าสิ่งนี้จะได้ผลสำหรับคุณ หากคุณทำอะไรบางอย่างกับ Powershell และ RDS โปรดแจ้งให้เราทราบ


ฉันสังเกตเห็นว่าใน Win Server 2012 R2 พวกเขามีความพยายามอย่างมากในการบล็อกคุณจากคีย์นั้น ขอบคุณสำหรับเคล็ดลับ PSEXEC!
Warren P

1
ฉันคิดว่าทางออกที่ดีกว่าคือหยุดความพยายามที่จะใช้ผลิตภัณฑ์ของ Microsoft เนื่องจากพวกเขาพยายามอย่างเต็มที่ที่จะหยุดธุรกิจขนาดเล็ก (ซึ่งจ่ายเงินค่าผลิตภัณฑ์) จากการใช้ผลิตภัณฑ์ของ Microsoft เพื่อบรรลุสิ่งที่พวกเขาต้องการเพื่อดำเนินธุรกิจ เห็นได้ชัดว่า Microsoft ให้ความสำคัญกับการปรับใช้องค์กรขนาดใหญ่เท่านั้นซึ่งการรวมไดเรกทอรีที่ใช้งานอยู่และระบบลิขสิทธิ์แบบจำนวนมากทำให้การคิดค่าใช้จ่ายเพิ่มเติมสำหรับการทำงานของ Terminal Server นั้นง่ายขึ้นเล็กน้อย
Warren P

ฉันจะ "เพิ่มเซิร์ฟเวอร์สิทธิ์การใช้งานไปยังเซิร์ฟเวอร์เซิร์ฟเวอร์กลุ่มสิทธิ์การใช้งานเทอร์มินัล" ได้อย่างไร ฉันไม่เห็นวิธีการทำเช่นนั้นใน licmgr.exe
Shackrock

6

ขณะที่ฉันตั้งค่าสภาพแวดล้อมในห้องทดลองเพื่อทดลองใช้งาน (การปรับใช้ RDS แบบง่ายโดยไม่ต้องมีโดเมน) ฉันพบคำตอบสำหรับคำถามของคุณแม้ว่าจะไม่ใช่สิ่งที่คุณต้องการจะได้ยิน

RDS ใน [Server 2012 R2 และ 2012] ต้องใช้เซิร์ฟเวอร์ทั้งหมดที่จะถูกเพิ่มไปยังโดเมน ตามที่ผู้จัดการโปรแกรมของ Microsoft ในทีม Remote Desktop Virtualization ผู้เขียนบทความบล็อก MSDN ที่เชื่อมโยงตั้งค่าการปรับใช้ Remote Desktop Services ใหม่โดยใช้ Windows PowerShell

ดังนั้นขอโทษที่มันไม่ใช่คำตอบที่คุณต้องการ แต่มันดูน่าเชื่อถือสำหรับฉัน คุณไม่สามารถทำสิ่งที่คุณต้องการได้เนื่องจาก Microsoft ได้ตัดสินใจที่จะทำให้การเป็นสมาชิกโดเมนเป็นข้อกำหนดทางเทคนิคสำหรับเซิร์ฟเวอร์ RDS ใน Server 2012 และ 2012 R2


นี่เป็นเรื่องที่ฉ้อฉลที่ Microsoft ต้องทำ การอ่านของฉันยังมีแนวโน้มที่จะไปตามสายของคุณ Microsoft ตั้งใจรวมระบบ "ดึงเงินสดจากลูกค้า" หลาย ๆ ระบบ (การออกใบอนุญาต RDS CAL และการรวมศูนย์การออกใบอนุญาตตามโดเมน) ผู้ที่ต้องการใช้ Terminal Workers แบบสแตนด์อโลนจะมีความสูงและแห้ง
Warren P

1

ฉันพบในระหว่างการทดสอบสิ่งนี้เป็นสิ่งสำคัญที่จะต้องมีอย่างน้อย 1 NIC ที่กำหนดค่าด้วยการเปิดใช้งาน IPv6 นี่เป็นสิ่งจำเป็นเนื่องจากลูปแบ็คเพื่อให้เซิร์ฟเวอร์สิทธิ์ใช้งาน RDS คุยกับตัวเองมันพยายามแก้ไขผ่าน IPv6 เพื่อทำสิ่งนี้ (เท่าที่เห็นใน Pings) ฉันมี IPv6 Disabled ทั้ง NIC และนี่ทำให้เซิร์ฟเวอร์ไม่วนซ้ำอย่างถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.