Remote Desktop Services (RDS), kullanıcıların uygulamalara ve masaüstüne kendi bilgisayarları yerine merkezi bir sunucu üzerinden erişmesini sağlayan Windows Server rolüdür. Uygulamalar sunucuya bir kez kurulur, kullanıcılar Remote Desktop Protocol (RDP) ile bu sunucuda kendi oturumlarını açar. Güncelleme ve yapılandırma tek bir noktada yapıldığı için yüzlerce istemcide ayrı ayrı uygulama yönetmek gerekmez.
RDS'nin üretimde kullanılabilmesi için kurulumun yanında lisanslamanın da doğru yapılması gerekir. Her kullanıcı ya da cihaz için bir RDS CAL (Client Access License) gerekir ve bu lisanslar RD Licensing rolüne sahip bir lisans sunucusunda tutulur. Bu yazıda tek bir Windows Server üzerinde Quick Start ile Session-based bir RDS dağıtımı kuruyor, RD Licensing rolünü ekliyor, lisans sunucusunu aktive ediyor, RDS CAL yüklüyor ve dağıtımı lisans sunucusuna bağlıyorum. RD Gateway, yüksek erişilebilirlik ve sertifika yapılandırması kapsam dışında.
Bu makaledeki kurulum ve lisans sunucusu adımları Windows Server 2016'dan Windows Server 2025'e kadar aynıdır. İki nokta sürüme bağlıdır: MultiPoint Services seçeneği yalnızca Windows Server 2016'da bulunur, yüklenen RDS CAL'lerin sürümü ise RD Session Host sunucularının sürümüne eşit veya daha yeni olmalıdır.
1- Remote Desktop Services Bileşenleri
RDS, birlikte çalışan birkaç rol hizmetinden oluşur. Quick Start bunların bir kısmını tek sunucuya kurar, RD Licensing'i ise ayrıca ekliyorum.
|
Bileşen |
Görevi |
Bu Kurulumda |
|
RD Session Host (RDSH) |
Kullanıcı oturumlarının ve uygulamaların çalıştığı sunucu. Her kullanıcı aynı sunucuda kendi izole oturumunu açar |
Quick Start ile kuruluyor |
|
RD Connection Broker |
Oturumları Session Host'lara dağıtır, kesilen oturuma yeniden bağlanmayı sağlar, koleksiyonları yönetir. Yapılandırmasını tek sunucuda Windows Internal Database'te, HA yapısında SQL Server'da tutar |
Quick Start ile kuruluyor |
|
RD Web Access |
IIS üzerinde çalışan portal. Yayımlanan RemoteApp programlarını ve masaüstlerini .rdp bağlantıları olarak sunar |
Quick Start ile kuruluyor |
|
RD Licensing |
RDS CAL'leri tutar ve dağıtır |
Ayrıca ekleniyor (5. bölüm) |
|
RD Gateway |
Dışarıdan gelen RDP bağlantılarını HTTPS üzerinden içerideki sunuculara aktarır |
Kapsam dışı |
|
RD Virtualization Host |
Kullanıcılara Hyper-V üzerindeki sanal masaüstlerini (VDI) sunar |
Kapsam dışı |
RD Web Access'in varsayılan portalı bağlantıyı istemcideki Remote Desktop Connection ile açar. Tarayıcı içinde çalışan HTML5 tabanlı Remote Desktop Web Client ise ayrı bir paket olarak kurulur ve geçerli bir sertifika gerektirir.
2- Ön Kontrol
Kuruluma başlamadan önce şu maddeleri doğruluyorum:
|
Kontrol |
Beklenen Durum |
|
Domain üyeliği |
Sunucu Domain üyesi, Domain Controller dışında ayrı bir sunucu |
|
Oturum açan hesap |
Sunucuda yerel yönetici olan bir Domain hesabı |
|
Active Directory yetkisi |
Adım 20'deki grup üyeliği için Domain Admins üyesi bir hesap |
|
Internet erişimi |
Automatic connection ile aktivasyon için lisans sunucusundan Microsoft Clearinghouse'a HTTPS erişimi var |
|
RDS CAL bilgileri |
License Program, lisans numaraları, CAL türü ve sürümü belli. CAL sürümü RD Session Host sürümüne eşit veya daha yeni |
RD Session Host'u Domain Controller üzerinde çalıştırmak, kullanıcıların Domain Controller'da oturum açması anlamına geldiği için güvenlik açısından önerilmez. Bu kurulumu Domain'e üye ayrı bir sunucuda yapıyorum.
3- Karar Tablosu
Sihirbazlarda vereceğim kararları kuruluma başlamadan önce topluyorum. Seçeneklerin ayrıntısı ilgili adımlarda yer alıyor.
|
Adım |
Ekran |
Verilecek Karar |
Bu Kurulumdaki Seçim |
|
Adım 3 |
Select deployment type |
Standard Deployment, Quick Start veya MultiPoint Services |
Quick Start |
|
Adım 4 |
Select deployment scenario |
Session-based veya Virtual machine-based |
Session-based desktop deployment |
|
Adım 15 |
Connection Method |
Lisans sunucusunun Microsoft Clearinghouse'a nasıl bağlanacağı |
Automatic connection |
|
Adım 24 |
License Program |
CAL'lerin satın alındığı program |
Open License (lab örneği) |
|
Adım 26 |
Product Version |
CAL sürümü |
RD Session Host sürümü (bu ortamda Windows Server 2016) |
|
Adım 27 |
License Type |
Per User, Per Device veya VDI Suite |
RDS Per User CAL |
|
Adım 29 |
Edit Deployment Properties, RD Licensing |
Dağıtımın lisanslama modu ve lisans sunucusu |
Per User, bu sunucu |
4- Remote Desktop Services Kurulumu
Adım 1 - Add Roles and Features
RD Session Host'u barındıracak sunucuda Server Manager konsolunda Manage menüsünden Add Roles and Features seçeneğine tıklıyorum.

Adım 2 - Installation Type
Select installation type ekranında Remote Desktop Services installation seçeneğini seçiyorum. Bu seçenek, rolleri tek tek eklemek yerine RDS dağıtımını bir bütün olarak kuran sihirbazı başlatır.

Adım 3 - Deployment Type
Select deployment type ekranında dağıtımın nasıl kurulacağını seçiyorum:
|
Seçenek |
Ne Yapar |
Uygun Senaryo |
|
Standard Deployment |
Session Host, Connection Broker ve Web Access rollerini farklı sunuculara kurmaya izin verir |
Birden fazla sunuculu, ölçeklenecek ya da HA yapılacak dağıtımlar |
|
Quick Start |
Tüm rolleri tek sunucuya kurar, bir Session Collection oluşturur ve birkaç RemoteApp programı yayımlar |
Tek sunuculu küçük ortamlar, test ve Proof of Concept |
|
MultiPoint Services |
Bir bilgisayara bağlanan birden fazla monitör, klavye ve mouse ile her kullanıcıya ayrı oturum sunar |
Eğitim sınıfları gibi düşük maliyetli paylaşımlı kullanım. Yalnızca Windows Server 2016'da bulunur |
Tüm rolleri tek sunucuda çalıştıracağım için Quick Start seçeneğini seçiyorum.

Adım 4 - Deployment Scenario
Select deployment scenario ekranında oturumların nerede çalışacağını belirliyorum. Virtual machine-based desktop deployment, her kullanıcıya Hyper-V üzerinde ayrı bir sanal masaüstü sunar. Session-based desktop deployment ise kullanıcıların aynı RD Session Host sunucusunda birbirinden izole oturumlar açtığı yapıdır. Session-based yapıyı kuracağım için bu seçeneği seçiyorum.

Adım 5 - Server Selection
Select a server ekranında RDS rollerinin kurulacağı sunucuyu seçiyorum.

Adım 6 - Confirmation
Onay ekranında RD Connection Broker, RD Web Access ve RD Session Host rollerinin aynı sunucuya kurulacağı görünüyor. RD Session Host kurulumu yeniden başlatma gerektirdiği için Restart the destination server automatically if required seçeneğini işaretleyip Deploy butonuna tıklıyorum.


Kurulum sırasında sunucu otomatik olarak yeniden başlatılır. Sunucu üzerinde açık oturumlar ve çalışan servisler varsa kurulumu bakım penceresinde yapıyorum.
Adım 7 - Kurulum
Kurulum başladı. Sunucu yeniden başladıktan sonra oturum açtığımda sihirbaz kaldığı yerden devam ediyor.

Adım 8 - Kurulum Sonucu
RDS kurulumu başarıyla tamamlandı.

Kontrol Noktası
Sihirbazda üç rol için de başarılı durumu görünmeli ve Server Manager'da Remote Desktop Services bölümü oluşmuş olmalı.
5- RD Licensing Rolünün Eklenmesi
RD Session Host kurulduğunda kullanıcı oturumları için 120 günlük bir lisanslama ek süresi başlar. Bu süre boyunca kullanıcılar lisans sunucusu olmadan bağlanabilir. Süre dolduğunda RD Session Host bağlantılar için lisans sunucusuna başvurur, lisans sunucusu yoksa kullanıcı oturumlarını reddeder. Yönetim amaçlı bağlantılar bundan ayrıdır: mstsc /admin ile açılan iki eşzamanlı yönetim oturumu RDS CAL gerektirmez.
Ek süre dolmadan lisans sunucusu kurulmazsa kullanıcılar RDP ile bağlanamaz. Yöneticiler sunucuya yalnızca mstsc /admin ile açılan yönetim oturumlarıyla erişebilir.
Adım 9 - RD Licensing Ekleme
Server Manager'da Remote Desktop Services, Overview bölümündeki dağıtım şemasında RD Licensing simgesinin yanındaki yeşil artı (+) butonuna tıklıyorum.

Adım 10 - Select a Server
RD Licensing rolünün kurulacağı sunucuyu Selected listesine taşıyorum.

Adım 11 - Confirm Selections
Confirm selections ekranında Add butonuna tıklıyorum.

Adım 12 - Kurulum
RD Licensing rolü kuruldu ve dağıtım şemasına eklendi.



Kontrol Noktası
Dağıtım şemasında RD Licensing simgesi artık yeşil artı yerine kurulu rol olarak görünmeli.
6- Lisans Sunucusunun Aktivasyonu
Kurulan lisans sunucusu, CAL yükleyebilmek için önce Microsoft Clearinghouse üzerinden aktive edilmelidir. Aktivasyon, lisans sunucusuna Microsoft tarafından imzalanmış bir sertifika verir.
Adım 13 - Remote Desktop Licensing Manager
Server Manager, Tools, Remote Desktop Services altındaki Remote Desktop Licensing Manager konsolunu açıyorum.

Adım 14 - Activate Server
Konsolda sunucunun adı üzerinde sağ tıklayıp Activate Server seçeneğini seçiyorum.

Adım 15 - Connection Method
Activate Server Wizard'ın Connection Method ekranında lisans sunucusunun Microsoft Clearinghouse'a nasıl bağlanacağını seçiyorum:
|
Yöntem |
Nasıl Çalışır |
Ne Zaman Kullanılır |
|
✅ Automatic connection (recommended) |
Lisans sunucusu Clearinghouse'a doğrudan HTTPS ile bağlanır |
Lisans sunucusunun Internet erişimi varsa |
|
✅ Web Browser |
Sihirbazın verdiği bilgiler Internet erişimi olan başka bir bilgisayardan RD Licensing aktivasyon sitesine girilir, alınan kod sihirbaza yazılır |
Lisans sunucusunun Internet erişimi yoksa |
|
✅ Telephone |
Aktivasyon Microsoft Clearinghouse telefon hattı üzerinden yapılır, kodlar elle girilir |
Internet erişimi hiç yoksa |
Sunucunun Internet erişimi olduğu için Automatic connection seçeneğini seçiyorum.

Adım 16 - Clearinghouse Bağlantısı
Next butonuna tıkladığımda sihirbaz Microsoft Clearinghouse ile bağlantı kuruyor.

Adım 17 - Company Information
Company Information ekranlarında ad, soyad, şirket adı ve ülke bilgilerini, ardından ikinci ekranda isteğe bağlı iletişim bilgilerini girip devam ediyorum.


Adım 18 - Aktivasyonun Tamamlanması
Sihirbazın son ekranında Start Install Licenses Wizard now seçeneği yer alıyor. Seçenek, lisans sunucusunun aktivasyonunu etkilemiyor, yalnızca CAL yüklemenin ne zaman yapılacağını belirliyor.


|
Seçim |
Sonuç |
|
Seçenek işaretli, Next |
Aktivasyon tamamlanır ve Install Licenses Wizard hemen açılır |
|
Seçenek işaretsiz, Finish |
Aktivasyon tamamlanır, CAL'ler daha sonra Install Licenses ile yüklenir. Lisans bilgileri henüz hazır değilse bu yol kullanılır |
Adım 19 - Aktive Edilmiş Lisans Sunucusu
Lisans sunucusunun aktivasyonu tamamlandı.

Adım 20 - Review Configuration
Lisans sunucusunun Per User CAL'leri Active Directory'deki kullanıcı nesnelerine işleyebilmesi ve kullanımlarını raporlayabilmesi için, sunucunun bilgisayar hesabının Builtin konteynerindeki Terminal Server License Servers grubuna üye olması gerekir. Bunu kontrol etmek için Licensing Manager'da sunucu adı üzerinde sağ tıklayıp Review Configuration... seçeneğini seçiyorum.

Açılan pencerede şu uyarı görünüyor:
This license server or the Network Service account is not a member of the Terminal Server License Servers group in Active Directory Domain Services.
Bu üyelik yapılmazsa lisans sunucusu Per User CAL kullanımını kullanıcı nesnelerine işleyemez ve raporlayamaz. Uyarının yanındaki Add to Group butonuna tıklıyorum.

İşlemin Domain Admins yetkisi gerektirdiğini belirten uyarıda Continue ile devam ediyorum.

Lisans sunucusu gruba eklendi. OK ile pencereleri kapatıyorum.


Bu grup üyeliği Per User CAL için gereklidir. Yalnızca Per Device CAL kullanılan ortamlarda zorunlu değildir.
Adım 21 - Servisin Yeniden Başlatılması
Grup üyeliği, lisans sunucusunun bilgisayar hesabına yeni oturum açıldığında yansır. Üyeliğin servis tarafından kullanılması için Remote Desktop Licensing servisini yeniden başlatıyorum. Komutu lisans sunucusunda yönetici olarak açtığım PowerShell oturumunda çalıştırıyorum.
Restart-Service -Name TermServLicensing

Licensing Manager'da henüz yüklenmiş bir RDS CAL bulunmuyor. Sunucunun 120 günlük ek süre içinde olduğunu bu ekrandan değil, 9. bölümdeki RD Licensing Diagnoser ile doğruluyorum.

Kontrol Noktası
Licensing Manager'da sunucunun Activation Status değeri Activated görünmeli ve Review Configuration penceresinde grup üyeliği uyarısı kalmamalı.
7- RDS CAL'lerin Yüklenmesi
Adım 22 - Install Licenses
Licensing Manager'da sunucu adı üzerinde sağ tıklayıp Install Licenses seçeneğini seçiyorum.

Adım 23 - Install Licenses Wizard
Açılan Install Licenses Wizard'da Next ile devam ediyorum.

Adım 24 - License Program
License Program ekranında CAL'lerin hangi satın alma programıyla alındığını seçiyorum. Seçim, bir sonraki ekranda istenecek numaraları belirler. Yanlış program seçilirse Clearinghouse girilen numaraları doğrulayamaz ve yükleme başarısız olur. Doğru programı satın alma belgesinden ya da satıcıdan öğreniyorum.
Bu lab kurulumunda Open License seçeneğini kullanıyorum. Open License'ta lisanslar bir Authorization Number ve bir License Number ile yüklenir. Microsoft, Open License programıyla yeni satışı 2022 başında sonlandırdı. Bugün yapılan satın almalar CSP gibi kanallardan geliyor, bu durumda ekranda satıcının bildirdiği program seçilir.


Adım 25 - Authorization Number ve License Number
Open License için sözleşmeye ait Authorization Number ve License Number değerlerini giriyorum. Bu bilgiler, Nisan 2024'te kullanımdan kaldırılan Volume Licensing Service Center (VLSC) yerine artık Microsoft 365 admin center'da Billing, Your products, Volume licensing bölümünde yer alıyor. Ekranın alt kısmındaki Sample alanı, değerlerin biçimini gösteriyor.

Adım 26 - Product Version
Product version alanında CAL'lerin sürümünü seçiyorum. CAL sürümü, bu lisansla bağlanılacak RD Session Host sunucularının sürümüne eşit veya ondan yeni olmalı. Lisans sunucusunun sürümü de RD Session Host sunucularıyla aynı veya daha yeni olmalı. Bu ortamdaki RD Session Host Windows Server 2016 olduğu için Windows Server 2016 seçiyorum.

Daha eski sürümde bir RDS CAL, daha yeni bir RD Session Host'a bağlantı için kullanılamaz. RD Session Host sürümü yükseltilirken CAL'lerin de aynı veya daha yeni sürüme yükseltilmesi gerekir.
Adım 27 - License Type
License Type alanında satın alınan CAL türünü seçiyorum:
|
Lisans Türü |
Neyi Lisanslar |
Uygun Senaryo |
|
RDS Per User CAL |
Kullanıcıyı. Kullanıcı hangi cihazdan bağlanırsa bağlansın tek CAL yeterlidir |
Kullanıcıların birden fazla cihaz kullandığı ortamlar |
|
RDS Per Device CAL |
Cihazı. Cihazdan kim bağlanırsa bağlansın tek CAL yeterlidir |
Vardiyalı çalışma, çağrı merkezi, Kiosk gibi paylaşımlı cihazlar |
|
VDI Suite Per Device Subscription License |
VDI erişimi için abonelik tabanlı cihaz lisansı |
Virtual machine-based dağıtımlar |
Kullanıcı tabanlı oturum kullanacağım için RDS Per User CAL seçiyorum. Ekrandaki sarı uyarı, yüklenen CAL türünün RD Session Host sunucularındaki lisanslama moduyla aynı olması gerektiğini belirtiyor. Lisanslama modunu 8. bölümde dağıtım üzerinden Per User olarak ayarlayacağım.

Per Device CAL'ler lisans sunucusu tarafından zorlanır. Per User CAL'ler ise zorlanmaz, yüklü CAL sayısından bağımsız olarak bağlantılar kabul edilir. Uyumluluk sorumluluğu kuruma aittir.
Adım 28 - Quantity ve Lisansların Yüklenmesi
Quantity alanına satın aldığım CAL adedini girip Next ile lisansları yüklüyorum. Microsoft lisans denetimlerinde lisans sunucusundaki değerler satın alma kayıtlarıyla karşılaştırılır.

Satın alınandan daha fazla CAL girilmesi Microsoft lisans sözleşmesine aykırıdır. Quantity alanına yalnızca satın alınan adet girilir.
Bu lab ortamında gerçek bir lisans numarası kullanmadığım için yükleme başarısız oluyor. Geçerli numaralarla yükleme tamamlanır ve CAL'ler Licensing Manager'da görünür.

8- Dağıtımın Lisans Sunucusuna Bağlanması
Adım 29 - Lisanslama Modu ve Lisans Sunucusu
Lisans sunucusunun kurulup aktive edilmesi tek başına yeterli değil. RD Session Host'un hangi lisans sunucusunu ve hangi lisanslama modunu kullanacağı dağıtımda ayrıca tanımlanmalıdır. Bu tanım yapılmazsa Server Manager'da lisanslama modunun yapılandırılmadığı uyarısı görünür ve ek süre dolduğunda kullanıcı bağlantıları reddedilir.
Server Manager'da Remote Desktop Services, Overview bölümünde Deployment Overview altındaki Tasks menüsünden Edit Deployment Properties seçeneğini açıyorum. RD Licensing sayfasında lisanslama modu olarak Per User seçip lisans sunucusunu ekliyorum.
Aynı ayarı PowerShell ile de yapabiliyorum. {Sunucu FQDN} yerine RDS sunucusunun tam adını yazıyorum. Bu kurulumda Connection Broker ve lisans sunucusu aynı sunucu.
Set-RDLicenseConfiguration -LicenseServer "{Sunucu FQDN}" -Mode PerUser -ConnectionBroker "{Sunucu FQDN}" -Force
Birden fazla RD Session Host'un bulunduğu ya da dağıtım dışında kurulan sunucularda aynı ayarı Group Policy ile zorunlu kılıyorum. Group Policy ayarı, dağıtım üzerinden yapılan ayarın önüne geçer.
Computer Configuration
└─ Administrative Templates
└─ Windows Components
└─ Remote Desktop Services
└─ Remote Desktop Session Host
└─ Licensing
├─ Use the specified Remote Desktop license servers
└─ Set the Remote Desktop licensing mode
Use the specified Remote Desktop license servers ayarına lisans sunucusunun adını, Set the Remote Desktop licensing mode ayarına ise Per User değerini giriyorum. Lisanslama modu, lisans sunucusuna yüklenen CAL türüyle aynı olmalı.
9- Doğrulama
Lisans yapılandırmasını Server Manager, Tools, Remote Desktop Services altındaki RD Licensing Diagnoser ile kontrol ediyorum. Bu araç, RD Session Host'un lisans sunucusunu görüp görmediğini, lisanslama modunu ve ek sürenin kaç gün kaldığını gösterir. Uyarı görünmüyorsa yapılandırma tamamdır.
Dağıtımın lisans ayarını PowerShell ile de kontrol ediyorum.
Get-RDLicenseConfiguration -ConnectionBroker "{Sunucu FQDN}"
Çıktıda Mode değeri PerUser, LicenseServer değeri ise lisans sunucusunun adı olmalı. Son olarak bir istemciden https://{Sunucu FQDN}/RDWeb adresine girip Domain hesabıyla oturum açıyor ve yayımlanan bir RemoteApp programını başlatıyorum. Quick Start kendinden imzalı sertifika kullandığı için istemcide sertifika uyarısı görünür. Üretimde bu uyarıyı önlemek için Edit Deployment Properties penceresinin Certificates sayfasından güvenilir bir sertifika atıyorum.
Kurulumu geri almam gerekirse rolleri Server Manager'daki dağıtım şemasından kaldırıyorum. Lisans sunucusunu başka bir sunucuya taşıyacaksam CAL'leri yeni sunucuya aktarmak için Licensing Manager'daki Manage RDS CALs seçeneğini kullanıyorum.
Kurulumun tamamlandığını şu ölçütlerle anlıyorum: lisans sunucusu aktive edilmiş ve Terminal Server License Servers grubunun üyesi, satın alınan CAL'ler yüklü, dağıtımın lisanslama modu CAL türüyle aynı, RD Licensing Diagnoser uyarı vermiyor ve kullanıcılar RD Web Access üzerinden oturum açabiliyor. Bu noktadan sonra dışarıdan erişim için RD Gateway'i ve güvenilir sertifikaları devreye alabilirim.
Faydalı olması dileğiyle...
Makale ile ilgili düşüncelerinizi ve sorularınızı aşağıdaki yorum kısmında paylaşmaktan çekinmeyin. Her katkı, içeriğin daha fazla kişiye ulaşmasını ve daha faydalı bir tartışma ortamı oluşmasını sağlar.