Dapatkah Remote Desktop Services disebarkan dan dikelola oleh PowerShell sendiri, tanpa Domain di WIndows Server 2012 dan 2012 R2?

19

Windows Server 2008 R2 mengizinkan penyebaran Terminal Server (Remote Desktop Services) tanpa domain, dan tanpa desakan pada domain. Ini sangat berguna, terutama untuk penyebaran virtual atau cloud mandiri dari server yang dikelola dari jarak jauh untuk klien jarak jauh yang tidak memerlukan atau keinginan untuk fitur ActiveDirectory atau Domain.

Ini menjadi semakin sulit karena Microsoft membatasi teknologinya semakin jauh dalam setiap rilis Windows. Dengan Windows Server 2012, mengonfigurasi perizinan untuk Layanan Desktop Jarak Jauh, lebih sulit saat tidak menggunakan domain, tetapi masih memungkinkan. Dengan Windows Server 2012 R2 (setidaknya dalam pratinjau) hambatan sekarang parah:

  1. Panduan Tambah / Hapus Peran dan Fitur di Windows Server 2012 R2 memiliki mode penyebaran RDS khusus yang memiliki aturan yang mengatakan jika Anda tidak berada di domain yang tidak dapat Anda sebarkan. Ini memberitahu Anda untuk membuat atau bergabung dengan domain terlebih dahulu. Hal ini tentu saja bertentangan langsung dengan fakta bahwa pengontrol domain Direktori Aktif tidak boleh mesin yang sama dengan mesin server terminal. Jadi teknologi Microsoft bukanlah Sistem Operasi Cloud seperti Cluster of Unwanted Nodes, yang diperlukan untuk mendukung satu mesin yang sebenarnya ingin saya gunakan. Ini menjijikkan, jadi saya mencoba mencari solusinya.

  2. Namun, jika Anda melewatkan panduan itu dan langsung memeriksa kotak centang di panduan Peran / Fitur utama, Anda dapat menggunakan fitur tersebut, tetapi UI tidak ada untuk mengonfigurasinya, dan ketika Anda kembali ke halaman konfigurasi RDS pada panduan peran. , Anda mendapatkan pesan yang mengatakan bahwa Anda tidak dapat mengelola sistem Remote Desktop Services ketika Anda masuk sebagai Administrator Komputer Lokal, karena meskipun Anda memiliki semua hak admin yang dapat Anda miliki (dalam sistem berbasis workgroup Anda), UI konfigurasi RDS akan tidak menerima kredensial tersebut dan membiarkan Anda melanjutkan.

Pertanyaan saya secara singkat adalah, bisakah saya masih mendapatkan hasil akhir sebagai berikut:

  • Saya perlu mengizinkan 10-20 pengguna per sistem untuk memiliki sesi RDS (TS).
  • Saya tidak memerlukan salah satu opsi RDS celana mewah, kecuali Microsoft entah bagaimana tergantung pada fitur-fitur yang hadir. Saya percaya saya perlu "RDS Session Host" karena ini adalah nyali dari "Terminal Server". Microsoft mengatakan itu adalah "desktop Windows penuh untuk klien Remote Desktop Services.
  • Saya perlu mengonfigurasi lisensi agar Periode Rahmat tidak kedaluwarsa meninggalkan RDS saya tidak berfungsi, jadi ini mungkin berarti saya perlu cara untuk mengkonfigurasi TS CAL.

Jika semua hal di atas secara teknis dapat dilakukan dengan menggunakan PowerShell secara bijak, saya bahkan siap untuk mempertimbangkan untuk mengembangkan semua skrip PowerShell yang perlu saya lakukan di atas. Saya tidak meminta seseorang untuk menulis itu untuk saya. Yang saya tanyakan adalah, apakah ada yang tahu jika ada kendala teknis untuk apa yang ingin saya lakukan di atas, selain melumpuhkan sengaja UI R2 2012 untuk pengguna Workgroup? Apakah semua teknologi yang mendasarinya masih berfungsi jika saya memanipulasi dan mengendalikannya dari skrip PowerShell?

Jelas 1 kata Ya atau Tidak jawaban tidak berguna bagi siapa pun, jadi pertanyaannya adalah benar, ya atau tidak, dan mengapa? Dalam hal jawabannya adalah Ya, lalu bagaimana.

Warren P
sumber
Tampaknya Microsoft telah berusaha keras untuk membuat ini tidak mungkin dan jawabannya adalah TIDAK, microsoft mengatakan, "Persetan, orang-orang".
Warren P
Apakah Anda mendapat kabar dari MSFT yang mengatakan bahwa itu tidak mungkin / layak?
Mathias R. Jessen
apakah Anda memerlukan layanan desktop jauh penuh, atau apakah desktop jauh itu sendiri sudah cukup? ada batasan pengguna standar 1 atau 2 atau sesuatu, tetapi saya telah melihat cara menggunakan kebijakan grup atau pustaka yang dimodifikasi ahem yang memungkinkan lebih .. tidak yakin apakah mereka bekerja untuk 2012 ... atau jika saran itu bahkan sesuai dengan keadaan Anda ..
Jon Kloske
@JonKloske secara teknis bahwa batas 2 pengguna adalah untuk administrator , dan bukan pengguna
MDMoore313
@ MDMoore313 - referensi atau tidak terjadi :) technet.microsoft.com/en-us/library/cc753380.aspx dan sejuta tautan lainnya semuanya mengatakan tanpa peran RD Session Host, 2 adalah batas jarak jauh maksimal. Referensi sesuatu yang mendukung klaim Anda atau menghapusnya untuk menghindari kebingungan!
Jon Kloske

Jawaban:

10

Saya menemukan diri saya dalam skenario yang sama dengan Anda. Menyebarkan Remote Desktop pada kotak Server mandiri 2012 cukup sulit, karena orang-orang di Microsoft tidak membiarkan Anda menjalankan ini pada jaringan tanpa domain dan jika Anda melakukannya, Anda tidak dapat mengelola semua pengaturan.

Jadi, Anda dapat menginstal kotak berbasis workgroup dan menjalankan peran Remote Desktop di dalamnya. Kita juga perlu menginstal fitur Remote Desktop Licensing pada mesin yang sama. Tapi, sekali pada titik ini, bahkan jika Anda memiliki RDS CAL yang tepat diinstal pada server, ketika pengguna login, menerima pesan bahwa masa percobaan aktif.

Akhirnya saya berhasil membuatnya bekerja, setidaknya sesuatu seperti Layanan Terminal yang dulu kita kenal. Itu bekerja untuk saya pada dua mesin produksi klien kecil yang membutuhkan RDS tetapi tidak mampu memiliki dua server di jaringan mereka.

Kita mulai:

  1. Instal layanan peran Remote Desktop Licensing dan Remote Desktop Session Host menggunakan langkah-langkah berikut:

    • Buka Server Manager
    • Klik Kelola dan pilih Tambahkan Peran dan Fitur
    • Pilih instalasi berbasis Peran atau berbasis Fitur
    • Di bawah Layanan Remote Desktop, pilih Remote Desktop Licensing dan Remote Desktop Session Host peran layanan.
    • Lanjutkan dengan instalasi
  2. Tambahkan Server Lisensi ke grup Server Server Lisensi Server dan mulai ulang layanan Remote Desktop (Anda dapat menggunakan licmgr.exe)

  3. Tambahkan lisensi ke server lisensi.

  4. Konfigurasikan peran Host Sesi Remote Desktop dengan menggunakan server Remote Desktop Licensing lokal. Ikuti langkah ini:

    • Buka PowerShell sebagai administrator
    • Ketik perintah berikut pada prompt PS dan tekan Enter:

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

Jalankan perintah berikut untuk mengatur mode lisensi (Catatan: Nilai = 2 untuk Per perangkat, Nilai = 4 untuk Per Pengguna, kami menggunakan per-pengguna)

$obj.ChangeMode(4)

Jalankan perintah berikut untuk mengganti nama mesin dengan Server Lisensi ( mylicenseserveradalah nama server Anda):

$obj.SetSpecifiedLicenseServerList("mylicenseserver")

Jalankan perintah berikut untuk memverifikasi pengaturan yang dikonfigurasi menggunakan langkah-langkah yang disebutkan di atas:

$obj.GetSpecifiedLicenseServerList()

Anda harus melihat nama server di output.

Setelah selesai, reboot sistem dan masuk dengan pengguna mana pun (jika menggunakan workgroup, Anda tahu pengguna Anda harus menjadi bagian dari itu Remote Desktop Users) dan pesan periode percobaan akan menghilang.

Sumber semua kekacauan ini: http://support.microsoft.com/kb/2833839

Mengelola dengan Powershell

Ada beberapa hal yang dapat Anda kelola Powershell. Untuk melihat perintahnya coba:

import-module RemoteDesktop get-command -module RemoteDesktop

Ada daftar perintah yang dapat Anda jalankan melalui Powershell untuk mengelola kotak Anda. Namun, saya sudah mencoba beberapa tetapi beberapa dari mereka mengharuskan Anda untuk menginstal beberapa fitur tambahan, yang tidak dapat digunakan pada skenario yang sedang kita bicarakan.

Cara yang jelek

Jika tidak ada di atas yang berfungsi untuk Anda, ada cara untuk mengatur ulang masa tenggang ke 120 hari awal. Tentu saja, saya tidak menyarankan melakukan ini, karena pengguna akan terus memperhatikan pesan tersebut. Tentu saja, Anda harus membeli lisensi yang tepat.

Untuk mengatur ulang penghitung, cukup hapus kunci registri ini:

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

Tentu saja, Anda perlu hak istimewa ekstra untuk melakukan itu, mengeksekusi regeditsebagai administrator tidak akan berfungsi. Coba ini:

  • Dapatkan PSEXEC
  • Mulai cmd sebagai administrator
  • Lari psexec -s -i regedit.exe
  • hapus kunci yang diinginkan
  • reboot

Semoga beberapa dari ini berhasil untuk Anda. Jika Anda melakukan beberapa kemajuan dengan Powershell dan RDS, beri tahu kami.

ojovirtual
sumber
Saya perhatikan bahwa di Win Server 2012 R2 mereka benar-benar berusaha keras untuk memblokir Anda dari kunci itu. Terima kasih atas tip PSEXEC!
Warren P
1
Saya pikir solusi yang lebih baik adalah berhenti mencoba menggunakan produk Microsoft karena mereka berusaha keras untuk menghentikan usaha kecil (yang membayar produk mereka) dari menggunakan produk Microsoft untuk mencapai apa yang mereka inginkan, untuk menjalankan bisnis mereka. Jelas Microsoft hanya peduli tentang penyebaran perusahaan besar di mana integrasi direktori aktif dan sistem lisensi volume membuat pekerjaan mereka membebankan biaya tambahan untuk fungsionalitas Terminal Server sedikit lebih mudah.
Warren P
Bagaimana cara "Menambahkan Server Lisensi ke grup Server Server Lisensi Terminal"? Saya tidak melihat cara untuk melakukannya di dalam licmgr.exe.
Shackrock
6

Ketika saya sedang menyiapkan lingkungan di laboratorium untuk mencoba ini (penyebaran RDS sederhana tanpa domain), saya menemukan jawaban untuk pertanyaan Anda, meskipun itu bukan yang ingin Anda dengar.

RDS di [Server 2012 dan 2012 R2] mengharuskan semua servernya ditambahkan ke domain . Itu, menurut seorang manajer program di Microsoft pada tim Virtualisasi Remote Desktop, yang menulis artikel blog MSDN yang ditautkan, Menyiapkan penyebaran Layanan Desktop Jarak Jauh baru menggunakan Windows PowerShell.

Jadi, maaf itu bukan jawaban yang Anda inginkan, tetapi tampaknya cukup otoritatif bagi saya. Anda tidak dapat melakukan apa yang Anda inginkan, karena Microsoft telah memutuskan untuk menjadikan keanggotaan domain persyaratan teknis untuk server RDS di Server 2012 dan 2012 R2.

HopelessN00b
sumber
Ini adalah pemikiran brengsek yang harus dilakukan Microsoft. Bacaan saya juga cenderung sejalan; Microsoft bermaksud untuk menggabungkan beberapa sistem "ekstrak uang tunai dari pelanggan" (lisensi RDS CAL, dan sentralisasi lisensi berbasis domain). Mereka yang ingin menggunakan Server Terminal workgone mandiri dibiarkan tinggi dan kering.
Warren P
1

Saya memang menemukan selama pengujian ini penting untuk memiliki setidaknya 1 NIC dikonfigurasi dengan IPv6 diaktifkan. Ini diperlukan sebagai loopback untuk membuat server Lisensi RDS berbicara dengan dirinya sendiri itu berusaha untuk menyelesaikan melalui IPv6 untuk melakukan ini (Seperti yang terlihat di Ping). Saya memiliki IPv6 Dinonaktifkan pada kedua NIC dan ini menyebabkan server tidak kembali dengan benar.

JDub
sumber