Controlar un ftp con .net

Iniciado por NetJava, 31 Enero 2012, 18:45 PM

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

NetJava

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.

NetJava

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!

NetJava

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...

NetJava

Ahora estoy buscando esas api's, si sabéis algo, os lo agradecería.

NetJava

Como dar de alta Usuarios en Windows:


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."

NetJava

Buenas! Alguien sabe que hay que cambiar en el código anterior, para poder ir agregando Usuarios diferentes?? me vuelvo loco!!!

Gracias!

kub0x

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.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


NetJava

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...

NetJava

Buenas, ya para ir poniendo toda la inf, añado eliminar:


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.