Quizás quieras hacer un script para que haga la tarea de copiar una serie de ficheros a un determinado sitio. A continuación pongo un ejemplo de un script que le he hecho a un amigo y que es bastante simple y efectivo.

En su caso tiene una pequeña empresa con ordenadores con correos electrónicos pero la empresa no es lo suficientemente grande como para emplear dinero en un servidor de correo pero si, necesitan backup del correo para no perder la información.

En el caso de Outlook Express la información se almacena en un archivo con extensión “pst”. En el ejemplo siguiente se hace copia de seguridad de ese fichero a una unidad “G:” que es una unidad compartida en un servidor y conectada al pc del usuario.

Por supuesto este script es completamente a vuestra disposición, es cuestión de retocar algunas cosas y adaptarla a tu entorno.

En primer lugar aquí está el código y, a continuación, voy a explicarlo:
[vb]
Set shell= WScript.CreateObject(“WScript.Shell”)
strUserName = shell.ExpandEnvironmentStrings(“%USERNAME%”)
Dim fso
set fso = CreateObject(“Scripting.FileSystemObject”)
lnDayOfWeek = weekday(now())
if lnDayOfWeek = 5 then
If fso.DriveExists(“G:”) Then
Dim lcDrive
Set lcDrive = fso.GetDrive(“G:”)
If lcDrive.IsReady Then
newfolderpath = “\\servername\users\” & strUserName & “\EmailBackup”
If Not fso.FolderExists(newfolderpath) Then
Set newfolder = fso.CreateFolder(newfolderpath)
End If
Dim file
file = “C:\Documents and Settings\” & strUserName & “\Local Settings\Application Data\Microsoft\Outlook\Outlook.pst”
If fso.FileExists(file) Then
fso.CopyFile “C:\Documents and Settings\” & strUserName & “\Local Settings\Application Data\Microsoft\Outlook\Outlook.pst”, “\\servername\users\” & strUserName & “\EmailBackup\Outlook.pst”
set fso = nothing
wscript.echo “¡Se ha completado tu backup del email!”
end if
end if
end if
end if
[/vb]

Básicamente, se inicia la creación de un objeto FileSystem que se encargará de copiar el archivo en el servidor. A continuación, hago un control para ver qué día de la semana es, lo hago solo los viernes ( por eso el 5), a fin de que el script se ejecute sólo una vez por semana.

También hay una comprobación para asegurarse de que la unidad G: está disponible (la unidad de red donde voy a copiar de los datos) antes de iniciar a la copia del fichero.

Entonces compruebo si existe la carpeta donde voy a copiar y si no, la creo. También compruebo que el archivo existe en el pc del usuario y si es así lo copio a la carpeta del usuario en la red. Yo uso el método shell.ExpandEnvironmentStrings ( “% USERNAME%”) para obtener el nombre del usuario actual.

Este script se puede aplicar como un script de inicio de sesión, utilizarse en una política de grupo o de cierre de sesión en Windows.


Vota este artículo:
1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (No Ratings Yet)
Loading ... Loading ...

Posts anterior y posterior: