dsadd user

Iniciado por piwi, 4 Agosto 2010, 12:32 PM

0 Miembros y 1 Visitante están viendo este tema.

piwi

Hola

Necesito ejecutar dsadd user para crear un nuevo usuario dentro del active directory. Los usuarios los tengo en una tabla así que la tengo que recorrer entera y por cada registro crear un usuario con la información de este registro.

Sería algo así:

dsadd user "cn=<nombre>, ou=clientes, dc=Empresa, dc=es" -samid >nombre> -pws <password> -tel <teléfono>

Todo lo que está entre <> serían los campos del registro

Existe alguna manera de meter el comando en una variable conctatenando la información y ejecutarlo como si estuviese en consola de comando?


piwi

Gracias, luego lo leo detenidamente e intento que funcione. Me estoy empezando a estresar con el vb.

piwi

D4N93R, me podrías ayudar con el tema? Entre que está en ingles y el código está en C, no consigo hacerlo en vb.

Debci

Cita de: piwi en  5 Agosto 2010, 14:23 PM
Gracias, luego lo leo detenidamente e intento que funcione. Me estoy empezando a estresar con el vb.
Pues tomatelo con calma que VB no es lo mas dificil que verás jeje

Saludos

piwi

Me he tirado mucho tiempo programando pero en Power Builder y Oracle. Ahora me toca hacerlo en VB y Sqlserver y la verdad que se diferencias bastante.

piwi

#6
Tengo el siguiente código para introducir datos en el directorio activo. Lo que quiero hacer es leer los clientes de la base de datos y crear un usuario por cada uno de ellos. Me vale con nombre y telefono.

Código (vbnet) [Seleccionar]

 Dim ls_nombre, ls_telefono

       Dim DE As DirectoryEntry = New DirectoryEntry("LDAP://192.168.1.1/ou=Clientes,dc=dominio,dc=es")

       For li_contador = 0 To DataGridView1.RowCount - 1

           ls_nombre = DataGridView1(3, li_contador).Value
           ls_telefono = DataGridView1(4, li_contador).Value

           If String.IsNullOrEmpty(ls_nombre) Then Continue For

           Try
              Dim NewUser As DirectoryEntry = DE.Children.Add("CN=" + ls_nombre, "user")
               NewUser.Properties("sAMAccountName").Value = ls_nombre
               NewUser.Properties("sn").Add(ls_nombre)
               NewUser.Properties("telephoneNumber").Add(ls_telefono)
               NewUser.CommitChanges()
               NewUser.Properties("userAccountControl").Value = &H220 'userACFlags &H220 o &H200 Xor &H2
               NewUser.Properties("PwdLastSet").Value = 0
               NewUser.CommitChanges()
               DataGridView1(2, li_contador).Value = "OK"
               DataGridView1.Refresh()

           Catch ex As Exception
               DataGridView1(2, li_contador).Value = ex.Message
           End Try
       Next


Basicamente tengo una datagridview cargada con tres campos. Nombre y telefono que son de la base de datos y otro campo donde meto la excepción o un OK si todo ha ido bien.
Mi duda son algunas excepciones que me saltan:
Uno de los dispositivos conetados al sistema no funcionan.
Se ha especificado una sintaxi DN no válida.
Que sifnifican estas dos excepciones?

Un saludo.