ayuda con script

13/12/2005 - 14:06 por hmzgz | Informe spam
Saludos al grupo

Necesito que cuando un equipo se lo logea en un controlador de dominio
se le mapeen una o varias unidades de red y se copien unos archivos a este
controlador.

Hasta ahora lo mapeaba con un bat utilizando el comando net use. Había
pensado
copias los archivos con xcopy. Pero al ser una carpeta que esta dentro del
perfil local
no me la encuentra.

He recopilado dos sript. Uno para mapear las unidades de red ..


Option Explicit
Dim oNet, sUser, startTime


On Error Resume Next


' Objeto Red
Set oNet = CreateObject("WScript.Network")


' Obtenemos el login de usuario. En Windows 9x, el usuario puede no estar
todavía autentificado
' cuando el script comienza a ejecutarse; Es ese caso reitera cada 1/2
segundo.
sUser = oNet.UserName 'En minúsculas


startTime = Now
Do While sUser = ""
If DateDiff("s", startTime, Now) > 600 Then Wscript.Quit
Wscript.Sleep 500
sUser = oNet.UserName
Loop


' Eliminación de mapeados residentes en el PC. Necesario para poder
modificar asignaciones en NT o 2000


'oNet.RemoveNetworkDrive "Z:"
'oNet.RemoveNetworkDrive "Y:"


' Mapeado de la unidad Z e Y común a todos los usuarios
oNet.MapNetworkDrive "Z:", \\SERVIDORecurso1
oNet.MapNetworkDrive "Y:", \\SERVIDORecurso2

' Mapeado de la unidad U particular de cada usuario
'oNet.MapNetworkDrive "u:", "\\serv_a\" & sUser & "$"

Y otro para hacer la copia de archivos

' copia de archivos de correo a unidad de red
Const OverWriteFiles = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder "C:\Documents and Settings\user\Configuración 'local\Datos
de programa\Microsoft\Outlook" , "Z:\correo" , OverWriteFiles

La cuestion es q por separado funcionan pero cuando los pongo en el mismo me
crea las unidades pero no copia.

Muchas gracias
 

Leer las respuestas

#1 Juansa [MS MVP]
13/12/2005 - 18:10 | Informe spam
Prueba así:

comienza
Option Explicit
Dim oNet, sUser, startTime, rutaUser, FSO
On Error Resume Next
' Objeto Red
Set oNet = CreateObject("WScript.Network")
' Obtenemos el login de usuario. En Windows 9x, el usuario puede no estar todavía autentificado
' cuando el script comienza a ejecutarse; Es ese caso reitera cada 1/2 segundo.
sUser = oNet.UserName 'En minúsculas
startTime = Now
Do While sUser = ""
If DateDiff("s", startTime, Now) > 600 Then Wscript.Quit
Wscript.Sleep 500
sUser = oNet.UserName
Loop
'Eliminación de mapeados residentes en el PC. Necesario para poder modificar asignaciones en NT o 2000
oNet.RemoveNetworkDrive "Z:"
oNet.RemoveNetworkDrive "Y:"
' Mapeado de la unidad Z e Y común a todos los usuarios
oNet.MapNetworkDrive "Z:", \\SERVIDORecurso1
oNet.MapNetworkDrive "Y:", \\SERVIDORecurso2
' Mapeado de la unidad U particular de cada usuario
oNet.MapNetworkDrive "u:", "\\serv_a\" & sUser & "$"
' copia de archivos de correo a unidad de red
Const OverWriteFiles = True
rutaUser = "C:\Documents and Settings\" & Suser & "\Configuración local\Datos de programa\Microsoft\Outlook"
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder rutaUser, "Z:\correo", OverWriteFiles

-finaliza

Espero serte de ayuda.
Salu2!
You'll never walk alone!

Juansa
MS MVP Windows Server Networking
[Spain]
http://www.msmvps.com/juansa/
http://spaces.msn.com/members/jsllopis/
http://www.juansa.net
"La vida es fascinante: sólo hay que mirarla a través de las gafas
correctas".
Alejandro Dumas (1803-1870); escritor francés

"Aprender sin pensar es inútil. Pensar sin aprender, peligroso".
"Learning without thought is labor lost; thought without learning is
perilous."
Confucio (551-479 a. C.); filósofo chino.

"Un error no se convierte en verdad por el hecho de que todo el mundo
crea en él, tampoco una verdad puede transformarse en error cuando nadie se
adhiere a
ella".
Mahatma Gandhi (1869-1948); político y pensador indio.
"hmzgz" escribió en el mensaje news:u03cZY%23$
Saludos al grupo

Necesito que cuando un equipo se lo logea en un controlador de dominio
se le mapeen una o varias unidades de red y se copien unos archivos a este
controlador.

Hasta ahora lo mapeaba con un bat utilizando el comando net use. Había
pensado
copias los archivos con xcopy. Pero al ser una carpeta que esta dentro del
perfil local
no me la encuentra.

He recopilado dos sript. Uno para mapear las unidades de red ..


Option Explicit
Dim oNet, sUser, startTime


On Error Resume Next


' Objeto Red
Set oNet = CreateObject("WScript.Network")


' Obtenemos el login de usuario. En Windows 9x, el usuario puede no estar
todavía autentificado
' cuando el script comienza a ejecutarse; Es ese caso reitera cada 1/2
segundo.
sUser = oNet.UserName 'En minúsculas


startTime = Now
Do While sUser = ""
If DateDiff("s", startTime, Now) > 600 Then Wscript.Quit
Wscript.Sleep 500
sUser = oNet.UserName
Loop


' Eliminación de mapeados residentes en el PC. Necesario para poder
modificar asignaciones en NT o 2000


'oNet.RemoveNetworkDrive "Z:"
'oNet.RemoveNetworkDrive "Y:"


' Mapeado de la unidad Z e Y común a todos los usuarios
oNet.MapNetworkDrive "Z:", \\SERVIDORecurso1
oNet.MapNetworkDrive "Y:", \\SERVIDORecurso2

' Mapeado de la unidad U particular de cada usuario
'oNet.MapNetworkDrive "u:", "\\serv_a\" & sUser & "$"

Y otro para hacer la copia de archivos

' copia de archivos de correo a unidad de red
Const OverWriteFiles = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder "C:\Documents and Settings\user\Configuración 'local\Datos
de programa\Microsoft\Outlook" , "Z:\correo" , OverWriteFiles

La cuestion es q por separado funcionan pero cuando los pongo en el mismo me
crea las unidades pero no copia.

Muchas gracias


Preguntas similares