Veja como “zerar” o período restante para alterar uma senha no AD, para isso iremos definir que a data da última alteração de senha é para “agora”.

Basicamente iremos alterar o atributo pwdLastSet de uma conta para 0 e depois para -1 (não conseguimos definir como -1 direto), com isso a data será a data atual.

O comando é simples, o código ficará um pouco maior apenas para deixá-lo mais “elegante”. Para criar o script, crie um arquivo .ps1 e coloque o seguinte conteúdo:

Import-Module ActiveDirectory
cls
write-host ""
write-host "Zerador de data de senha"
write-host "------------------------"
$Email = Read-Host "Informe o login@dominio"
$User = $null
$domain = $null
$User = $Email.Split('@')[0]
$Domain = $Email.Split('@')[1]
If ( (!$User) -or (!$domain) )
{
    Write-Host "Faltam dados para executar a rotina" -ForegroundColor Red
}
Else
{
    Write-Host "Localizando a conta "$User -ForegroundColor Yellow
    write-host ""
    Try 
    { 
        $User = Get-ADUser $User -properties pwdLastSet
        $User.pwdLastSet = 0
        Set-ADUser -Instance $User -Server $Domain
        $User.pwdLastSet = -1
        Set-ADUser -instance $User -Server $Domain
        Write-Host "A data da alteração de senha foi modificada para a conta "$User -ForegroundColor Green
    } 
    Catch 
    { 
        Write-Host "O usuário "$User" não foi encontrado" -ForegroundColor Red
    }
    Finally 
    { 
        write-host ""
        write-host "Fim do Script" 
        write-host ""
    } 
}

Salve e execute esse arquivo. Se preferir uma versão mais simples de código, use o seguinte:

Import-Module ActiveDirectory
Get-ADUser login_do_usuario -property * | ForEach-Object {
echo $_.Name
$_.pwdLastSet = 0
Set-ADUser -Instance $_
$_.pwdLastSet = -1
Set-ADUser -Instance $_
}

Fontes/Referências

https://community.spiceworks.com/topic/717742-why-set-aduser-pwdlastset-0-first
https://gallery.technet.microsoft.com/scriptcenter/try-catch-and-Finally-in-c7734814

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.

Entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria