RESET LOCAL ADMIN PASSWORD
A Powershell script in the Accounts and Passwords category
Function Get-RandomPassword { PARAM ( $pwdMask = "####-####-####-####-####", $pwdCharacters = "abcdefghjkmnopqrstuvwxy23456789ABCDEFGHJKLMNPQRTUVWXYZ" ) $newPassword = "" (0 .. (($pwdMask.Length)-1) ) | ForEach-Object { If ( $pwdMask.Chars($_) -eq "#" ) { $rndChar = Get-Random -Minimum 0 -Maximum $pwdCharacters.Length $newPassword += $pwdCharacters.Chars($rndChar) } else { $newPassword += $pwdMask.Chars($_) } } Return $newPassword } Function Set-LocalAdminPassword { PARAM ( [string] $computerName, [string] $newPassword ) $adminAccountName = (Get-WmiObject Win32_UserAccount -Filter "LocalAccount = True AND SID LIKE 'S-1-5-21-%-500'" -ComputerName $computerName | Select-Object -First 1 ).Name TRY { Write-Verbose "Reset password for $($computerName)\$($adminAccountName) to $($newPassword)" $adminAccount = [adsi]"WinNT://$($computerName)/$($adminAccountName),user" $adminAccount.setPassword($newPassword) Return $true } CATCH { Return $false } } USAGE Set-LocalAdminPassword -computerName "SOMEPC" -newPassword (Get-RandomPassword)
https://community.spiceworks.com/scripts/show/3702-reset-local-admin-password