Powershell

Script Powershell Reset User Password

In Powershell Script by RobertoLeave a Comment

Like
Like Love Haha Wow Sad Angry

Per lavoro ho avuto necessità di creare uno script che facesse 3 cose e le facesse “autonomamente”, così ho adottato la soluzione migliore che si potesse adottare: creare lo script powershell reset user password!

Script Powershell Reset User Password è uno script creando in powershell che… non fa altro che resettare la password di un account utente specifico, presente in Active Directory, creandone una temporanea “strong” e impostando – inoltre – l’obbligo di cambio password al primo accesso.

Cercando in giro, in rete, ho assemblato 3 script diversi, – attingendo da ognuno una parte utile al mio scopo – e ne ho creato uno da poter utilizzare ovunque, senza problemi e senza doverlo personalizzare.

Sostanzialmente, cosa fa questo script? Semplicemente resetta la password dell’account utente di active directory che si andrà a specificare e ne genera una temporanea e “strong”, imposta – inoltre – l’obbligo di cambio password al primo accesso. Utile no?

Condivido con voi il codice dello script. Non occorre nessuna personalizzazione, basta avviarlo con un’utenza che abbia privilegi di reset su altre utenze in AD.

<br />
&lt;# Set temporary password per AD user Roberto Bonfa' Versione : 1.2 (aggiunta opzione "protect from accidental deletion") Script creato per reset e assegnazione di una password temporanea ad un determinato utente in AD #&gt;</p>
<p>&lt;# Import il modulo di AD #&gt;<br />
Import-Module Activedirectory</p>
<p>&lt;# Questo è il file che viene generato con il nome dell'utente e la password impostata. Se un utente viene resettato più volte, al suo interno ci sarà uno storico delle pwd impostate, con la più recente in basso #&gt;<br />
[String]$path= ".\$name.txt"</p>
<p>&lt;# Required Assembly to Generate Passwords #&gt;<br />
Add-Type -Assembly System.Web</p>
<p>&lt;# Richiesta del nome utente da cercare in AD #&gt;<br />
$Name=Read-Host "Inserisci il nome utente a cui resettare la password..."</p>
<p>&lt;# Ricerca del nome utente specificato in tutta AD #&gt;<br />
$users=Get-ADUser -identity $Name</p>
<p>&lt;# Impostazione della variabile NewPassword con caratteristica di 10 caratteri, di cui almeno 2 speciali #&gt;<br />
$NewPassword=[Web.Security.Membership]::GeneratePassword(10,2)</p>
<p>&lt;# Cambio la password dell'utente specificato e imposto il flag su "User must change password at next logon" e protegge dalla cancellazione accidentale #&gt;<br />
Set-ADAccountPassword -Identity $Name -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $NewPassword -Force)<br />
Get-ADUser -Identity $Name | Set-ADUser -ChangePasswordAtLogon:$true<br />
Get-ADUser -Identity $Name | Set-ADObject -ProtectedFromAccidentalDeletion:$true</p>
<p>&lt;# Scrittura del file in cui sono salvati nome utente e password #&gt;<br />
Write-Output "UserID: $name `t Password: $NewPassword" `n`n|FT -AutoSize &gt;&gt;"$name.txt"</p>
<p>&lt;# Apertura del file scritto #&gt;<br />
Invoke-Item ".\$name.txt"</p>
<p>

Abbiamo terminato con lo script… Ora dovete solo metterlo su un server o un PC che abbia accesso al dominio e utilizzare un’utenza come Domain Admins. Buon test!

P.S.: Se volete scaricare direttamente lo script, potete prelevarlo direttamente qui sotto (tasto destro + “salva link con nome”)

Scarica “set_temp_usr_pwd”

Roberto Administrator
Info su di me
Informatico di professione. Nerd per passione. Totalmente malato per la tecnologia.
Sono una persona socievole, gentile ed educata. Sono mattiniero, ma anche notturno.
Amo la compagnia delle persone che mi piacciono e so dare molto più di ciò che mi si chiede.
Preferisco fare shopping piuttosto che passare una giornata in piscina
Odio volare, ho il terrore di volare!
Amo le giornate di pioggia e la neve. Odio il caldo.
Ho una memoria eccezionale e questo non è quasi mai un bene, anzi…
Sono esageratamente testardo, quando penso ne valga la pena. So ciò che voglio e lotto sempre, finché posso, per ottenerlo.
Sono molto pretenzioso. È molto facile deludermi e quasi impossibile sorprendermi.
Sono impulsivo, stronzo, ma sempre leale e sincero.
I filtri dell’imbarazzo, della delicatezza e della vergogna a me non li hanno applicati.
Sono molto vendicativo e rancoroso, ma – soprattutto – molto difficilmente dimentico un torto e raramente perdono chi me lo ha fatto.
Odio, in assoluto, le falsità, le menzogne ed essere preso per il culo.

QUI, se volete, potete leggere qualcosa di più su di me; la versione completa.
×
Roberto Administrator
Informatico di professione. Nerd per passione. Totalmente malato per la tecnologia.
Sono una persona socievole, gentile ed educata. Sono mattiniero, ma anche notturno.
Amo la compagnia delle persone che mi piacciono e so dare molto più di ciò che mi si chiede.
Preferisco fare shopping piuttosto che passare una giornata in piscina
Odio volare, ho il terrore di volare!
Amo le giornate di pioggia e la neve. Odio il caldo.
Ho una memoria eccezionale e questo non è quasi mai un bene, anzi…
Sono esageratamente testardo, quando penso ne valga la pena. So ciò che voglio e lotto sempre, finché posso, per ottenerlo.
Sono molto pretenzioso. È molto facile deludermi e quasi impossibile sorprendermi.
Sono impulsivo, stronzo, ma sempre leale e sincero.
I filtri dell’imbarazzo, della delicatezza e della vergogna a me non li hanno applicati.
Sono molto vendicativo e rancoroso, ma – soprattutto – molto difficilmente dimentico un torto e raramente perdono chi me lo ha fatto.
Odio, in assoluto, le falsità, le menzogne ed essere preso per il culo.

QUI, se volete, potete leggere qualcosa di più su di me; la versione completa.
Like
Like Love Haha Wow Sad Angry

CONDIVIDI QUESTO ARTICOLO