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.