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:
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.' 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()
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.