POWERSHELL Cambio password AD

Ciao a tutti!
In questi giorni ho dovuto risolvere un problema apparentemente semplice che però si è rivelato più complesso del previsto.

Il problema è piuttosto semplice: ho dei pc che non sono in AD ma che usano le credenziali di AD per autenticarsi ad alcuni servizi. Da GDPR gli utenti devono poter cambiare la password ogni 30 giorni.

Ho provato ad installare i servizi di accesso remoto che permetterebbero agli utenti di cambiare la password tramite un sito web, ma purtroppo l’installazione dei servizi non è andata a buon fine (il mio server AD è anche un server TFS e questo potrebbe aver contribuito al problema).

Detto ciò ho provato ad utilizzare un programma opensource passcore installato su Docker (sarebbe stato fighissimo) ma ho avuto un problema anche con questa soluzione (ho aperto anche una segnalazione agli sviluppatori – https://github.com/unosquare/passcore/issues/592)

Alla fine ho trovato questo script che funziona molto bene :).

Prima di utilizzare lo script è necessario installare il modulo PSSharedGoods. Per farlo è sufficiente aprire una sessione powershell come amministratore e digitare il seguente comando:
Install-Module PSSharedGoods -Force

Nel caso in cui doveste ricevere questo errore al momento dell’installazione del modulo:

install-module : The ‘install-module’ command was found in the module ‘PowerShellGet’, but the module could not be
loaded. For more information, run ‘Import-Module PowerShellGet’.
At line:1 char:1
+ install-module
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (install-module:String) [], CommandNotFoundException

Sarà necessario lanciare prima questo comando: Set-ExecutionPolicy Unrestricted


Una volta installato il modulo è possibile utilizzarlo scrivendo semplicemente Set-PasswordRemotely

Una volta lanciato il comando verrà richiesto il nome utente di AD, la vecchia password, la nuova password e il dominio AD di riferimento.

Io ho trovato questa soluzione molto funzionale e semplice anche se spero sempre di utilizare passcore su docker 😉

Byez