Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Crear usuario en servidor Windows 2003 desde otro equipo con ADSI - Visual Basic
Lenguaje de programación Visual Basic

Os mostramos cómo crear un usuario en un dominio de Windows Server 2003 con Active Directory desde cualquier equipo de la red (que previamente se haya validado con un usuario con permisos suficientes en el dominio Windows Server 2003).

Para que esto funcione, en Visual Basic, hay que agregar en el menú "Proyecto" - "Referencias", "Active DS Type Library", correspondiente al fichero: activeds.tlb.

Utilizaremos ADSI (Active Directory Service Interfaces) y Visual Basic 6 para este ejemplo.


Private Sub CrearUsuarioADSI_Click()
    Const UF_SCRIPT = &H1
    Const UF_ACCOUNTDISABLE = &H2
    Const UF_LOCKOUT = &H10
    Const UF_PASSWD_NOTREQD = &H20
    Const UF_PASSWORD_CANT_CHANGE = &H40
    Const UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = &H80
    Const UF_DONT_EXPIRE_PASSWD = &H10000
    
    Dim objDomain, objUser, fso, intUserFlags, intNewUserFlags
    Dim fldUserHomedir, wshShell
    
    Set objDomain = GetObject("WinNT://nombre_dominio")
    Set objUser = objDomain.Create("user", "nombre_usuario")
    
    objUser.SetInfo
    objUser.GetInfo
    
    objUser.AccountDisabled = False
    objUser.AccountExpirationDate = "15/10/09"
    objUser.Description = "Descripción del usuario"
    objUser.FullName = "Nombre completo del usuario"
    objUser.IsAccountLocked = False 'Cuenta bloqueada
    objUser.LoginScript = "script.vbs" 'Script de inicio de sesión
    objUser.PasswordRequired = True 'Contraseña requerida
    
    objUser.SetInfo
    objUser.GetInfo
    
    intUserFlags = objUser.Get("userFlags")
    'La contraseña no expira
    intNewUserFlags = intUserFlags Or UF_DONT_EXPIRE_PASSWD
    'Debe cambiar la contraseña en el primer inicio de sesión
    intNewUserFlags = intNewUserFlags Or UF_PASSWORD_CANT_CHANGE
    objUser.Put "userFlags", intNewUserFlags
    objUser.SetInfo
    
    'Contraseña del usuario
    objUser.SetPassword "contraseña_usuario"
End Sub
Donde: * nombre_dominio: nombre del dominio Windows Server 2003 (suele ser del tipo "ajpdsoft.com"). * nombre_usuario: nombre que tendrá el usuario que se creará. * contraseña_usuario: contraseña del usuario que se creará. De las propiedades anteriores, la gran parte no son necesarias, es suficiente con el nombre de usuario y la contraseña, las mostramos como ejemplo para poder utilizarlas.




Publicado el: 2008-10-16

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A