¿Existe una buena forma de acceder a los recursos compartidos de red desde un script VBS, con credenciales alternativas (no las credenciales con las que se ejecuta el script VBS)?Acceda a la red compartida desde VBScript, por ejemplo, FileSystemObject
La intención es llevar a cabo dos tareas:
- navegar programación una estructura de archivos compartido remoto, con el fin de confirmar que existe un par de archivos remotos, y copiar un archivo sobre el otro (tanto a distancia)
- copiar archivos desde una unidad local (acceso con nombre de usuario locales/permisos) a una unidad remota (se accede con las credenciales alternativas)
por lo que yo puedo decir FSO (Scripting.FileSystemObject) es fuera de la foto porque siempre se ejecuta con las credenciales de la aplicación que lo usa, que sería el usuario de la máquina local. (?)
El único enfoque viable que he encontrado al buscar en Google para preparar un archivo por lotes (o llamada extendida a "cmd.exe") que usa "uso de red" para proporcionar las credenciales de recurso compartido remoto, y luego copia los archivos con robocopy o similar, desde dentro de la misma "sesión" de comando-shell. Esto funcionaría bien para copiar/desplegar archivos desde la unidad local al recurso compartido remoto, pero sería muy complicado y frágil hacer cualquier tipo de exploración del sistema de archivos (como lo haría con FSO) de esta manera.
Otra posibilidad que he considerado implica tener dos sesiones de scripting: llama al script (proporciona las credenciales alternativas en la línea de comandos) y ejecuta una sesión cmd.exe, que primero hace un "uso de red" para asignar el control remoto compartir en una unidad local temporal, luego se ejecuta en un modo "realmente hacer cosas" y utiliza FSO, luego cuando está hecho (de vuelta en el shell cmd.exe) desconecta la unidad temporal con "uso de red" de nuevo. Esto es torpe (ventanas múltiples, unidad temporal ...) y ni siquiera estoy seguro de que funcione.
¿Alguien sabe de alguna manera, o sabe de una alternativa viable? (apegándose a VBScript/WScript en una máquina Windows 2000 - ¡no PowerShell!)
Muy útil, gracias – Zsolti
general a un lado: el otro día me encontré con otra pregunta que aborda el mismo problema con "NET USE" directamente: http://stackoverflow.com/questions/3716422/how-can-i-map-a-network-drive-without-hardcoding-a-drive-letter- como un archivo por lotes – Tao