Bir Windows Server RDS Ana Bilgisayarında Uzak Masaüstü Boşaltma Modunu Ayarlama


Uzak Masaüstü Hizmetleri grubundaki terminal ana bilgisayarlarını korumak için RDS Drenaj Modu'nu kullanabilirsiniz. RDS sunucunuz için Boşaltma Modunu etkinleştirirseniz, sunucunun yeni kullanıcının RDP bağlantılarını kabul etmesini engelleyebilirsiniz ve mevcut RD bağlantıları, kullanıcılar RDS oturumu zaman aşımına göre manuel veya otomatik olarak oturumu kapatana kadar etkin kalır. Ardından, RDS grup işleminizi kesintiye uğratmadan (güncellemeleri yükleyin, sunucu veya uygulama ayarlarını değiştirin, yapılandırma dosyalarını güncelleyin, vb.) Windows Server ana makinenizin bakımını yapabileceksiniz.

Windows Server Uzak Masaüstü Hizmetlerinde Boşaltma Modları Nedir?

Boşaltma Modu, Windows Server 2008'de göründü (Terminal Hizmetleri Sunucusu Boşaltma modu). Bir RDS ana bilgisayarını boşaltma moduna getirdiğinizde, artık yeni kullanıcıların bağlantılarını kabul edemez. Kural olarak, mod, bir sunucu yöneticisinin tüm RDS grubunun kullanılabilirliğini etkilemeden bir sunucuya bakım yapması (Windows güncellemelerini yüklemesi, uygulamaları yapılandırması veya güncellemesi) gerektiğinde kullanılır. Bir RDS ana bilgisayarı, üç Boşaltma Modu türünden birinde çalışabilir:

  • Tüm Bağlantılara İzin Ver (varsayılan mod) — bir RD Oturum Ana Bilgisayarı yeni bağlantıları kabul eder;

  • Yeniden Bağlantılara İzin Ver, Ancak Yeni Oturum Açmaları Engelle — kullanıcıların mevcut oturumlara yeniden bağlanmasına izin verilir, ancak yeni oturumlara izin verilmez. Bir sunucuyu yeniden başlatırsanız, kullanıcılar sunucuya bağlanamaz;

  • Yeniden Bağlantılara İzin Ver, Ancak Sunucu Yeniden Başlatılana Kadar Yeni Oturum Açmaları Engelle - bu mod öncekine benzer, ancak yeniden başlatmanın ardından, kullanıcı oturum açma modu Tüm Bağlantılara İzin Ver olarak sıfırlanır.

Bir RD Oturum Sunucusunda Yeni Kullanıcı Oturum Açmalarını Nasıl Reddedersiniz?

Drenaj Modunu RDS ana bilgisayar sunucunuzda RDS toplama ayarları aracılığıyla etkinleştirebilirsiniz.

  1. Sunucu Yöneticisi -> Tüm Sunucular -> açın ve çiftliğin tüm RDS sunucularını ekleyin;

  2. Sunucu Yöneticisi'nde sol panelde Uzak Masaüstü Hizmetleri'ni seçin. RDS Koleksiyonlarını seçin;

  3. İçinde

    HOST SERVERS

    bölümünde, Boşaltma Modunu etkinleştirmek istediğiniz sunucuyu seçin ve bağlam menüsünde Yeni bağlantılara izin verme'yi seçin.

Etkin Uzak Masaüstü oturumlarına sahip kullanıcılar sunucuya yeniden bağlanabilecekken, tüm yeni bağlantılar RD Bağlantı Aracısı tarafından RDS grubunuzdaki diğer ana bilgisayarlara iletilecektir.

Drenaj Modunu yerel olarak RDS ana bilgisayarında komut istemi aracılığıyla da ayarlayabilirsiniz. Bunu yapmak için,

change logon

komut kullanılır.

Yeni kullanıcı bağlantılarını engellemek için aşağıdaki komutu çalıştırın:

change logon /drain

New user logons are DISABLED, but reconnections to existing sessions are ENABLED

Şimdi, yeni bir kullanıcı doğrudan RDS ana bilgisayarına bağlanmaya çalışırsa (RD Bağlantı Aracısı kullanılmadığında), aşağıdaki hata görünür:

Remote logins are currently disabled.

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.

Aşağıdaki komut, ana bilgisayar yeniden başlatılana kadar Boşaltma Modunu etkinleştirir:

change logon /drainuntilrestart

Kullanıcıların etkin oturumları olsa bile ana bilgisayara bağlanmasını önlemek için şu komutu çalıştırın:

change logon /disable
Session logins are currently DISABLED

İstemci oturumu modunda Uzak Masaüstü Oturum Ana Bilgisayarına bağlandıysanız ve yukarıdaki komutu kullanarak erişimi devre dışı bıraktıysanız ve oturumu kapattıysanız (logoff.exe), sunucuya yalnızca konsol aracılığıyla bağlanabileceksiniz (

mstsc /admin

).

Bağlantılara izin vermek için şu komutu kullanın:

change logon /enable

Drenaj Modunun RDS sunucunuzda etkinleştirildiğinden emin olmak için aşağıdaki komutu çalıştırın:

change logon /query
Session logins are currently ENABLED

Connections are currently ENABLED by Group Policy for this machine, unable to change.

Bu, Boşaltma Modunun GPO aracılığıyla yapılandırıldığı anlamına gelir. İlke ayarı Kullanıcıların Uzak Masaüstü Hizmetlerini kullanarak uzaktan bağlanmasına izin ver olarak adlandırılır ve bunu şu GPO bölümünde bulabilirsiniz: Yönetim Şablonları -> Windows Bileşenleri -> Uzak Masaüstü Hizmetleri -> Uzak Masaüstü Oturum Ana Bilgisayarı - > Bağlantılar.

Politikayı devre dışı bırakın veya Yapılandırılmadı olarak ayarlayın.

PowerShell aracılığıyla Windows Server RDS Ana Bilgisayarı için Boşaltma Modunu Ayarlama

PowerShell'i kullanarak bir RDS ana bilgisayar koleksiyonunun veya bağımsız bir RDS sunucusunun Boşaltma Modu ayarlarını yönetebilirsiniz:

Import-Module RemoteDesktop
# To deny new RDP connections to the Remote Desktop Services Host
Set-RDSessionHost -SessionHost mun-saprdsh1.a-d.site -NewConnectionAllowed No -ConnectionBroker mun-saprdcb.a-d.site
# To allow connections
Set-RDSessionHost -SessionHost mun-saprdsh1.a-d.site -NewConnectionAllowed Yes -ConnectionBroker mun-saprdcb.a-d.site

Boşaltma Modunu etkinleştirir veya devre dışı bırakırsanız, aşağıdaki kayıt parametrelerinin değerleri değişir:

  • WinStationsDisabled HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\

  • TSServerDrainMode HKLM\System\CurrentControlSet\Control\Terminal Server\

Örneğin, Boşaltma modu etkinleştirildiğinde, kayıt defteri değerleri şu şekilde ayarlanır:

WinStationsDisabled = 0

Ve

TSServerDrainMode = 2

Aşağıdaki PowerShell betiğini kullanarak ana bilgisayarınızdaki Boşaltma Modunun etkinleştirildiğinden de emin olabilirsiniz:

Get-WmiObject win32_terminalservicesetting -N "root\cimv2\terminalservices" | %{
if ($_.logons -eq 1){
"Disabled"}
Else {
switch ($_.sessionbrokerdrainmode)
{
0 {"Enabled"}
1 {"DrainUntilRestart"}
2 {"Drain"}
default {"error"}
}
}
}

Drenaj Modunu PowerShell aracılığıyla etkinleştirmek için (benzer

change logon /Drain

):

$temp = (Get-WmiObject win32_terminalservicesetting -N "root\cimv2\terminalservices")
$temp.sessionbrokerdrainmode=2
$temp.put()

RDS ana bilgisayarını normal moda geçirmek için (

change logon /enable

), şu komutu çalıştırın:

$temp = (Get-WmiObject win32_terminalservicesetting -N " root\cimv2\terminalservices ")
$temp.sessionbrokerdrainmode=0
$temp.logons=0
$temp.put()

İlgili makaleler