viernes, 30 de noviembre de 2012

Ejemplo Script Inicio de Sesión: Asegurando ntldr y ntdetect.com

Este es un script sencillo que podríamos colocar como script de inicio de sesión para un administrador de un sistema Windows Server 2003. Se trata de un archivo Batch que realiza una copia de respaldo de un par de archivos vitales para que Windows Server 2003 pueda arrancar después de un fallo del tipo "Error, falta archivo ntldr". En concreto se respaldan los archivos ntldr y ntdetect.com (aunque existen algunos más, que son vitales y que podríamos incluir en esta copia).

De este modo, si perdiéramos alguno de estos ficheros por un borrado accidental, algún software malintencionado o un deterioro de los mismos, no sería necesario (a priori) recuperar la máquina Windows Server 2003 a través de la utilización de un LiveCD de Linux. Sólo con entrar con la consola del DOS al sistema, bastaría con volver a copiar a la raíz del disco que contenía el sistema operativo, los archivos que se encontraran en la carpeta de seguridad creada por este script.

Es un script muy básico y totalmente mejorable, pero como ejercicio de clase para repaso de comandos y estructuras de control de archivos Batch, ha sido muy útil. 

@ECHO OFF
REM Este archivo por lotes inserta anotaciones en un log. Primero creamos la carpeta SEGURIDAD directamente REM en la unidad C, aunque si existe no la creará y si no existe si lo hará.

REM Además se respaldan dos archivos del sistema
REM ntldr y ntdetect.com, guardándolos en la misma carpeta SEGURIDAD.



:INICIO
IF NOT EXIST c:\SEGURIDAD GOTO NOEXISTE
IF EXIST c:\SEGURIDAD GOTO SIEXISTE

:NOEXISTE
ECHO La carpetaSEGURIDAD no existe, creándola...
MKDIR C:\SEGURIDAD
IF ERRORLEVEL 1 GOTO ERROR1
GOTO SIEXISTE

:SIEXISTE
IF EXIST C:\SEGURIDAD\LOG.txt GOTO SIARCH
IF NOT EXIST C:\SEGURIDAD\LOG.txt GOTO NOARCH

:COPIAR

REM Antes de hacer la copia hay que desproteger ambos archivos
ATTRIB -H -S -R C:\NTLDR
ATTRIB -H -S -R C:\NTDETECT.COM
 

COPY C:\NTLDR C:\SEGURIDAD /Y
COPY C:\NTDETECT.COM C:\SEGURIDAD /Y
 

REM  Una vez copiados hay que volver a protegerlos!!
ATTRIB +H +S +R C:\NTLDR
ATTRIB +H +S +R C:\NTDETECT.COM
GOTO MOSTRAR

:SIARCH
ECHO %date% - %time% - Archivos vitales respaldados >> c:\SEGURIDAD\LOG.txt
GOTO COPIAR

:NOARCH
ECHO ARCHIVO LOG DE ANOTACIONES > c:\SEGURIDAD\LOG.txt
IF ERRORLEVEL 0 ECHO Ok, Archivo LOG.txt creado.
IF ERRORLEVEL 1 GOTO ERROR2
ECHO ************************** >> c:\SEGURIDAD\LOG.txt
ECHO %date% - %time% - Archivos vitales respaldados >> c:\SEGURIDAD\LOG.txt
GOTO COPIAR


:MOSTRAR
ECHO Mostrando el archivo LOG.txt
TYPE c:\SEGURIDAD\LOG.txt
ECHO ****************************
DIR C:\SEGURIDAD
PAUSE
GOTO FIN

:ERROR1
ECHO Error al crear la carpeta SEGURIDAD.
GOTO FIN

:ERROR2
ECHO Error al crear el archivo LOG.txt

:FIN
ECHO Fin del programa.
PAUSE > NUL
EXIT 0

No hay comentarios: