Izinkan Pengguna untuk Mengubah Kata Sandi Kedaluwarsa melalui Koneksi Remote Desktop

13

INFORMASI:

  • Saya memiliki situasi di mana saya dipaksa untuk menggunakan server (Windows 2012 R2) yang BUKAN bagian dari domain, dan TIDAK memiliki AD. Ini bukan pilihan saya, tidak optimal, tetapi di luar kendali saya.

  • Saya juga memiliki pengguna lokal yang terhubung ke server ini melalui RDP, dan pengguna lokal memiliki kebijakan kedaluwarsa kata sandi.

  • Karena AD / Exchange bukan bagian dari gambar, pengguna tidak menerima pemberitahuan bahwa kata sandi mereka akan kedaluwarsa.

MASALAH: Masalahnya adalah ketika kata sandi pengguna telah kedaluwarsa dan mereka mencoba masuk menggunakan Remote Desktop Connection. Itu tidak memungkinkan mereka untuk mengubah kata sandi mereka.

Saya telah menghapus centang pada "Izinkan koneksi SAJA dari komputer yang menjalankan Remote Desktop dengan Network Level Authentication" dari sisi server, sehingga server TIDAK memerlukan NLA dari sesi RDP yang masuk.

Namun, ketika menggunakan Windows Remote Desktop Connection Manager, sepertinya memaksa NLA.

Jika saya menggunakan Remote Desktop Client "Terminal", ada opsi di sisi klien, untuk menonaktifkan menggunakan "Otentikasi Level Jaringan". Jika saya menonaktifkan NLA melalui klien Terminal, dan saya terhubung ke server, itu memungkinkan saya untuk mengubah kata sandi pengguna yang kedaluwarsa.

PERTANYAAN: Saya membuat asumsi, mungkin salah, bahwa program Terminal hanya duduk di atas protokol Windows Remote Desktop Connection, dan bahwa jika Anda dapat menonaktifkan sisi klien Otentikasi Level Jaringan melalui program Terminal, maka Anda juga harus dapat nonaktifkan ini melalui Remote Desktop Connection Manager bawaan Windows. Sayangnya, saya tidak melihat opsi ini di manajer koneksi GUI, dan saya tidak melihat parameter dalam file ".RDP" khusus untuk NLA.

Jika saya mengklik "Tentang" di sisi klien Remote Desktop Connection Manager, itu memberi tahu saya bahwa "Otentikasi Level Jaringan didukung". Kata-katanya membuat saya percaya bahwa menggunakannya adalah opsional, tetapi sekali lagi, saya tidak melihat cara untuk mematikannya di manajer koneksi. BTW, manajer koneksi khusus ini adalah v10.

ya
sumber
1
Saya mengedit pertanyaan Anda (judul khusus) untuk fokus pada tujuan mendasar Anda, alih-alih metode yang diusulkan untuk mencapai tujuan. Lihat masalah XY .
Saya katakan Reinstate Monica

Jawaban:

13

Anda dapat menyelesaikan ini dengan pendekatan dua cabang:

1. Instal peran RD Web Access dan aktifkan opsi perubahan kata sandi jarak jauh

Petunjuk berikut berasal dari artikel woshub.com Memungkinkan pengguna untuk mereset kata sandi yang kadaluwarsa melalui RD WebAccess di Windows Server 2012 :

Pada Windows 2012/2012 R2 muncul opsi yang memungkinkan pengguna jarak jauh untuk mengubah kata sandi mereka (saat ini atau yang kedaluwarsa) menggunakan halaman web khusus pada server RD Web Access. Kata sandi akan diubah seperti ini: pengguna masuk ke halaman web pendaftaran di server dengan peran RD Web Access dan mengubah kata sandinya menggunakan formulir khusus.

Opsi penggantian kata sandi jarak jauh tersedia di server dengan peran Akses Web Desktop Jarak Jauh (RD Web Access), tetapi dinonaktifkan secara default. Untuk mengubah kata sandi, skrip password.aspx digunakan, yang terletak di C: \ Windows \ Web \ RDWeb \ Pages \ en-US .

  1. Untuk mengaktifkan opsi perubahan kata sandi, pada server dengan peran RD Web Access yang dikonfigurasi buka konsol IIS Manager, buka [Nama Server] -> Situs -> Situs Web Default -> RDWeb -> Halaman dan buka bagian Pengaturan Aplikasi .

    masukkan deskripsi gambar di sini

  2. Di panel kanan, cari parameter PasswordChangeEnabled dan ubah nilainya menjadi true .

    masukkan deskripsi gambar di sini

  3. Anda dapat menguji mekanisme perubahan kata sandi yang menuju halaman web berikut:

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

    masukkan deskripsi gambar di sini

  4. Sekarang ketika mencoba terhubung ke server RD Web Access dengan kata sandi yang kadaluwarsa, pengguna akan diarahkan ke halaman web password.aspx dan ditawarkan untuk mengubah kata sandinya.

    masukkan deskripsi gambar di sini

    Kiat . Fitur Windows Server 2008 R2 yang sama dapat tersedia setelah Anda menginstal tambalan khusus - KB2648402 .


2. Aktifkan meminta pemberitahuan kepada pengguna tentang kedaluwarsa kata sandi yang tertunda

  1. Jalankan gpedit.mscdi server RDSH untuk membuka Kebijakan Grup Lokal
  2. Nagivate ke Computer Configuration\Windows Settings\Local Policies\Security Options
  3. Edit pengaturan Log masuk interaktif: Prompt pengguna untuk mengubah kata sandi sebelum kedaluwarsa dan tentukan jumlah hari yang masuk akal, seperti 14.
  4. Pengguna, termasuk yang masuk melalui Remote Desktop, akan menerima pemberitahuan sebelum kata sandi mereka kedaluwarsa.
Saya katakan Reinstate Monica
sumber
Terima kasih @twisty, saya seharusnya menyebutkan bahwa menginstal Remote Desktop Server Role juga bukan pilihan. Namun, ini adalah informasi bagus untuk orang lain dalam situasi yang sama. Pertanyaannya adalah hal yang baik untuk diketahui!
guht
3
Maka Anda tidak punya pilihan selain menonaktifkan NLA di server dan klien untuk mengizinkan mereka mengubah kata sandi mereka. Berbahaya, ini secara signifikan mengurangi keamanan koneksi RDP.
Saya katakan Reinstate Monica
10

Ternyata ini dikendalikan melalui properti tidak terdaftar dalam file konfigurasi .RDP yang disebut "enablecredsspsupport", dengan mengatur ini ke "0" itu memuat halaman login dalam sesi RDP, dan memungkinkan pengguna untuk mengubah kata sandi mereka yang kadaluwarsa.

Sintaks yang dibutuhkan dalam file konfigurasi .RDP adalah:

enablecredsspsupport: i: 0

Jika Anda memerlukan referensi atau bacaan lebih lanjut, buka di sini: Tirani Otentikasi Tingkat Jaringan dan CredSSP

ya
sumber
7
Ini hanya berfungsi jika NLA tidak diperlukan oleh server. Jika tidak, Anda akan mendapatkan pesan yang mengatakan bahwa dukungan tingkat jaringan diperlukan oleh komputer jarak jauh tetapi tidak didukung di komputer lokal. Anda harus menjelaskan apa yang sebenarnya dilakukan pengaturan ini, mungkin mengutip paragraf dari artikel yang ditautkan.
simlev
1
Catatan: mengklik tombol Simpan di Remote Desktop Connection akan membuat file konfigurasi Default.rdc. (Klik tombol Simpan Sebagai untuk melihat direktori tempat file disimpan.) Itu adalah file yang akan diedit jika Anda ingin pengaturan ini secara default. Atau Anda dapat meletakkannya di file .RDP yang berbeda yang Anda buka secara manual saat Anda membutuhkannya.
Bampfer
3

Tidak ada opsi yang bekerja untuk saya karena saya telah mengaktifkan NLA. Berikut adalah cara untuk mengubahnya melalui PowerShell - cerita lengkap tentang Cara mengubah kata sandi Anda sendiri yang sudah kadaluwarsa saat Anda tidak bisa masuk ke RDP .

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.'
    }
}

Cukup jalankan Set-PasswordRemotelydan itu akan menanyakan 4 pertanyaan - nama pengguna, kata sandi lama, kata sandi baru, pengontrol domain, dan ubah kata sandi untuk Anda. Ini bekerja dari PC non-domain bergabung. Membutuhkan konektivitas ke DC.

MadBoy
sumber
Anda dapat menggunakan ECHO% LOGONSERVER% untuk mendapatkan pengontrol domain Anda, ini dan PowerShell di atas berfungsi dengan baik
kevinsky