Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2010, 08:29
Avatar de verinchi
verinchi
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Acceso a carpetas del servidor con contraseña

Hola amig@s!
Tengo la siguiente cuestión: Necesito acceder a una carpeta en el servidor con un usuario diferente al que está logueado en el equipo local, para copiar archivos a otro servidor.

Intenté hacerlo utilizando WshNet de Wscript para mapear dicha carpeta como una unidad de red, pero no lo he conseguido. Mi primer intento busca en una unidad de red mapeada y coloca el archivo en el disco local, en la máquina donde trabajo (que tiene permiso a la carpeta del servidor) funciona, pero en otra, si bien no da errores, no copia ningún archivo.

Obviamente, en las dos pc existe la carpeta local de destino, esto es lo que tengo:

Código:
' VB Document
Dim WshNet, WshShell, fso, Unidades_de_red, perfil
'Creación del objeto red, el objetoy shell y el acceso a la estructura de ficheros
Set WshNet = Wscript.CreateObject("WScript.Network")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
num1="M:"
num2="N:"
ruta="\\SERVER\WEB"
destino="C:\upload\"
usuario="veronica"
password="vero@2010"
Rucarpe=num1&"\UnidadPrivada\"

'Libera unidades en uso
For i=1 to 2
On Error Resume Next
WshNet.RemoveNetworkDrive num&i , True
Next
'Nueva Unidad
WshNet.MapNetworkDrive num1 , ruta, False, usuario, password
Set carpeta=fso.GetFolder(Rucarpe)
Set archivos=carpeta.Files
for Each File in archivos
    Elarch=fso.GetFile(File)
    Copiara=fso.GetFileName(File)
    fso.CopyFile Elarch, destino&"\"&Copiara
    'Mostramos qué archivo se copió para ver que carajo dice
    msgbox "Archivo que se copió: "&Copiara, vbInformation + vbOkOnly

Next

'Liberamos la memoria
Set WshNet = Nothing
Set WshShell = Nothing
Set fso = Nothing
Set Unidades_de_red = Nothing

WScript.Quit()
Será posible abrir una carpeta enviando usuario y contraseña utilizando fso??? Leí unos cuantos manuales pero ninguno especifica cómo trabajar si es, por ejemplo, una carpeta protegida por contraseña, o con permisos restringidos.

El hecho es que necesito que un usuario copie los archivos de un sitio a otro, sin tener acceso a los archivos originales. De esta manera, la aplicación copia los orígenes en otra carpeta, y de ahí el usuario puede modificarlos, sin posibilidad de acceder a los originales.

Hay creado un usuario especialmente para la aplicación, que es el único que tiene acceso a los archivos originales en el servidor.
__________________
Why can't we not be sober?
www.partitorium.com.ar