Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: NetJava en 31 Enero 2012, 18:45 pm



Título: Controlar un ftp con .net
Publicado por: NetJava en 31 Enero 2012, 18:45 pm
Buenas!

Tengo una pregunta, estoy buscando y no se si existe. Sabéis si es posible controlar algún servidor ftp desde .net¿? En plan que el servidor ftp sea una aplicación a parte, pero que desde .net pueda dar de alta usuarios, configurar ip/puertos y esas cosillas¿?


Muchas gracias por adelantado.


Título: Re: Controlar un ftp con .net
Publicado por: NetJava en 1 Febrero 2012, 10:19 am
Hello!!! Pues nada, no existe la respuesta a mi pregunta. He preguntado y buscado, y hacer lo que planteo, no es posible. Funciones api generales, solo hay para subir/bajar doc y cosas así, no para usuarios ni configuración.

Si un servidor ftp guardase la inf en una bd o en un fichero, y tuviéramos acceso a él, si se podría añadir usuarios o config, y cuando el servidor ftp arrancase tirar de esos datos, pero es lo más cercano a una contestación, pero tampoco fiable.

Saludos!


Título: Re: Controlar un ftp con .net
Publicado por: NetJava en 3 Febrero 2012, 09:36 am
Buenas, es posible que con el ftp de IIS más algunas funciones API, se puedan dar de alta Usuarios en Windows, darles permisos y conseguirlo desde la aplicación...


Título: Re: Controlar un ftp con .net
Publicado por: NetJava en 3 Febrero 2012, 11:23 am
Ahora estoy buscando esas api's, si sabéis algo, os lo agradecería.


Título: Re: Controlar un ftp con .net
Publicado por: NetJava en 5 Febrero 2012, 21:06 pm
Como dar de alta Usuarios en Windows:

Código:
Option Explicit
' declaración de variables
Dim usuario
Dim dominio
' nombre del contenedor, en el que debe crearse la cuenta de usuario
Const contenedor = "Innovature-PC" ' ordenador o dominio
Const clase = "Computer" ' o Domain
' acceso a objeto domain
Set dominio = GetObject("WinNT://" & contenedor & "," & clase)
' creau cuenta usuario
Set usuario=dominio.Create("user","usuario23")
' definir propiedades
' nombre completo
usuario.FullName = "Pedro"
' descripcion del usuario
usuario.Description = "Usuario de escala mayor"
' carpeta del usuario
usuario.HomeDirectory = "c:\carpetaprivada"
' cuenta expira en un año
usuario.AccountExpirationDate = Now( ) + 365
' referencia al script a ejecutar al registrarse en el sistema
usuario.LoginScript = "usuario23.bat"
' crear clave
usuario.SetPassword "usuario123"
' obligar al usuario a cambiar la clave una ves registrado
usuario.PasswordExpired = 1
' escribir los valores
usuario.SetInfo
' mostrar un mensage
WScript.Echo "La cuenta de usuario fue creada."


Título: Re: Controlar un ftp con .net
Publicado por: NetJava en 6 Febrero 2012, 13:24 pm
Buenas! Alguien sabe que hay que cambiar en el código anterior, para poder ir agregando Usuarios diferentes?? me vuelvo loco!!!

Gracias!


Título: Re: Controlar un ftp con .net
Publicado por: kub0x en 6 Febrero 2012, 13:26 pm
Te recomiendo que estructures mejor el código, por ejemplo si lo introduces dentro de un Bucle se repetirá X veces que tu quieras y ya si le pones un par de variables enlazadas a un TxtBox donde metas los credenciales del usuario ya perfecto.

De esta manera el código te dejaría añadir X veces los distintos valores que tu quieras.

Saludos.


Título: Re: Controlar un ftp con .net
Publicado por: NetJava en 6 Febrero 2012, 13:31 pm
Gracias, bueno eso no era el problema, sino donde irían las variables, pero ya esta solucionado... una tontería, que al rallarte no se XD. A ver ahora el eliminar...


Título: Re: Controlar un ftp con .net
Publicado por: NetJava en 9 Febrero 2012, 13:02 pm
Buenas, ya para ir poniendo toda la inf, añado eliminar:

Código:
 Public Sub ms_eliminar_usuarios_ftp(ByVal str_usuario_ftp As String)
        ' borrarusuario.vbs
        ' ================================================
        ' declaracion de variables
        Dim contenedor
        ' acceso al objeto dominio
        contenedor = GetObject("WinNT://" & mf_obtener_admin_windows())
        ' borrar usuario
        contenedor.Delete("user", "" & str_usuario_ftp)
        ' mostrar mensage
        'Script.Echo "El usuario usuario23 fue borrado."
    End Sub

'Function que nos devuelve el Usuario con el que se ha abierto la aplicación.
    Public Function mf_obtener_admin_windows() As String
        Dim str_ary() As String
        str_ary = Split(Principal.WindowsIdentity.GetCurrent.Name, "\")
        Return str_ary(0)
    End Function

Y lo último que me falta, son los permisos ftp a carpetas XD.
Saludos, espero que os sirva.