Windows | Powershell | Cambiar contraseña de todos los usuarios locales administrador en red con AD/DC | Directorio activo
Cambiar contraseña de todos los usuarios administrador en una red.
1. Primero desde powershell debemos exportar la lista de equipo en red a un archivo Excel de comas CSV, que estará ubicado en el Disco local D:\computer.csvGet-ADComputer -Filter * -Property * | Select-Object Name,OperatingSystem,OperatingSystemVersion,ipv4Address | Export-CSV D:\ADcomputerslist.csv -NoTypeInformation -Encoding UTF82. Se extraerá y creará una lista de todos los equipos en red, el nombre de equipo o hostname, el sistema operativo, la version y la direccion IPV4 asignada.Para realizar el cambio contraseña, solo necesitamos el nombre de equipo o IP:3. Ahora que tenemos el nombre de equipo o IP, solo debemos crear una lista de los hostname en formato de texto, puedes copiar al bloc de notas o convertir D:\Computers.txt4. Ahora solo queda ejecutar el siguiente comando en powershell-ISE o crear un archivo cambiarPS.ps1 desde un bloc de notas donde vas apegar lo siguiente:$computers = Get-Content -path "D:\computers.txt"$password = Read-Host -prompt "Enter new password for user" -assecurestring$decodedpassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($password))foreach ($Computer in $Computers) {$Computer = $Computer.toupper()$Isonline = "OFFLINE"$Status = "SUCCESS"$StatsError ="Failed"if((Test-Connection -ComputerName $Computer -count 1 -ErrorAction 0)) {$Isonline = "ONLINE"} else { $StatsError= "`t$Computer is OFFLINE" }try {$account = [ADSI]("WinNT://$Computer/Administrador,user")$account.psbase.invoke("setpassword",$decodedpassword)$StatsError="Administrator Password changed successfully"}catch {$status = "FAILED"$StatsError="$_"}$obj = New-Object -TypeName PSObject -Property @{ComputerName = $ComputerIsOnline = $IsonlinePasswordChangeStatus = $StatusDetailedStatus=$StatsError}$obj | Select ComputerName, IsOnline, PasswordChangeStatus,DetailedStatus$obj | Export-Csv -Append -Path "D:\Resultado.csv"}---------------------------------Resultado-----------5. Tambien pueden extraer los nombres de usuarios en red y sus cargos:Get-ADUser -Filter * | Ft Name, UserPrincipalName, EnabledEquipos:Get-ADComputer -Filter * | ft Name,SamAccountName,DNSHostName >Computer.txtTambien puedes suar lo siguiente:
Restablecimiento de contraseña masivo de Netwrix
Herramienta gratuita que restablece simultáneamente varias contraseñas de usuarios y administradores locales, para que pueda fortalecer la seguridad y automatizar el restablecimiento de contraseñas en sus servidores y computadoras de Windows .https://www.netwrix.com/local_admin_bulk_password_reset_freeware.html
Comentarios
Publicar un comentario
Las dudas y el agradecimientos, nos ayudan a mejorar a diario...