REM Sincronización de la hora de la máquina: @echo off cls REM REM Fichero sugerido, entre otras, por las siguientes direcciones: REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM http://guimi.net/descarga/tec-docs/pdc/default.bat.txt REM http://www.itq.edu.mx/vidatec/espacio/aisc/windowsnt/ComandosNET.htm REM http://www.microsoft.com/technet/prodtechnol/windowsserver2003/es/library/ServerHelp/dd619380-bb33-4d3a-b0b5-29c620600035.mspx?pf=true REM http://www.elhacker.net/ProgramacionBat.htm echo Parametrizamos el script REM ~~~~~~~~~~~~~~~~~~~~~~~~ SET SETPAUSE=0 SET DEBUG=0 SET GETDATE=1 SET GETLOGON=0 SET NET_CONNECT=1 SET SERVICES_START=0 SET SET_VARS=1 SET GETFTP=0 echo Cargamos los datos de servicio REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SET NTPSERVER=192.168.1.1 SET APPSERVER=192.168.1.1 SET USERNAME=%USERNAME% SET LOGONSERVER=%LOGONSERVER% SET USERDOMAIN=%USERDOMAIN% REM PAUSE echo Se realizan los saltos condicionales REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :BEGIN IF %DEBUG%==1 echo -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- IF NOT %DEBUG%==0 GOTO EXECUTE_DEBUG IF NOT %GETDATE%==0 GOTO EXECUTE_GETDATE IF NOT %GETLOGON%==0 GOTO EXECUTE_GETLOGON IF NOT %NET_CONNECT%==0 GOTO EXECUTE_NET_CONNECT IF NOT %SERVICES_START%==0 GOTO EXECUTE_SERVICES_START IF NOT %SET_VARS%==0 GOTO EXECUTE_SET_VARS IF NOT %GETFTP%==0 GOTO EXECUTE_GETFTP IF NOT %OS%==Windows_NT GOTO EXECUTE_NO_XP IF %SETPAUSE%==1 PAUSE REM ------------------------------------------------------------------------- IF %DEBUG%==1 echo Finalizamos el script NetLogn REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IF %SETPAUSE%==1 PAUSE REM Nos movemos al directorio de documentos del usuario cd %USERPROFILE%\Mis Documentos REM Mandamos un aviso al dominio como que hemos entrado en él. net send * "%USERNAME% acaba de iniciar sesión." IF %DEBUG%==1 echo. IF %DEBUG%==1 echo. IF %DEBUG%==1 echo -------- Conexion realizada -------- IF %DEBUG%==1 echo. IF %DEBUG%==1 echo. IF NOT %ERRORLEVEL%==0 GOTO ERROR IF %SETPAUSE%==1 PAUSE EXIT REM ------------------------------------------------------------------------- :EXECUTE_DEBUG IF %DEBUG%==1 echo Sacamos el valor de varias variables, para depuración REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IF %DEBUG%==1 echo %NTPSERVER% NTPSERVER IF %DEBUG%==1 echo %USERNAME% USERNAME IF %DEBUG%==1 echo %LOGONSERVER% LOGONSERVER IF %DEBUG%==1 echo %USERDOMAIN% USERDOMAIN IF %DEBUG%==1 echo %NTPSERVER% NTPSERVER IF %DEBUG%==1 echo %APPSERVER% APPSERVER IF %DEBUG%==1 echo %SYSTEMDRIVE% SYSTEMDRIVE IF %DEBUG%==1 echo %USERPROFILE% USERPROFILE IF %SETPAUSE%==1 PAUSE SET DEBUG=0 GOTO BEGIN :EXECUTE_GETDATE IF %DEBUG%==1 echo Sincronización Horaria REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM La sincronización horaria, en según qué sistemas, depende de los REM permisos del usuario que pretende acceder al sistema. REM REM echo %DATE% NET TIME \\%NTPSERVER% /SET /YES REM echo %DATE% IF %SETPAUSE%==1 PAUSE SET GETDATE=0 GOTO BEGIN :EXECUTE_GETLOGON IF %DEBUG%==1 echo Hacemos login en el dominio REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM net logon %DOMINIO%\%USUARIO% REM net logon %USUARIO% /domain:%DOMINIO% REM net logon %USUARIO% ? /domain:%DOMINIO% IF %SETPAUSE%==1 PAUSE SET GETLOGON=0 GOTO BEGIN :EXECUTE_NET_CONNECT IF %DEBUG%==1 echo Conectamos las unidades de Red REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NET USE H: \\%APPSERVER%\Aplicaciones /PERSISTENT:NO /YES NET USE I: \\%APPSERVER%\BOT /PERSISTENT:NO /YES NET USE J: \\%APPSERVER%\CIM /PERSISTENT:NO /YES NET USE K: \\%APPSERVER%\Facturacion /PERSISTENT:NO /YES REM NET USE L: \\%APPSERVER%\Ftp /PERSISTENT:NO /YES REM PIDE USUARIO y CONTRASEÑA NET USE M: \\%APPSERVER%\Legal /PERSISTENT:NO /YES NET USE N: \\%APPSERVER%\MDB32 /PERSISTENT:NO /YES NET USE O: \\%APPSERVER%\Musica /PERSISTENT:NO /YES NET USE P: \\%APPSERVER%\scanner /PERSISTENT:NO /YES NET USE Q: \\%APPSERVER%\Secretaria /PERSISTENT:NO /YES NET USE R: \\%APPSERVER%\SecretariaTecnica /PERSISTENT:NO /YES NET USE S: \\%APPSERVER%\Tesoreria /PERSISTENT:NO /YES IF %SETPAUSE%==1 PAUSE SET NET_CONNECT=0 GOTO BEGIN :EXECUTE_SERVICES_START IF %DEBUG%==1 echo Arrancamos varios servicios en cada máquina REM (Revisar la sintaxis y los permisos) REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM Net Start Alerta REM Net Start "Servicio Mensajería interna" REM Net Start Servidor REM Net Start Snmp REM Net Start Spooler IF %SETPAUSE%==1 PAUSE SET SERVICES_START=0 GOTO BEGIN :EXECUTE_SET_VARS IF %DEBUG%==1 echo Modificamos las variables de entorno del usuario REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SET PATH=G:\;H:\;I:\;J:\;K:\;L:\;M:\;N:\;O:\;P:\;Q:\;R:\;S:\;%PATH% SET PATH=%SYSTEMDRIVE%\PYTHON25;%PATH% SET PATHEXT=.py;.pyw;%PATHEXT% SET HOMEDRIVE=%SYSTEMDRIVE% REM %HOMEDRIVE%=%SYSTEMDRIVE% IF %SETPAUSE%==1 PAUSE SET SET_VARS=0 GOTO BEGIN :EXECUTE_GETFTP IF %DEBUG%==1 echo Inicia sesion en el servidor FTP REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a NET USE Y: \\%APPSERVER%\Netlogon /PERSISTENT:NO /YES Y: REM echo -------- INICIAMOS EL FTP ---------- ftp -s:accesoFTP.sh %APPSERVER% REM REM ## Un ejemplo de fichero accesoFTP.sh sería: REM (Lo pongo, como solo lectura, en la unidad netlogon) REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM anonymous REM hola@soy.yo REM lcd Z:\ REM binary REM prompt REM cd GIC REM mget setup.exe REM quit REM Z: NET USE /DELETE Y: /YES REM echo Listamos el directorio actual REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM DIR IF %DEBUG%==1 echo Copiamos el fichero a su lugar de destino REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ copy Z:\setup.exe "%APPDATA%" /Y IF %DEBUG%==1 echo Ejecutamos y borramos el programa descargado REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cd %APPDATA% "%APPDATA%\setup.exe" REM START /MIN "%APPDATA%\setup.exe" DEL "%APPDATA%\setup.exe" /Q IF %SETPAUSE%==1 PAUSE SET GETFTP=0 GOTO BEGIN :EXECUTE_NO_XP IF %DEBUG%==1 echo CUIDADO, este cliente no es compatible... REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IF %SETPAUSE%==1 PAUSE REM SET NO_XP=0 REM GOTO BEGIN :ERROR IF %DEBUG%==1 echo Ha habido algún problema durante IF %DEBUG%==1 echo la carga del sistema. IF %DEBUG%==1 echo Comenteselo a su Administrador.