martes, 16 de agosto de 2011

Crear todos los usuarios de un Active Directory mediante script VBS

La idea es crear todos los usuarios del dominio de manera automatizada.
para ello utilizamos 2 scripts un .bat y un .vbs. El .bat se encarga de llamar al vbs para crear los usuarios.

El script "crea_usuario.vbs" al cual se le pasan los parametros contenedor, nombre de usuario, contraseña y script de logon.

Ej de uso: csript crear_usuario.vbs "OU=directivos,OU=empresa01" directivo01 clavedirectivo01 scriptlogon_directivo01.bat

strContainer = WScript.Arguments.Unnamed(0)
strName = WScript.Arguments.Unnamed(1)
strPasswd = WScript.Arguments.Unnamed(2)
strLogonScript= WScript.Arguments.Unnamed(3)

'***********************************************
'*         Connect to a container              *
'***********************************************
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
'***********************************************
'*       End connect to a container            *
'***********************************************

Set objUser = objContainer.Create("user", "cn=" & strName)
objUser.Put "sAMAccountName", strName
objUser.SetInfo

Set objUser = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"))

objUser.SetPassword(strPassword)
objUser.scriptPath = strLogonScript

objUser.SetInfo


WScript.Quit

El script .bat lo llamaremos crear_usuarios_midominioNT.bat y se encarga de crear cada usuario llamando al script .vbs
@echo off
color 0a
cls
cscript crear_usuario.vbs "OU=directivos,OU=empresa01" directivo01 Cl@v3212011 directivos.bat
cscript crear_usuario.vbs "OU=empleados,OU=empresa01" empleado01 Cl@v3212011 empleados.bat
cscript crear_usuario.vbs "OU=comerciales,OU=empresa01" comercial02 Cl@v3212011 comerciales.bat
pause

Configurar windows server 2008 R2 para que se sincronice con un servidor NTP externo

echo Mostrar configuracion actual
w32tm /query /configuration


echo Parando el servicio horario
net stop w32time


echo Configurar servidor NTP externo con el que sincronizar
w32tm /config /syncfromflags:manual /manualpeerlist:"hora.roa.es"
w32tm /config /reliable:yes

echo Iniciando el servicio horario
net start w32time

echo Mostrar configuracion actual 
w32tm /query /configuration


echo Comprobar la diferencia horaria
w32tm /monitor /computers:miservidorw2008server

domingo, 14 de agosto de 2011

Comandos básicos Zimbra CLI

Para ejecutar estos comandos debemos ser el usuario zimbra

su - zimbra

#Ver todas las cuentas de Administrador
zmprov gaaa

#Ver todas las cuentas
zmprov -l gaa

#Ver todas las cuentas de un dominio
DOMINIO=
midominio1.com

zmprov gaa -v $DOMINIO

#Renombrar una cuenta
CUENTA=
usuario1@midominio1.com
CUENTA_RENOMBRADA=otro
usuario@midominio2.com

zmprov ra $CUENTA $CUENTA_RENOMBRADA

#Cambiar la contraseña
CUENTA=
usuario1@midominio1.com
CLAVE_NUEVA=clave123

zmprov sp $CUENTA $CLAVENUEVA

#Crear lista de distribucion
LISTA_DISTRIBUCION=lista1@midominio1.com

zmprov cdl $LISTA_DISTRIBUCION

#Añadir nuevo miembro a la lista de distribucion
LISTA_DISTRIBUCION=lista1@midominio1.com
MIEMBRO_NUEVO=usuario201delalista@otrodominio.com

zmprov adlm $LISTA_DISTRIBUCION $MIEMBRO_NUEVO


#Eliminar cuenta
CUENTA=usuario1
@midominio1.com

zmprov da $CUENTA