GPO para cambio de contraseña controlado

08/01/2008 - 22:16 por zubero | Informe spam
Buenas noches:

Disponemos de una infraestructura de Directorio Activo montada sobre
Windows Server 2003.

El problema surge por la necesidad de poder modificar diariamente (o
periódicamente cuando se establezca) la contraseña de 11 usuarios
"visitantes" del dominio de forma automática y pudiendo asignar
automáticamente una contraseña concreta. ¿Es eso posible?

Habíamos pensado en algún tipo de GPO que permitiera programar un cambio de
contraseña diario para esos 11 usuarios contenidos en una OU, pero pudiendo
el administrador escoger la contraseña que se asignará, en vez de que se le
solicite al usuario cambiarla. ¿Se puede hacer esto con GPO's? Si no es
así, ¿conocen alguna forma de hacerlo?


Gracias de antemano por su ayuda.

Carlos Jiménez
CCNA, CEH
Microsoft Certified Professional
 

Leer las respuestas

#1 José Antonio Quílez [MS MVP]
09/01/2008 - 08:43 | Informe spam
Esto lo puedes hacer mediante un script .vbs que ejecutarás en el servidor.
Lo puedes poner en el escritorio, editarlo para cambiar la password y
ejecutarlo. La complejidad de la clave debe coincidir con la que tengas
establecida en la GPO del dominio, donde además tendrás que establecer la
frecuencia mínima del cambio de contraseña a 1 día (deberás probarlo, pues
quizá tengas que reducirlo a 0 para que te permita el cambio todos los días
a la misma hora, ya que si lo ejecutas de forma manual es posible que no
hayan transcurrido 24 horas exactas desde el cambio del día anterior).
El script sería similar al siguiente:

Set clave = "LaContraseña99!#"
Set objUser = GetObject _
("LDAP://cn=usuario1,ou=visitantes,dc=dominio,dc=local")
objUser.SetPassword clave
Set objUser = GetObject _
("LDAP://cn=usuario2,ou=visitantes,dc=dominio,dc=local")
objUser.SetPassword clave

y así. Esto si les quieres poner la misma clave a todos. Por supuesto, si
son muchos el código se puede hacer más elegante, con un bucle que lea los
nombres de usuarios de la OU y les vaya cambiando las claves.
Si en vez de que tengan todos la misma las quieres diferentes, en lugar de
especificarla al principio les pones en cada línea la que quieras.

Y si lo quieres automatizar, podrías crear un fichero de texto con las
claves de todo el mes en el que cada línea tenga el día del mes y la clave
correspondiente, separadas por comas. Al principio del script haces una
lectura del fichero en la que busques la línea cuyo primer campo coincida
con el día del mes en que estás, y el segundo campo sería la contraseña a
establecer a los usuarios. De esta forma puedes programar la ejecución del
.vbs todos los días a primera hora y sólo tendrás que actualizar una vez al
mes el fichero de contraseñas. Quedaría algo así como lo siguiente:

Const ForReading = 1
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "oot\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LocalTime")
For Each objItem in colItems
hoy = objItem.Day
Next

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
("c:\scripts\passwords.txt", ForReading)
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
arrClaves = Split(strNextLine , ",")
If arrClaves(0) = hoy then
clave = arrClaves(1)
End If
Next
Loop
Set objUser = GetObject _
("LDAP://cn=usuario1,ou=visitantes,dc=dominio,dc=local")
objUser.SetPassword clave
Set objUser = GetObject _
("LDAP://cn=usuario2,ou=visitantes,dc=dominio,dc=local")
objUser.SetPassword clave


Pruébalo y nos cuentas.

Un saludo
José Antonio Quílez


"zubero" escribió en el mensaje de
noticias:
Buenas noches:

Disponemos de una infraestructura de Directorio Activo montada sobre
Windows Server 2003.

El problema surge por la necesidad de poder modificar diariamente (o
periódicamente cuando se establezca) la contraseña de 11 usuarios
"visitantes" del dominio de forma automática y pudiendo asignar
automáticamente una contraseña concreta. ¿Es eso posible?

Habíamos pensado en algún tipo de GPO que permitiera programar un cambio
de
contraseña diario para esos 11 usuarios contenidos en una OU, pero
pudiendo
el administrador escoger la contraseña que se asignará, en vez de que se
le
solicite al usuario cambiarla. ¿Se puede hacer esto con GPO's? Si no es
así, ¿conocen alguna forma de hacerlo?


Gracias de antemano por su ayuda.

Carlos Jiménez
CCNA, CEH
Microsoft Certified Professional

Preguntas similares