Listado de todas las OUs del dominio
dsquery ou domainroot
Usuarios están inactivos en el directorio activo desde hace 26 semanas (6 meses)
dsquery user -inactive 26 -limit 0
Usuarios están deshabilitados en el directorio activo
dsquery user -disabled
Direcciones email de los usuario
dsquery user –samid * | dsget user -email
PCs inactivos en el directorio activo desde hace 26 semanas (6 meses)
dsquery computer -inactive 26 -limit 0
Deshabilitar un PC en el directorio activo
dsmod computer PC12 -disabled yes
Deshabilitar PCs que llevan inactivos 26 semanas(6 meses)
dsquery computer -inactive 26 | dsmod computer -disabled yes
Listado de todos los PCs
dsquery computer -name * | dsget computer -samid
Listado de todos los PCs con sistema operativo Windows Server
dsquery * domainroot -filter “(&(objectCategory=computer)(operatingSystem=Windows Server*))” | dsget computer - Windowsamid
Cajón desastre para administradores de redes y sistemas informáticos. Este blog es para encontrar aquellas cosas que haces una vez y luego te cuesta repetirlas.
Mostrando entradas con la etiqueta microsoft. Mostrar todas las entradas
Mostrando entradas con la etiqueta microsoft. Mostrar todas las entradas
jueves, 2 de mayo de 2013
Consultas al directorio activo con los comandos DSQUERY, DSGET y DSMOD
Etiquetas:
Active Directory,
directorio activo,
dsget,
dsmod,
dsquery,
microsoft,
server,
usuario,
usuarios,
windows
Ubicación:
Hernani, Guipúzcoa, España
miércoles, 13 de marzo de 2013
Crear usuarios en un directorio activo
Primero
Creamos un script llamado crear_usuario.vbs
strContainer = WScript.Arguments.Unnamed(0)
strName = WScript.Arguments.Unnamed(1)
strPasswd = WScript.Arguments.Unnamed(2)
strLogonScript= WScript.Arguments.Unnamed(3)
strGroup = WScript.Arguments.Unnamed(4)
'Conectarse
'***********************************************
Set objRootDSE = GetObject("LDAP://rootDSE")
If strContainer = "" Then
Set objContainer = GetObject("LDAP://" & objRootDSE.Get("defaultNamingContext"))
Else
Set objContainer = GetObject("LDAP://" & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
End If
'Crear el usuario
'***********************************************
Set objUser = objContainer.Create("user", "cn=" & strName)
objUser.Put "sAMAccountName", strName
objUser.SetInfo
'Poner la clave de usuario
'-----------------------------------------------
Set objUser = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
objUser.SetPassword(strPassword)
objUser.scriptPath = strLogonScript
objUser.SetInfo
Wscript.Quit
Segundo
Llamamos al script para que cree los usuarios.
cscript crear_usuario.vbs "OU=admins,OU=IT" adminit clave123 script-usuarios.bat it-admins
cscript crear_usuario.vbs "OU=users,OU=IT" userit1 clave123 script-usuarios.bat it-users
Creamos un script llamado crear_usuario.vbs
strContainer = WScript.Arguments.Unnamed(0)
strName = WScript.Arguments.Unnamed(1)
strPasswd = WScript.Arguments.Unnamed(2)
strLogonScript= WScript.Arguments.Unnamed(3)
strGroup = WScript.Arguments.Unnamed(4)
'Conectarse
'***********************************************
Set objRootDSE = GetObject("LDAP://rootDSE")
If strContainer = "" Then
Set objContainer = GetObject("LDAP://" & objRootDSE.Get("defaultNamingContext"))
Else
Set objContainer = GetObject("LDAP://" & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
End If
'Crear el usuario
'***********************************************
Set objUser = objContainer.Create("user", "cn=" & strName)
objUser.Put "sAMAccountName", strName
objUser.SetInfo
'Poner la clave de usuario
'-----------------------------------------------
Set objUser = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
objUser.SetPassword(strPassword)
objUser.scriptPath = strLogonScript
objUser.SetInfo
Wscript.Quit
Segundo
Llamamos al script para que cree los usuarios.
cscript crear_usuario.vbs "OU=admins,OU=IT" adminit clave123 script-usuarios.bat it-admins
cscript crear_usuario.vbs "OU=users,OU=IT" userit1 clave123 script-usuarios.bat it-users
Script para cambiar la clave de un usuario del directorio activo
Un sencillo script en visual basic script para realizar el cambio de contraseñas automatizado
Option Explicit
Dim objOU, objUser, objRootDSE
Dim strContainer, strDNSDomain, strPassword, strName
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")
' -----------------------------------------------'
strContainer = WScript.Arguments.Unnamed(1)
strName = WScript.Arguments.Unnamed(0)
strPassword = WScript.Arguments.Unnamed(2)
If strContainer = "" Then
Set objUser = GetObject("LDAP://cn=" & strName & "," & _
objRootDSE.Get("defaultNamingContext"))
Else
Set objUser = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & _
objRootDSE.Get("defaultNamingContext"))
End If
objUser.SetPassword(strPassword)
objUser.SetInfo
WScript.Quit
Podemos utilizar el script para cambiar una clave o hacer otro script que llame al primero para cambiar claves a mas de un usuario
cscript resetear_clave.vbs usuario01 "OU=SUB-CARPETA,OU=CARPETA" NuevaClave
cscript resetear_clave.vbs usuario02 "OU=SUB-CARPETA,OU=CARPETA" NuevaClave
cscript resetear_clave.vbs usuario03 "OU=SUB-CARPETA,OU=CARPETA" NuevaClave
·
·
·
Etiquetas:
ad,
directorio activo,
dominio,
microsoft,
script,
server,
visual basic script,
windows
Ubicación:
Donostia-San Sebastián, Guipúzcoa, España
jueves, 23 de diciembre de 2010
Cómo habilitar la seguridad de contraseñas en Active Directory de windows 2008 server
Toca recordar algunas cosas básicas de Active Directory, una de ellas que me parece importante es mejorar la política de contraseñas por defecto.
Para crear una politica (GPO) de contraseñas y asignarla a los equipos correspondientes se realizaaccediendo al "Administrador de políticas" que esta en "Herramientas Administrativas"
Creamos una GPO y la vinculamos a la "Unidad Organizativa" (OU) correspondiente.
En nuestro caso la hemos llamado "GPO seguridad de contraseñas" y configuramos las opciones que aparecen en las 2 siguientes imagenes como creamos conveniente.
Si intentamos conectarnos con una contraseña incorrecta más de 3 intentos, bloqueamos la cuenta durante 30 minutos.Así nos protegemos de ataques por fuerza bruta y el usuario lo nota lo menos posible.
Guardamos las últimas 5 contraseñas para que no se puedan repetir, requerimos complejidad (mayusculas minusculas y carácteres extraños), requerimos longitud mínima de la contraseña de 8 caracteres (cuantos más caracteres más dificil de descifrar), obligamos a cambiar la contraseña cada 60 días y una vez cambiamos la contraseña no la podemos volver a cambiar hasta el día siguiente.
En caso de crearla y vincularla porteriormente, lo realizamos de la siguiente manera.
Espero que os resulte de utilidad, espero vuestros comentarios...
Para crear una politica (GPO) de contraseñas y asignarla a los equipos correspondientes se realizaaccediendo al "Administrador de políticas" que esta en "Herramientas Administrativas"
Creamos una GPO y la vinculamos a la "Unidad Organizativa" (OU) correspondiente.
En nuestro caso la hemos llamado "GPO seguridad de contraseñas" y configuramos las opciones que aparecen en las 2 siguientes imagenes como creamos conveniente.
Si intentamos conectarnos con una contraseña incorrecta más de 3 intentos, bloqueamos la cuenta durante 30 minutos.Así nos protegemos de ataques por fuerza bruta y el usuario lo nota lo menos posible.
Guardamos las últimas 5 contraseñas para que no se puedan repetir, requerimos complejidad (mayusculas minusculas y carácteres extraños), requerimos longitud mínima de la contraseña de 8 caracteres (cuantos más caracteres más dificil de descifrar), obligamos a cambiar la contraseña cada 60 días y una vez cambiamos la contraseña no la podemos volver a cambiar hasta el día siguiente.
En caso de crearla y vincularla porteriormente, lo realizamos de la siguiente manera.
Espero que os resulte de utilidad, espero vuestros comentarios...
Suscribirse a:
Entradas (Atom)