Mostrando entradas con la etiqueta Password. Mostrar todas las entradas
Mostrando entradas con la etiqueta Password. Mostrar todas las entradas

martes, 10 de febrero de 2026

WINDOWS. GPO. Longitud password 15

Propósito 

Cambiar la Default Domain Policy para que las contraseña tengan una longitud de 15 o más caracteres

Pasos

La sorpresa es que por defecto, si no tocamos nada, la GPO solo permite hasta 14 caracteres.


Para poder ampliarla necesitamos Habilitar la siguiente directiva "Reducir los limites de longitud mínima de la contraseña"



Y solucionado!!!



by GoN | Published: Feb 2026 | Last Updated:

viernes, 3 de octubre de 2025

SECURITY. Windows Wifi passwords clear

Purpose

Show the Wifi password saved in your Windows computer.

Steps

Show Wifi's SID:

Command:  netsh wlan show profiles


Show Wifi password:

From the previous list we select SID

Command: netsh wlan show profile name="300GONMEC" key=clear


 GoN | Published: Oct 2024 | Last Updated:

sábado, 10 de abril de 2021

WINDOWS. PS. Alert and Check Password expiration policy

Purpose

Check your GPO "Default domain Policy" to view the password Policy and send one email to inform the User with the days expire password.

the variable "$expireindays" defines the days before it will warn until the password changes.

This post exclude check "Fine Grained Passwords"

The PS Code: 


 #Primary mail variables

$SmtpServer="X.X.X.X"

$From= IT@Micompany.com

  

#Starting expire check in days pending Expire to alert

$expireindays=8

 

#Getting users array from all AD

$users=Get-ADuser -Properties Name, PasswordNeverExpires, PasswordExpired, PasswordLastSet, EmailAddress -Filter *

foreach ($user in $users) {

    #Get the Name attribute for message purposes

    $Name = (Get-ADUser $user | ForEach-Object { $_.Name })

 

    # Exclude user witPassword Never Expires activate

    if ($user.PasswordNeverExpires) {

            #Informative message if script is executed via Powershell directly

            Write-Host  $user.Name "- INFO: o que no le caduque la contraseña"  -ForegroundColor Red 

    } else

    {

         #Setting expiration date parameter for user

        $passwordSetDate = (Get-ADUser $user -properties * | ForEach-Object {$_.PasswordLastSet})


        # ChecK the domain policy

        $maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days

        $Expireson= $passwordSetDate.AddDays($maxPasswordAge)

  

        #Getting script execution day date

        $today=Get-Date

 

        #Obtaining remaining days to expire password for user

        $daystoexpire=(New-TimeSpan -Start $today -End $Expireson).Days

       

        #Obtaining mail attribute from user

        $emailaddress=$user.EmailAddress

         #Condition that executes the mail advise if remaining days for password expiration are less than $expireindays variable and if is not expired (0 days remaining)

        If (($daystoexpire -ge "0") -and ($daystoexpire -lt $expireindays)) {

             #Informative message if script is executed via Powershell directly   

                 "$Date - INFO: Sending expiry notice email to $name"

                 Write-Host "Sending Password expiry email to $name - le faltan $daystoexpire" -ForegroundColor Yellow            

            $UserPasswordLastSet=$user.PasswordLastSet

            #Condition to attach the body message for email

            if($daystoexpire -eq "1"){

                $EmailBody="ULTIMO AVISO! La contraseña de WINDOWS del usuario $name caducará en $daystoexpire dia. Le recomendamos que cambie la clave antes de que expire el periodo indicado.

 

                La última vez que modificó su contraseña fue $UserPasswordLastSet

               

                Recuerde que usted es responsable de cualquier acción o actividad que se realice con su usuario y clave, por ello es muy importante    

                - La contraseña es personal e intransferible. No comparta la contraseña con nadie

                - Elija contraseñas seguras fáciles de recordar y difíciles de adivinar para usted.

                - La contraseña debe ser de longitud mínima 8 caracteres combinando letras, números, mayúsculas/minúsculas y símbolos. No utilice series.

                - Evite poner palabras relacionadas con tus datos personales o de la empresa.

                - Procure hacer faltas de ortografía, evita ataques de diccionario.

                - No debe anotar o almacenar las contraseñas en ningún tipo de soporte sin cifrar, ni utilizar programas, utilidades o cualquier otro proceso automático de login automático no autorizado.

                Si tiene sospechas que su contraseña ha dejado de ser secreta cámbiela inmediatamente.

               

                Departamento de Sistemas de MyCompany" 

            } else {

                 $EmailBody="La contraseña de WINDOWS del usuario $name caducará en $daystoexpire dias. Le recomendamos que cambie la clave antes de que expire el periodo indicado.

                               

                La última vez que modificó su contraseña fue $UserPasswordLastSet

               

                Recuerde que usted es responsable de cualquier acción o actividad que se realice con su usuario y clave, por ello es muy importante:               

                - La contraseña es personal e intransferible. No comparta la contraseña con nadie

                - Elija contraseñas seguras fáciles de recordar y difíciles de adivinar para usted.

                - La contraseña debe ser de longitud mínima 8 caracteres combinando letras, números, mayúsculas/minúsculas y símbolos. No utilice series.

                - Evite poner palabras relacionadas con tus datos personales o de la empresa.

                - Procure hacer faltas de ortografía, evita ataques de diccionario.

                - No debe anotar o almacenar las contraseñas en ningún tipo de soporte sin cifrar, ni utilizar programas, utilidades o cualquier otro proceso automático de login automático no autorizado.

                Si tiene sospechas que su contraseña ha dejado de ser secreta cámbiela inmediatamente.

               

                Departamento de Sistemas de Micomapny"                

            }

 

            $EmailSubj="Mycompany. Aviso de caducidad de password de tu usuario"

           

            #Create and send an email object

         $SMTPClient = New-Object Net.Mail.SMTPClient($SmtpServer)

         $emailMessage = New-Object System.Net.Mail.MailMessage

         $emailMessage.From = "$From"

 

             Foreach($EmailTo in $emailaddress)

                {

                    $emailMessage.To.Add($EmailTo)

                }

 

          $emailMessage.Subject = "$EmailSubj"

          $emailMessage.Body = "$EmailBody"

          $SMTPClient.Send($emailMessage)

            

                 #Informative message if script is executed via Powershell directly

                 Write-Host "Sending E-mail to $emailaddress..." -ForegroundColor Green

            }

            Else {

            #Informative message if script is executed via Powershell directly

            #Te informa de los que no ha expirado

                 "$Date - INFO: Password for $Name not expiring for $daystoexpire days"

                 Write-Host "Password for $Name does not expire for $daystoexpire days" -ForegroundColor White

           }

      }

  }

 

domingo, 10 de marzo de 2019

WINDOWS. GPO. Grained password. Some password policy.

Purpose


Fortify the passwords of  administrators or privileged users without using the default Windows passwords policy.


Steps




This securicurity implementation only apply to members of groups, in this case "XX_admins_password"


Send one email inform that your password expired:


#Primary mail variables
$SmtpServer="10.10.10.10"
$From="ADMPasswordExpiry@Midomain.es"

#Starting expire check in days
$expireindays=10

#Getting users array from all AD
$users=Get-ADuser -Properties Name, PasswordNeverExpires, PasswordExpired, PasswordLastSet, EmailAddress -Filter *

#Loop for checking $users array in search of Fine Grained Passwords accounts to send them expiry passwords advise mails
foreach ($user in $users) {

    #Get the Name attribute for message purposes
    $Name = (Get-ADUser $user | ForEach-Object { $_.Name })

    #Check if users have default password policy of fine grained password policy
    $Check=Get-ADUserResultantPasswordPolicy $user


    #Condition for discard users that have default domain policy and execute the script only for the remaining ones   
    if (!$check) {


    } else {

        #Setting expiration date parameter for user
        $passwordSetDate = (Get-ADUser $user -properties * | ForEach-Object {$_.PasswordLastSet})
        $maxPasswordAge = (Get-ADUserResultantPasswordPolicy $user | ForEach-Object {$_.maxPasswordAge})
        $expireson=$passwordSetDate + $maxPasswordAge

        #Getting script execution day date
        $today=Get-Date

        #Obtaining remaining days to expire password for user
        $daystoexpire=(New-TimeSpan -Start $today -End $Expireson).Days

        #Obtaining mail attribute from user
        $emailaddress=$user.EmailAddress

        #Condition that executes the mail advise if remaining days for password expiration are less than $expireindays variable and if is not expired (0 days remaining)
        If (($daystoexpire -ge "0") -and ($daystoexpire -lt $expireindays)) {

                $EmailBody="Te quedan $daystoexpire dias para cambiar la contraseña de tu usuario $name."

            }

            #Email subject
            $EmailSubj="Aviso de caducidad de password de tu usuario administrador"

            #Create and send an email object
            $SMTPClient = New-Object Net.Mail.SMTPClient($SmtpServer)

            $emailMessage = New-Object System.Net.Mail.MailMessage

            $emailMessage.From = "$From"

            Foreach($EmailTo in $emailaddress)
                {
                    $emailMessage.To.Add($EmailTo)
                }

            $emailMessage.Subject = "$EmailSubj"
            $emailMessage.Body = "$EmailBody"

            $SMTPClient.Send($emailMessage)

                              
                    }

                    Else {
           
            #No pending password expire

                    }


    }

}



Check Windows 2012R2
by GoN | Published: March 10 2019 | Last Updated:

miércoles, 2 de diciembre de 2015

Reset password Multiples PCs & Servers

Nos encontramos en el momento de cambio de contraseña de ciertos usuarios locales genéricos. Ha veces es difícil encontrar una manera rápida de hacer las cosas sin poner en peligro la seguridad o la facilidad trabajar. Aquí voy a explicar una manera muy sencilla de hacer este cambio que puede servir mientras no se tengas nada más automático.

En este ejemplo voy a poner una contraseña nueva al administrador local de los PCs o de los Servidores (que no sean controladores de domio).El usuario administrador local que estoy hablando lo tengo renombrado por motivos de seguridad. 

Hay muchas maneras de hacer este cambio, desde muy sencillas a bastante elaboradas como (https://code.msdn.microsoft.com/windowsapps/Solution-for-management-of-ae44e789).

En este caso usaremos un comando de SysInternals llamado PsPasswd (https://technet.microsoft.com/en-us/sysinternals/bb897543.aspx )

Yo lo voy a ejecutar desde un servidor con mi usuario con privilegios de administrador de dominio, así no tendré problemas de permisos en las workstations o servidores independientes.

Una recomendación es renombar el usuario administrador local por otro nombre para no ponerlo muy fácil a posibles ataques.

Para un host y un usuario concreto, necesitamos en nombre del servidor, nombre del usuario a cambiar la contraseña y la nueva contraseña:




Lo podemos hacer a una lista de hosts

pspasswd \\PC1,PC2,PC3 Usuario_Administrador “Nueva contraseña”


Si lanzo: "C:\TMP\PSTools>pspasswd.exe \\* pepito Hola2015." se lo cambio a todos los de mi domino de broadcast.



Hay que tener presente que para que esto funcione los hosts deben estar encendidos.



Una vez hecho esto ya podríamos entrar con nuestro usuario con privilegios en la máquinas, antes nos tendríamos que asegurar que no lo tengamos deshabilitado.


Otra opción a tener encuentra es Password Assistant de EventSentry, esta tiene un entorno más amigable que la opción anterior


Te la puedes descargar en: http://www.eventsentry.com/sysadmintools



GoN. Dic 2015