Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: piwi en 4 Agosto 2010, 12:32 pm



Título: dsadd user
Publicado por: piwi en 4 Agosto 2010, 12:32 pm
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?


Título: Re: dsadd user
Publicado por: [D4N93R] en 4 Agosto 2010, 15:40 pm
Esto te debería ayudar,
http://www.c-sharpcorner.com/UploadFile/kb_sathya/DotNETActiveDirectory04172007013054AM/DotNETActiveDirectory.aspx (http://www.c-sharpcorner.com/UploadFile/kb_sathya/DotNETActiveDirectory04172007013054AM/DotNETActiveDirectory.aspx)

Un saludo


Título: Re: dsadd user
Publicado por: 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.


Título: Re: dsadd user
Publicado por: piwi en 6 Agosto 2010, 09:27 am
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.


Título: Re: dsadd user
Publicado por: Debci en 6 Agosto 2010, 10:17 am
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


Título: Re: dsadd user
Publicado por: piwi en 9 Agosto 2010, 10:27 am
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.


Título: Re: dsadd user
Publicado por: piwi en 10 Agosto 2010, 10:32 am
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
  1.  Dim ls_nombre, ls_telefono
  2.  
  3.        Dim DE As DirectoryEntry = New DirectoryEntry("LDAP://192.168.1.1/ou=Clientes,dc=dominio,dc=es")
  4.  
  5.        For li_contador = 0 To DataGridView1.RowCount - 1
  6.  
  7.            ls_nombre = DataGridView1(3, li_contador).Value
  8.            ls_telefono = DataGridView1(4, li_contador).Value
  9.  
  10.            If String.IsNullOrEmpty(ls_nombre) Then Continue For
  11.  
  12.            Try
  13.               Dim NewUser As DirectoryEntry = DE.Children.Add("CN=" + ls_nombre, "user")
  14.                NewUser.Properties("sAMAccountName").Value = ls_nombre
  15.                NewUser.Properties("sn").Add(ls_nombre)
  16.                NewUser.Properties("telephoneNumber").Add(ls_telefono)
  17.                NewUser.CommitChanges()
  18.                NewUser.Properties("userAccountControl").Value = &H220 'userACFlags &H220 o &H200 Xor &H2
  19.                NewUser.Properties("PwdLastSet").Value = 0
  20.                NewUser.CommitChanges()
  21.                DataGridView1(2, li_contador).Value = "OK"
  22.                DataGridView1.Refresh()
  23.  
  24.            Catch ex As Exception
  25.                DataGridView1(2, li_contador).Value = ex.Message
  26.            End Try
  27.        Next
  28.  

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.