Kullanıcıların Uzak Masaüstü Bağlantısı Üzerinden Süresi Dolmuş Parolayı Değiştirmesine İzin Ver


13

BİLGİ:

  • Bir etki alanının parçası DEĞİL ve AD yok bir sunucu (Windows 2012 R2) kullanmak zorunda olduğum bir durum var. Bu benim seçimim değil, optimal değil, benim kontrolüm dışında.

  • Ayrıca RDP aracılığıyla bu sunucuya bağlanan yerel kullanıcılara sahibim ve yerel kullanıcıların bir parola kullanım süresi sonu politikası var.

  • AD / Exchange resmin bir parçası olmadığından, kullanıcılar parolalarının süresinin dolmak üzere olduğuna dair bir bildirim almaz.

SORUN: Sorun, kullanıcının parolasının süresi dolduğunda ve Uzak Masaüstü Bağlantısı kullanarak oturum açmaya çalıştığı zamandır. Parolalarını değiştirmelerine izin vermez.

Sunucu tarafından "SADECE Ağ Düzeyinde Kimlik Doğrulaması ile Uzak Masaüstü çalıştıran bilgisayarlardan bağlantılara izin ver" seçeneğinin işaretini kaldırdım, bu nedenle sunucu gelen RDP oturumlarından NLA gerektirmiyor.

Ancak, Windows Uzak Masaüstü Bağlantı Yöneticisi'ni kullanırken, NLA'yı zorluyor gibi görünüyor.

"Terminaller" Uzak Masaüstü İstemcisi'ni kullanıyorsanız, istemci tarafında "Ağ Düzeyinde Kimlik Doğrulama" özelliğini devre dışı bırakma seçeneği vardır. NLA'yı Terminals istemcisi aracılığıyla devre dışı bırakırsam ve sunucuya bağlanırsam, kullanıcıların süresi dolmuş parolayı değiştirmeme izin verir.

SORU: Terminal programının sadece Windows Uzak Masaüstü Bağlantısı protokollerinin üstünde olduğunu ve Ağ Düzeyi Kimlik Doğrulaması istemci tarafını Terminaller programından devre dışı bırakabileceğinizi varsayarsak, Windows yerleşik Uzak Masaüstü Bağlantı Yöneticisi aracılığıyla devre dışı bırakabilirsiniz. Ne yazık ki, bağlantı yöneticileri GUI bu seçeneği görmüyorum ve ".RDP" dosyalarında NLA'ya özgü herhangi bir parametre görmüyorum.

İstemci tarafında Uzak Masaüstü Bağlantı Yöneticisi'nde "Hakkında" yı tıklatırsam, bana "Ağ Düzeyinde Kimlik Doğrulama'nın desteklendiğini" söyler. İfadeler, onu kullanmanın isteğe bağlı olduğuna inanmamı sağlıyor, ancak yine, bağlantı yöneticisinde kapatmanın bir yolunu göremiyorum. BTW, bu özel bağlantı yöneticisi v10.


1
Sorunuzu (özellikle başlık), hedefe ulaşmak için önerilen bir yöntem yerine temel hedefinize odaklanmak için düzenledim. XY sorununa bakın .
Reinstate Monica'yı söylüyorum

Yanıtlar:


13

Bunu iki yönlü bir yaklaşımla çözebilirsiniz:

1. RD Web Erişimi rolünü yükleyin ve uzaktan parola değiştirme seçeneğini etkinleştirin

Aşağıdaki yönergeler, kullanıcıların Windows Server 2012'de RD WebAccess aracılığıyla süresi dolmuş parolayı sıfırlamasına izin veren woshub.com makalesinde verilmiştir :

Windows 2012/2012 R2'de, uzaktaki bir kullanıcının RD Web Erişimi sunucusundaki özel bir web sayfasını kullanarak parolasını değiştirmesine (geçerli veya süresi dolmuş) bir seçenek belirdi. Parola şu şekilde değiştirilecektir: bir kullanıcı sunucudaki kayıt web sayfasında RD Web Erişimi rolüyle oturum açar ve parolasını özel bir form kullanarak değiştirir.

Uzak Masaüstü Web Erişimi (RD Web Erişimi) rolüne sahip sunucuda bir uzaktan parola değiştirme seçeneği vardır, ancak varsayılan olarak devre dışıdır. Bir şifreyi değiştirmek için, C: \ Windows \ Web \ RDWeb \ Pages \ tr-TR'de bulunan bir script password.aspx komut dosyası kullanılır .

  1. Parola değiştirme seçeneğini etkinleştirmek için yapılandırılmış RD Web Erişimi rolüne sahip sunucuda IIS Yöneticisi konsolunu açın, [Sunucu Adı] -> Siteler -> Varsayılan Web Sitesi -> RDWeb -> Sayfalar'a gidin ve Uygulama Ayarları bölümünü açın .

    resim açıklamasını buraya girin

  2. Sağ bölmede, PasswordChangeEnabled parametresini bulun ve değerini true olarak değiştirin .

    resim açıklamasını buraya girin

  3. Parola değiştirme mekanizmasını aşağıdaki web sayfasına giderek test edebilirsiniz:

    https: //RDSServerName/RDWeb/Pages/en-US/password.aspx

    resim açıklamasını buraya girin

  4. Artık süresi dolan parolayla RD Web Erişimi sunucusuna bağlanmaya çalışırken, kullanıcı password.aspx web sayfasına yönlendirilecek ve parolasını değiştirmesi önerilecektir.

    resim açıklamasını buraya girin

    İpucu . KB2648402 - Özel bir düzeltme eki yüklendikten sonra aynı Windows Server 2008 R2 özelliği kullanılabilir .


2. Bekleyen şifre süresinin sona ermesi konusunda kullanıcıları bilgilendiren bilgi istemlerini etkinleştirin

  1. gpedit.mscYerel Grup İlkesi'ni açmak için RDSH sunucusunda çalıştırın
  2. Nagivate Computer Configuration\Windows Settings\Local Policies\Security Options
  3. Etkileşimli oturum açma ayarını düzenleyin : Kullanıcıdan sona ermeden önce parolayı değiştirmesini isteyin ve 14 gibi makul sayıda gün belirtin.
  4. Uzak Masaüstü üzerinden oturum açanlar da dahil olmak üzere kullanıcılar, parolalarının süresi dolmadan bir bildirim alır.

Teşekkürler @ twisty, Uzak Masaüstü Sunucusu Rolü yüklemenin de bir seçenek olmadığını belirtmeliydim. Bununla birlikte, bu benzer bir durumda başka biri için harika bir bilgidir. İstemleri olsa bilmek iyi bir şey!
guht

3
Ardından, sunucu ve istemcilerde NLA'yı parolalarını değiştirmelerine izin vermek için devre dışı bırakmaktan başka seçeneğiniz yoktur . Tehlikeli olarak, bu RDP bağlantılarının güvenliğini önemli ölçüde azaltır.
Reinstate Monica diyorum

10

Bunun, "enablelecredsspsupport" adlı .RDP yapılandırma dosyasında listelenmemiş bir özellik aracılığıyla denetlendiği, bunu "0" olarak ayarlayarak oturum açma sayfasını bir RDP oturumuna yükler ve bir kullanıcının süresi dolmuş parolasını değiştirmesine izin verir.

.RDP yapılandırma dosyasında gereken tam sözdizimi:

enablecredsspsupport: i: 0

Daha fazla referans veya okumaya ihtiyacınız varsa buraya gidin: Ağ Düzeyinde Kimlik Doğrulama ve CredSSP'nin Zulmü


7
Bu yalnızca sunucu için NLA gerekmiyorsa çalışır. Aksi takdirde, uzak bilgisayar için ağ düzeyinde destek gerektiğini ancak yerel bilgisayarda desteklenmediğini belirten bir mesaj alırsınız. Bu ayarın gerçekte ne yaptığını, muhtemelen bağlantılı makaleden bir paragrafa atıfta bulunarak açıklamanız gerekir.
simlev

1
Not: Uzak Masaüstü Bağlantısı'nda Kaydet düğmesini tıklatmak Default.rdc yapılandırma dosyasını oluşturur. (Dosyanın hangi dizinde saklandığını görmek için Farklı Kaydet düğmesini tıklayın.) Bu ayarı varsayılan olarak istiyorsanız, bu düzenlenecek dosyadır. Veya ihtiyacınız olduğunda manuel olarak açtığınız farklı bir .RDP dosyasına koyabilirsiniz.
Bampfer

3

NLA'yı etkinleştirdiğim için seçeneklerin hiçbiri benim için çalışmadı. İşte PowerShell ile değiştirmenin bir yolu - RDP'ye giriş yapamadığınızda süresi dolmuş şifrenizi nasıl değiştireceğinizin tam hikayesi .

function Set-PasswordRemotely {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $true)][string] $UserName,
        [Parameter(Mandatory = $true)][string] $OldPassword,
        [Parameter(Mandatory = $true)][string] $NewPassword,
        [Parameter(Mandatory = $true)][alias('DC', 'Server', 'ComputerName')][string] $DomainController
    )
    $DllImport = @'
[DllImport("netapi32.dll", CharSet = CharSet.Unicode)]
public static extern bool NetUserChangePassword(string domain, string username, string oldpassword, string newpassword);
'@
    $NetApi32 = Add-Type -MemberDefinition $DllImport -Name 'NetApi32' -Namespace 'Win32' -PassThru
    if ($result = $NetApi32::NetUserChangePassword($DomainController, $UserName, $OldPassword, $NewPassword)) {
        Write-Output -InputObject 'Password change failed. Please try again.'
    } else {
        Write-Output -InputObject 'Password change succeeded.'
    }
}

Basitçe çalıştırın Set-PasswordRemotelyve size 4 soru soracaktır - kullanıcı adı, eski şifre, yeni şifre, etki alanı denetleyicisi ve sizin için şifreyi değiştirmek. Etki alanına katılmamış bir PC'den de çalışır. DC bağlantısı gerektirir.


etki alanı denetleyicinizi almak için% ECHO% LOGONSERVER% kullanabilirsiniz, bu ve yukarıdaki powershell harika çalıştı
kevinsky
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.