Compartir a través de


Crear nuevos usuarios en la unidad organizativa

Terry Adams fue contratado en la organización Fabrikam Sales. Su informe directo es Patrick Hines.

Como se muestra en el ejemplo de código siguiente, Joe Andreshak, el administrador de empresa, creará una nueva cuenta para él.

Dim salesOU as IADsContainer
Set salesOU = GetObject("LDAP://OU=Sales,DC=Fabrikam,DC=COM")
Set usr = salesOU.Create("user", "CN=Terry Adams")
usr.Put "sAMAccountName", "terryadams"
usr.Put "userPrincipalName", "terryadams@fabrikam.com" 
usr.Put "title" "Marketing Manager"
usr.SetInfo

usr.SetPassword "seahorse"
usr.AccountDisabled = False
usr.SetInfo

Al crear un nuevo usuario, debe especificar un sAMAccountName. Se trata de un atributo obligatorio para la clase de usuario. Para poder crear una instancia de un objeto, se deben establecer todos los atributos obligatorios. SAMAccountName se generará automáticamente si no se especifica uno para un nuevo usuario.

Al crear un nuevo usuario, todos los atributos necesarios deben establecerse en la caché local antes de llamar al método IADs.SetInfo .

Joe, como administrador, puede asignar la contraseña de Terry mediante el método IADsUser.SetPassword . El método IADsUser.SetPassword no funcionará hasta que se haya llamado al método IADs.SetInfo .

A continuación, Joe habilita la cuenta de usuario estableciendo la propiedad IADsUser.AccountDisabled enFALSE.

En el ejemplo de código siguiente se muestra cómo establecer Terry como administrador de Patrick.

Set usr = GetObject("LDAP://CN=patrickhines,OU=Sales,DC=Fabrikam,DC=COM")
usr.Put "manager", "CN=Terry Adams,OU=Sales,DC=Fabrikam,DC=COM"
usr.SetInfo

Es posible que se pregunte qué ocurre si Terry cambia su nombre, se mueve a otra organización o abandona la empresa. ¿Quién mantiene este vínculo de informe directo del administrador? Para obtener más información y la solución a este problema, consulte Reorganización. Dado que el esquema de Active Directory es extensible, puede modelar los objetos para incluir relaciones similares de estilo de informe directo del administrador.

Antes de pasar a la siguiente tarea, eche un vistazo a un ejemplo de código que muestra cómo Joe vería los informes directos de Terry.

Set usr = GetObject("LDAP://CN=Terry Adams,OU=Sales,DC=Fabrikam,DC=COM")
reports = usr.GetEx ("directReports")

For each directReport in reports
    Debug.Print directReport
Next

En este ejemplo de código, Patrick se mostrará como informe directo de Terry, aunque el atributo directReports nunca se modificó. Active Directory lo hace automáticamente.

En el mundo del directorio, un atributo puede tener uno o varios valores. Dado que directReports tiene varios valores, puede obtener esta información examinando el esquema, es más fácil usar el método IADs.GetEx , que devuelve una matriz de valores independientemente de si se devuelven uno o varios valores.

El complemento Usuarios y equipos de Active Directory le permite ver los informes directos y las relaciones de administrador en la página de propiedades del usuario.

Agregar usuarios a un grupo