Consenti agli utenti di modificare la password scaduta tramite Connessione desktop remoto


13

INFORMAZIONE:

  • Ho una situazione in cui sono costretto a utilizzare un server (Windows 2012 R2) che NON fa parte di un dominio e NON ha AD. Questa non è una mia scelta, non è ottimale, ma è fuori dal mio controllo.

  • Ho anche utenti locali che si connettono a questo server tramite RDP e gli utenti locali hanno una politica di scadenza della password.

  • Poiché AD / Exchange non fa parte dell'immagine, gli utenti non ricevono alcuna notifica che le loro password stanno per scadere.

PROBLEMA: il problema è quando la password di un utente è scaduta e tentano di accedere utilizzando una Connessione desktop remoto. Non consente loro di cambiare la password.

Ho deselezionato l'opzione "Consenti connessioni SOLO da computer che eseguono Desktop remoto con autenticazione a livello di rete" dal lato server, quindi il server NON richiede NLA dalle sessioni RDP in arrivo.

Tuttavia, quando si utilizza Gestione connessione desktop remoto di Windows, sembra forzare NLA.

Se sto utilizzando il client desktop remoto "Terminali", sul lato client è presente un'opzione per disabilitare utilizzando "Autenticazione a livello di rete". Se disabilito NLA tramite il client Terminals e mi collego al server, mi consente di modificare la password scaduta degli utenti.

DOMANDA: Sto assumendo, forse in modo errato, che il programma Terminals sia semplicemente in cima ai protocolli di connessione desktop remoto di Windows e che se è possibile disabilitare il lato client di autenticazione a livello di rete attraverso il programma Terminals, si dovrebbe anche essere in grado di disabilitarlo tramite Gestione connessione Desktop remoto integrata di Windows. Sfortunatamente, non vedo questa opzione nella GUI di Connection Manager e non vedo alcun parametro nei file ".RDP" specifici di NLA.

Se faccio clic su "Informazioni" sul lato client Gestione connessione Desktop remoto, viene indicato che "Autenticazione a livello di rete supportata". La formulazione mi porta a credere che utilizzarlo sia facoltativo, ma di nuovo non vedo alcun modo per disattivarlo nella gestione connessione. A proposito, questa particolare gestione delle connessioni è v10.


1
Ho modificato la tua domanda (in particolare il titolo) per concentrarmi sul tuo obiettivo sottostante, anziché su un metodo proposto per raggiungere l'obiettivo. Vedi il problema XY .
Dico Reinstate Monica il

Risposte:


13

Puoi risolverlo con un approccio a due punte:

1. Installare il ruolo Accesso Web Desktop remoto e abilitare l'opzione di modifica della password remota

Le seguenti indicazioni sono tratte dall'articolo di woshub.com Consenti agli utenti di reimpostare la password scaduta tramite Accesso Web Desktop remoto in Windows Server 2012 :

In Windows 2012/2012 R2 è stata visualizzata un'opzione che consente a un utente remoto di modificare la propria password (attuale o scaduta) utilizzando una pagina Web speciale sul server Accesso Web Desktop remoto. La password verrà modificata in questo modo: un utente accede alla pagina Web di registrazione sul server con il ruolo di Accesso Web Desktop remoto e modifica la propria password utilizzando un modulo speciale.

Un'opzione di modifica della password remota è disponibile sul server con il ruolo di Accesso Web Desktop remoto (Accesso Web Desktop remoto), ma è disabilitata per impostazione predefinita. Per modificare una password, viene utilizzato uno script password.aspx , che si trova in C: \ Windows \ Web \ RDWeb \ Pages \ en-US .

  1. Per abilitare l'opzione di modifica password, sul server con il ruolo Accesso Web Desktop remoto configurato aprire la console Gestione IIS, andare su [Nome server] -> Siti -> Sito Web predefinito -> RDWeb -> Pagine e aprire la sezione Impostazioni applicazione .

    inserisci qui la descrizione dell'immagine

  2. Nel riquadro destro, trova il parametro PasswordChangeEnabled e modifica il valore su true .

    inserisci qui la descrizione dell'immagine

  3. È possibile testare il meccanismo di modifica della password andando alla seguente pagina Web:

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

    inserisci qui la descrizione dell'immagine

  4. Ora, quando si tenta di connettersi al server Accesso Web Desktop remoto con la password scaduta, un utente verrà reindirizzato alla pagina Web password.aspx e gli verrà offerto di modificare la password.

    inserisci qui la descrizione dell'immagine

    Tip . La stessa funzionalità di Windows Server 2008 R2 può diventare disponibile dopo aver installato una patch speciale - KB2648402 .


2. Abilitare i prompt che avvisano gli utenti della scadenza della password in sospeso

  1. Eseguire gpedit.mscsul server RDSH per aprire Criteri di gruppo locali
  2. Nagivate to Computer Configuration\Windows Settings\Local Policies\Security Options
  3. Modificare l'impostazione Accesso interattivo: richiedere all'utente di modificare la password prima della scadenza e specificare un numero ragionevole di giorni, ad esempio 14.
  4. Gli utenti, inclusi quelli che hanno effettuato l'accesso tramite Desktop remoto, riceveranno una notifica prima della scadenza della password.

Grazie @twisty, avrei dovuto menzionare che l'installazione del ruolo del server Desktop remoto non era un'opzione. Tuttavia, questa è un'ottima informazione per qualcun altro in una situazione simile. Le istruzioni sono buone da sapere però!
guht

3
Quindi non hai altra scelta che disabilitare NLA sul server e sui client per consentire loro di cambiare la loro password. Pericolosamente, questo riduce significativamente la sicurezza delle connessioni RDP.
Dico Reinstate Monica il

10

Si scopre che questo è controllato attraverso una proprietà non elencata nel file di configurazione .RDP chiamato "enablecredsspsupport", impostandolo su "0" carica la pagina di accesso in una sessione RDP e consente a un utente di modificare la password scaduta.

La sintassi esatta necessaria nel file di configurazione .RDP è:

enablecredsspsupport: i: 0

Se hai bisogno di ulteriori riferimenti o letture, vai qui: The Tyranny of Network Level Authentication e CredSSP


7
Funziona solo se NLA non è richiesto dal server. Altrimenti, riceverai un messaggio che dice che il supporto a livello di rete è richiesto dal computer remoto ma non supportato sul computer locale. Dovresti spiegare cosa fa effettivamente questa impostazione, eventualmente citando un paragrafo dall'articolo collegato.
simlev,

1
Nota: facendo clic sul pulsante Salva in Connessione desktop remoto verrà creato il file di configurazione Default.rdc. (Fare clic sul pulsante Salva con nome per vedere in quale directory è archiviato il file.) Questo è il file da modificare se si desidera questa impostazione per impostazione predefinita. Oppure puoi inserirlo in un altro file .RDP che apri manualmente quando ne hai bisogno.
Bampfer,

3

Nessuna delle opzioni ha funzionato per me da quando ho abilitato NLA. Ecco un modo per cambiarlo tramite PowerShell: articolo completo su Come modificare la password scaduta quando non è possibile accedere a 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.'
    }
}

Esegui semplicemente Set-PasswordRemotelye ti verranno poste 4 domande: nome utente, vecchia password, nuova password, controller di dominio e modifica la password per te. Funziona anche da PC non appartenenti a domini. Richiede connettività a DC.


puoi usare ECHO% LOGONSERVER% per ottenere il tuo controller di dominio, questo e il PowerShell sopra funzionavano alla grande
kevinsky
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.