none
Cambio de Contraseña en masa a usuarios del dominio RRS feed

  • Pregunta

  • Buen día, habrá una manera de forzar a que todas las cuentas de usuario del dominio obliguen los obligue cambiar sus contraseñas masivamente? Es decir, tengo 60 usuarios y se que en el active directory puedo obligar a un usuario a un cambio de contraseña la próxima vez que inicien sesión. Pero como hacerlo masivamente no lo se.

    La idea es que cuando ejecute algún scrip o comando, la próxima vez que todos los usuarios inicien sesión, les pida cambios de contraseña.

    Saludos!

    lunes, 13 de agosto de 2012 19:17

Respuestas

  • Leo, creo que no es lo que pide realmente, me parece entender que lo que quiere es forzar a que los usuarios cambien la contraseña en el próximo inicio de sesión. Si es así, con dsquery encaminado a dsmod se podría hacer de un plumazo:

    dsquery user domainroot | dsmod user -mustchpwd yes

    Claro, que esto tiene el problema de que afectará también al administrador y usuarios especiales a los que no queramos que esto se ejecute. Para evitarlo se puede ir ejecutando OU por OU o se puede tirar de Excel Scripting (© yo mismo :o)). Primero ejecutamos:

    dsquery user domainroot > usuarios.txt

    Despues abrimos con Excel el fichero usuarios.txt, eliminamos las líneas que hagan referencia a los usuarios que no queremos que se les fuerce el cambio de contraseña (como el administrador del dominio, por ejemplo), nos situamos en la columna B fila1 y escribimos:

    ="dsmod user """&A1&""" -mustchpwd yes"
    Una vez hecho esto, autorrellenamos hasta el final, seleccionamos las celdas escritas de la columna B, copiamos y pegamos en el bloc de notas, y guardamos el resultado como fichero bat, que al ejecutarse desde la línea de comandos hará la tarea requerida.


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)


    martes, 14 de agosto de 2012 7:17
    Moderador

Todas las respuestas

  • Hola,

    Puedes realizarlo de varias maneras, yo aca te presento tres opciones:

    1) Por *.vbs mediante el siguiente script (modificando lo que remarco con la OU correcta y la clave que deseas aplicar a los usuarios):

    =================================================================
    dim OutPutList
    dim Password
    Set ObjOU = GetObject("LDAP://ou=Class,dc=contoso,dc=msft")
    ObjOU.Filter = Array("User")
    OutputList = ""
    Password = "PassW0rd"   'I simply preset the password to something. You can change this accordingly
    For Each objUser in ObjOU
    'If you want to have random password, call a function to randomize a password before you call the SetPassword method
       objUser.SetPassword Password
       OutputList = Outputlist & objUser.Name & " - " & password & vbcrlf
    Next
    Wscript.echo OutputList
    'Prompts out what is the list on screen. You can replace this with a script to output to file

    ================================================================

    2) Mediante la Tool Dsmod user cuyos parametros puedes seleccionar y aplicar segun desees como se detallan en el siguiente link: http://technet.microsoft.com/en-us/library/cc732954(v=ws.10).aspx

    3) Si hablamos sobre un dominio ADDS 2008 o superior, puedes tambien utilizar PowerShell con el siguiente ejemplo: http://blogs.technet.com/b/heyscriptingguy/archive/2010/08/17/how-to-change-a-user-s-active-directory-password-with-powershell.aspx

    Como comente hay mas opciones, pero creo que con alguna de las tres detalladas, podras aplicar lo que deseas.-

    Salu2


    Leonardo Ponti
    MVP: Directory Services
    MCTS: Microsoft Certified Technology Specialist
    MCSE: Microsoft Certified Systems Engineer (Windows Server 2003)
    MCSA: Microsoft Certified Systems Administrator (Windows Server 2003)
    Blog - Facebook - Twitter

    Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho. Ud. asume los riesgos.
    This posting is provided "AS IS" with no warranties, and confer no rights. You assume all risk for your use.

    lunes, 13 de agosto de 2012 23:29
    Moderador
  • Leo, creo que no es lo que pide realmente, me parece entender que lo que quiere es forzar a que los usuarios cambien la contraseña en el próximo inicio de sesión. Si es así, con dsquery encaminado a dsmod se podría hacer de un plumazo:

    dsquery user domainroot | dsmod user -mustchpwd yes

    Claro, que esto tiene el problema de que afectará también al administrador y usuarios especiales a los que no queramos que esto se ejecute. Para evitarlo se puede ir ejecutando OU por OU o se puede tirar de Excel Scripting (© yo mismo :o)). Primero ejecutamos:

    dsquery user domainroot > usuarios.txt

    Despues abrimos con Excel el fichero usuarios.txt, eliminamos las líneas que hagan referencia a los usuarios que no queremos que se les fuerce el cambio de contraseña (como el administrador del dominio, por ejemplo), nos situamos en la columna B fila1 y escribimos:

    ="dsmod user """&A1&""" -mustchpwd yes"
    Una vez hecho esto, autorrellenamos hasta el final, seleccionamos las celdas escritas de la columna B, copiamos y pegamos en el bloc de notas, y guardamos el resultado como fichero bat, que al ejecutarse desde la línea de comandos hará la tarea requerida.


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)


    martes, 14 de agosto de 2012 7:17
    Moderador
  • Hola Fernando, como estas?

    Siendo asi pido disculpas!! :=)

    Salu2


    Leonardo Ponti
    MVP: Directory Services
    MCTS: Microsoft Certified Technology Specialist
    MCSE: Microsoft Certified Systems Engineer (Windows Server 2003)
    MCSA: Microsoft Certified Systems Administrator (Windows Server 2003)
    Blog - Facebook - Twitter

    Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho. Ud. asume los riesgos.
    This posting is provided "AS IS" with no warranties, and confer no rights. You assume all risk for your use.


    martes, 14 de agosto de 2012 11:15
    Moderador
  • Excelente, me sirvió
    martes, 14 de agosto de 2012 12:58
  • Leo, creo que no es lo que pide realmente, me parece entender que lo que quiere es forzar a que los usuarios cambien la contraseña en el próximo inicio de sesión. Si es así, con dsquery encaminado a dsmod se podría hacer de un plumazo:

    dsquery user domainroot | dsmod user -mustchpwd yes

    Claro, que esto tiene el problema de que afectará también al administrador y usuarios especiales a los que no queramos que esto se ejecute. Para evitarlo se puede ir ejecutando OU por OU o se puede tirar de Excel Scripting (© yo mismo :o)). Primero ejecutamos:

    dsquery user domainroot > usuarios.txt

    Despues abrimos con Excel el fichero usuarios.txt, eliminamos las líneas que hagan referencia a los usuarios que no queremos que se les fuerce el cambio de contraseña (como el administrador del dominio, por ejemplo), nos situamos en la columna B fila1 y escribimos:

    ="dsmod user """&A1&""" -mustchpwd yes"
    Una vez hecho esto, autorrellenamos hasta el final, seleccionamos las celdas escritas de la columna B, copiamos y pegamos en el bloc de notas, y guardamos el resultado como fichero bat, que al ejecutarse desde la línea de comandos hará la tarea requerida.


    Un saludo


    Hola Fernando, una pregunta extra, ya generé el archivo .bat con los nombres de los usuarios a forzar el cambio de Pwd, pero al tratar de ejecutarlo me genera el error:

    C:\>dsmod user "CN=Mauricio Naranjo" -mustchpwd yes
    dsmod failed:CN=Mauricio Naranjo:No superior reference has been configured for the directory service. The directory service is therefore unable to issue referrals to objects outside this forest.

    type dsmod /? for help.

    Estuve consultando y parece ser un error de sintaxis pero no he podido dar con el error.

    Agradezco una luz en con este mensaje.

    Saludos.

    martes, 28 de agosto de 2012 15:36
  • Tienes que poner el nombre distinguido (DN), no el nombre distinguido relativo (RDN). Un usuario que tiene su cuenta en nombre.dominio/OU/OU1, tiene como nombre distinguido CN=Nombre del usuario,OU=OU1,OU=OU,DC=dominio,DC=nombre. Como puedes ver, el RDN es el DN sin la parte que ubica el objeto en el directorio. Por ejemplo si tienes el usuario tia.org/Agentes/Pi, Filemón cuyo DN es:

    CN=Pi\, Filemón,OU=Agentes,DC=tia,dc=org

    Su RDN es:

    CN=Pi\, Filemón

    Si te fijas el error que te da dsmod, es que no sabe sobre qué directorio tiene que hacer el comando, es decir, sobre qué dominio, pues al pasarle el RDN no sabe dónde está el objeto cuyo nombre es ese. Prueba a poner el nombre distinguido, debería funcionarte sin problemas.

    Nota: en el ejemplo verás que he puesto un slash inverso delante de la coma que separa Pi de Filemón; esto es debido a que la coma separa los diferentes elementos de un nombre distinguido y cuando dentro de uno de los elementos hay una coma se tiene que quitar su significado, indicar que no se trata de un separador si no de parte de la información contenida en un elemento; de esto se encarga el slash inverso.


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)




    miércoles, 29 de agosto de 2012 6:44
    Moderador
  • Hola, hasta el punto donde voy de hacer la encuesta en el domainoot me funciona bien, el problema está es que quiero hacerlo por unidades organizativas (OU) y no me deja.

    por ejemplo le mando el código q estoy poniendo:

    dsquery user OU=D-38,OU=3er Año,OU=UCCFD-ESTUDIANTES,OU=UCCFD,DC=xxx,DC=cu > usuarios.txt

    aqui estoy probando la encuesta antes de aplicar el forzado de contraseña.

    pero aplicando esto me da este error:

    Error de dsquery: 'OU=3er' es un parámetro desconocido.
    Escriba dsquery /? para obtener ayuda.PS C:\Users\javico>

    ya le cambie el nombre, le quite los espacios, quite la ñ, pero me sigue dando el error.

    Si me pudieran ayudar por favor.

    Gracias

    jueves, 8 de agosto de 2019 18:53