Reseteo programado del PC - Ejemplito para novatos

y programas personales para otros como tu, puede que te corrijan ;)
Responder
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2099
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Reseteo programado del PC - Ejemplito para novatos

Mensaje por BasicOs »

Otro ejemplito sencillo para resetear un pc cada tanto tiempo, por ejemplo porque se vaya cargando la memoria o los procesos. Hoy en día los reinicios suelen ser RÁPIDOS.
Por ejemplo un servidor que hace falta reiniciarlo cada 24 horas la espera sería de $dias=1.
Habría que colocar el programa en la carpeta INICIO, para que arrancara con el en memoria, se le pueden hacer muchas opciones como logs, indicación de los segundos que faltan para reiniciarse con un aviso, etc..
Versión básica de ejemplo para aprender:

Código: Seleccionar todo

;Autor BasicOs www.autoit.es
HotKeySet("!{F8}", "Salir") ;Pulsando alt f8  llamo a una función
;Definiendo variables:
$tipodeCierre=16+2+4 ; Reinicio + Forzando todo.  Función Shutdown(valor numerico) es una combinacion de estos valores:
;0 = Logoff
;1 = Shutdown
;2 = Reboot
;4 = Force
;8 = Power down
;16= Force if hung
;32= Standby
;64= Hibernate
$dias=1
$horas = 0
$minutos = 0
$segundos = 0
; EL PROGRAMA: calculando los segundos
$totalsegundos = $dias*3600*24+$horas * 3600 + $minutos * 60 + $segundos
While 1
	Sleep(1000 * ($totalsegundos-20))
          TrayTip("Reseteo programado", "Faltan 10 segundos para resetear, haga click en este icono para cancelar ", 5, 1)
         Sleep(10000)
	Shutdown($tipodecierre) ; función de apagado, reseteo etc..
WEnd
Exit
;función
Func Salir()
	Exit
EndFunc  
Salu22:)
Edit:
Versión COMPLETA
Programador de acciones:
Puede arrancar de ficheros de música y de cualquier tipo programado, reseteo del pc, mensaje, copia de seguridad
Ahora fichero INI que se crea automáticamente con los siguientes parámetros modificables:
reseteaPC.ini
[parametros]
$tipodeAccion=ARRANCA (elige acción a realizar)
$arranca=Train Words.mp3 (solo para acción arranca abrir el fichero que se especifique)
$repetir=SI (Se repite indefinidamente el ciclo)
Ayudaotrasopciones=MENSAJE RESET BACKUPDROPBOX (Ayuda en el INI)
$timeOutParaEmpezar=5 (5 segundos previos a iniciar la cuenta hacia atrás)
AyudaAntesdeEmpezar=5 segundos de espera previa
AyudaPeriododelCiclo=Ejemplo Periodo de 1dia 0 horas 0 minutos
$dias=0
$horas=0
$minutos=2
$segundos=0

Código: Seleccionar todo

;Autor BasicOs www.autoit.es
HotKeySet("!{F8}", "Salir") ;Pulsando alt f8  llamo a una función
If Not FileExists("reseteaPC.ini") Then
	IniWrite("reseteaPC.ini", "parametros", "$tipodeAccion", "MENSAJE")
	IniWrite("reseteaPC.ini", "parametros", "Ayudaotrasopciones", "Cambiar MENSAJE a RESET BACKUPDROPBOX ARRANCA con NO.mp3")
	IniWrite("reseteaPC.ini", "parametros", "$arranca", "NO.mp3")
	IniWrite("reseteaPC.ini", "parametros", "$repetir", "SI")

	IniWrite("reseteaPC.ini", "parametros", "$timeOutParaEmpezar", "5")
	IniWrite("reseteaPC.ini", "parametros", "AyudaAntesdeEmpezar", "5 segundos de espera previa")
	IniWrite("reseteaPC.ini", "parametros", "AyudaPeriododelCiclo", "Ejemplo Periodo de 1dia 0 horas 0 minutos")
	IniWrite("reseteaPC.ini", "parametros", "$dias", "1")
	IniWrite("reseteaPC.ini", "parametros", "$horas", "0")
	IniWrite("reseteaPC.ini", "parametros", "$minutos", "0")
	IniWrite("reseteaPC.ini", "parametros", "$segundos", "0")
	Sleep(100)
	ShellExecute("reseteaPC.ini")
	ShellExecute(@ScriptDir)
	MsgBox(0, "Parámetros ReseteaPC", "Creación de parámetros, por favor revise fichero, y vuelva a arrancar el programa")
	Exit ;sale del programa para revisar

EndIf

$tipodeAccion = IniRead("reseteaPC.ini", "parametros", "$tipodeAccion", "RESET") ; "BACKUPDROPBOX" ; otros "MENSAJE" "RESET"
$arranca = IniRead("reseteaPC.ini", "parametros", "$arranca", "NO.mp3")
;Definiendo variables:
$tipodeCierre = 16 + 2 + 4 ; Reinicio + Forzando todo.  Función Shutdown(valor numerico) es una combinacion de estos valores:
;0 = Logoff
;1 = Shutdown
;2 = Reboot
;4 = Force
;8 = Power down
;16= Force if hung
;32= Standby
;64= Hibernate
$timeOutParaEmpezar = Number(IniRead("reseteaPC.ini", "parametros", "$tipodeAccion", "5")) ; espera antes de arrancar el cronometro
;cronometro
$repetir = IniRead("reseteaPC.ini", "parametros", "$repetir", "SI")
$dias = Number(IniRead("reseteaPC.ini", "parametros", "$dias", "1"))
$horas = Number(IniRead("reseteaPC.ini", "parametros", "$horas", "0"))
$minutos = Number(IniRead("reseteaPC.ini", "parametros", "$minutos", "0"))
$segundos = Number(IniRead("reseteaPC.ini", "parametros", "$segundos", "0"))
; EL PROGRAMA: calculando los segundos
$totalsegundos = $dias * 3600 * 24 + $horas * 3600 + $minutos * 60 + $segundos
$stringSegundos = ""
If $dias > 0 Then ; puede usar _iif()
	$stringSegundos = $dias & " dias, "
EndIf
$stringSegundos = $stringSegundos & $horas & " hora, " & $minutos & " min y " & $segundos & " sec "
;PROGRAMA
Sleep($timeOutParaEmpezar)
While 1
	TrayTip($tipodeAccion & " programado", " Tiempo: " & $stringSegundos & " para " & $tipodeAccion & ", haga click en este icono para cancelar ", 5, 1)
	Sleep(1000 * ($totalsegundos - 20))
	For $i = 20 To 1 Step -1 ; 20 segundos van mostrandose
		TrayTip($tipodeAccion & " programado", "Faltan " & $i & " segundos para " & $tipodeAccion & ", haga click en este icono para cancelar ", 5, 1)
		Sleep(1000)
	Next
	Select
		Case $tipodeAccion = "ARRANCA"
			If $arranca = "NO.mp3" Then
				MsgBox(0, "Definición de archivo a arrancar", "No se ha definido archivo a arrancar")
			Else
				ShellExecute($arranca)
			EndIf
		Case $tipodeAccion = "BACKUPDROPBOX" ; hay que tener zipgenius instalado en este caso
			Run(@ComSpec & " /c " & 'zg -backup D:\mydropbox1 "D:\My Dropbox"', "", @SW_SHOW)
		Case $tipodeAccion = "RESET"
			Shutdown($tipodeCierre) ; función de apagado, reseteo etc..
		Case $tipodeAccion = "MENSAJE"
			MsgBox(0, $totalsegundos, $tipodeCierre & " y no olvidar hacer pendiente", "")
		Case Else
			MsgBox(0, "", "No se ha definido la acción!")
	EndSelect
	If $repetir = "NO" Then Exit
WEnd
Exit

;función
Func Salir()
	Exit
EndFunc   ;==>Salir
Adjuntos
ReseteaPC.zip
Fuentes ejecutable e Ini para una canción a los 2 minutos
(369.38 KiB) Descargado 354 veces
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2099
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Reseteo programado del PC - Ejemplito para novatos

Mensaje por BasicOs »

Actualizado:
Este es un programita que me hice para resetear un servidor que se saturaba en RAM, con los procesos, por un programa no del todo optimizado pero que está bien elTeboCam
Ahora añadiendo más opciones,
puede elegir la acción que se hace desde la variable tipo de acción, acciones RESET y MENSAJE.

Código: Seleccionar todo

;Autor BasicOs www.autoit.es
$tipodeAccion = "RESET" ; "BACKUPDROPBOX" ; otros "MENSAJE" "RESET"
;
;
;
HotKeySet("!{F8}", "Salir") ;Pulsando alt f8  llamo a una función
;Definiendo variables:
$tipodeCierre = 16 + 2 + 4 ; Reinicio + Forzando todo.  Función Shutdown(valor numerico) es una combinacion de estos valores:
;0 = Logoff
;1 = Shutdown
;2 = Reboot
;4 = Force
;8 = Power down
;16= Force if hung
;32= Standby
;64= Hibernate
$timeOutParaEmpezar = 5 ; espera antes de arrancar el cronometro
;cronometro
$dias = 1
$horas = 0
$minutos = 0
$segundos = 0
; EL PROGRAMA: calculando los segundos
$totalsegundos = $dias * 3600 * 24 + $horas * 3600 + $minutos * 60 + $segundos
$stringSegundos = ""
If $dias > 0 Then ; puede usar _iif()
	$stringSegundos = $dias & " dias, "
EndIf
$stringSegundos = $stringSegundos & $horas & "horas:" & $minutos & "minutos:" & $segundos & " Segundos"
;PROGRAMA
Sleep($timeOutParaEmpezar)
While 1
	TrayTip($tipodeAccion&" programado", "Faltan " & $stringSegundos & " para " & $tipodeAccion & ", haga click en este icono para cancelar ", 5, 1)
	Sleep(1000 * ($totalsegundos - 20))
	For $i = 20 To 1 Step -1 ; 20 segundos van mostrandose
		TrayTip($tipodeAccion & " programado", "Faltan " & $i & " segundos para " & $tipodeAccion & ", haga click en este icono para cancelar ", 5, 1)
		Sleep(1000)
	Next
	Select
                Case $tipodeAccion = "BACKUPDROPBOX" ; hay que tener zipgenius instalado en este caso
                    run (@ComSpec & " /c " & 'zg -backup D:\mydropbox1 "D:\My Dropbox"', "", @SW_SHOW)
		Case $tipodeAccion = "RESET"
			Shutdown($tipodeCierre) ; función de apagado, reseteo etc..
		Case $tipodeAccion = "MENSAJE"
			MsgBox(0, $totalsegundos, $tipodeCierre & " y no olvidar hacer pendiente", "")
		Case Else
			MsgBox(0, "", "No se ha definido la acción!")
	EndSelect

WEnd
Exit

;función
Func Salir()
	Exit
EndFunc   ;==>Salir
Salu22:)
Actual uso de compresor en autoit (Zipgenius):
Ejemplo:
zg -backup "c:\Test\mybackup.zip" "C:\My Folder\"
"C:\My Folder" backup will be saved as "c:\Test\mybackup.zip". All filess will be included and no compression will be applied.
Fuente: http://zipgenius.altervista.org/zg6/eng_zghlp/index.htm

Actualización añadido linea para hacer backup en vez del reseteo:

Código: Seleccionar todo

$tipodeAccion = "RESET" ; "BACKUPDROPBOX" ; otros "MENSAJE" "RESET"
Case $tipodeAccion = "BACKUPDROPBOX" ; hay que tener zipgenius instalado en este caso
     run (@ComSpec & " /c " & 'zg -backup D:\mydropbox1 "D:\My Dropbox"', "", @SW_SHOW)
Avatar de Usuario
Esgrimidor
Hacker del Foro
Mensajes: 286
Registrado: 19 Oct 2008, 00:59
Ubicación: Santa Cruz de Tenerife
Contactar:

Re: Reseteo programado del PC - Ejemplito para novatos

Mensaje por Esgrimidor »

Le echo un vistazo y comento.
Muy interesante.
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2099
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Reseteo programado del PC - Ejemplito para novatos

Mensaje por BasicOs »

Editado primer post con versión completa de nuevo programa de reseto programado con fichero ini para opciones personalizadas.
Ahora arranca un canción cada tiempo programado ciclicamente o no, ($repetir=NO)

Incluye ZIP con fuentes, ini y ejecutable,
Salu22:)
Avatar de Usuario
Esgrimidor
Hacker del Foro
Mensajes: 286
Registrado: 19 Oct 2008, 00:59
Ubicación: Santa Cruz de Tenerife
Contactar:

Re: Reseteo programado del PC - Ejemplito para novatos

Mensaje por Esgrimidor »

Bajando que es gerundio

Ya se terminaron los carnavales por las Palmas ?
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2099
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Reseteo programado del PC - Ejemplito para novatos

Mensaje por BasicOs »

El código fuente del tebocam esta disponible aqui

Por si alguien desea incorporarlo dentro de un script de autoit para sistemas de vigilancia.
Está en C# . ~31,000 lineas de código.
Imagen
Control remoto por aquí:
http://www.emesn.com/autoitforum/viewto ... ine#p13579
Salu22):)
Responder