Usuários: redefinir as senhas de todos os usuários usando lote ou PowerShell?

Usuários: redefinir as senhas de todos os usuários usando lote ou PowerShell?

Preciso redefinir senhas em massa em uma máquina local (sem rede ou domínio, apenas a máquina) para uma única senha; como %1Percent . Eu queria saber se isso era possível com lote ou power shell ou algum tipo de script.

Responder1

Com Powershell (requer privilégios de administrador):

  • obtenha a nova senha da entrada do usuário como SecureString
  • Get-Localuser enumera todos os usuários locais e os encaminha para o
  • cláusula where que verifica os usuários para excluir
  • Os usuários restantes são canalizados para Set-Localuser, que define a senha inserida no primeiro comando.

#Requires -RunAsAdministrator
$SecurePassword = Read-Host -Prompt "Enter password for all users" -AsSecureString 
$Exclude = "Administrator","Guest","DefaultAccount"
Get-LocalUser |
  Where {$Exclude -notcontains $_.Name} |
    Set-Localuser -Password $SecurePassword

Responder2

Crie um arquivo de texto com extensão cmdcomonuke_users_passwords.cmd

com o seguinte conteúdo (substitua o nome de usuário e a senha conforme necessário) e execute-o

@echo off
net user username1  new_password
net user username2  new_password
...
net user usernameN  new_password

Outra solução é usarWMIpara enumerar automaticamente usuários locais e alterar suas senhas.

Abaixo está o script VBS com capacidade de excluir algumas contas que precisam ser ignoradas. Salve-o como FileName.vbse execute-o "como administrador"

On Error Resume Next 

strPasswd = "SuperPassword"
strComputer = "." 

Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Set colItems = objWMIService.ExecQuery _ 
    ("Select * from Win32_UserAccount Where LocalAccount = True") 

For Each objItem in colItems 
    Do While True
        if objItem.Name = "Guest" then Exit Do ' Skip some account
        if objItem.Name = "Administrator" then Exit Do ' Skip some account
        if objItem.PasswordChangeable = False then Exit Do ' 

        objItem.SetPassword strPasswd
        objItem.SetInfo 

        Exit Do
    Loop
Next 

Wscript.Echo "Done."

PS Execute esses scripts "como administrador"

informação relacionada