diff options
Diffstat (limited to 'admin/WebConsole/comandos/gestores/gestor_Comandos.php')
-rw-r--r-- | admin/WebConsole/comandos/gestores/gestor_Comandos.php | 59 |
1 files changed, 45 insertions, 14 deletions
diff --git a/admin/WebConsole/comandos/gestores/gestor_Comandos.php b/admin/WebConsole/comandos/gestores/gestor_Comandos.php index b2a81b79..943fdac7 100644 --- a/admin/WebConsole/comandos/gestores/gestor_Comandos.php +++ b/admin/WebConsole/comandos/gestores/gestor_Comandos.php @@ -20,6 +20,16 @@ include_once("../../includes/RecopilaIpesMacs.php"); //________________________________________________________________________________________________________ include_once("../includes/capturaacciones.php"); //________________________________________________________________________________________________________ + +define('OG_CMD_ID_WAKEUP', 1); +define('OG_CMD_ID_POWEROFF', 2); +define('OG_CMD_ID_REBOOT', 5); +define('OG_CMD_ID_HARDWARE', 6); +define('OG_CMD_ID_SOFTWARE', 7); +define("OG_CMD_ID_SCRIPT", 8); +define('OG_CMD_ID_SESSION', 9); +define('OG_CMD_ID_SENDMESSAGE', 16); + // Recoge parametros de seguimiento $sw_ejya=""; $sw_seguimiento=""; @@ -73,7 +83,6 @@ $atributos=str_replace('$',chr(9),$atributos); <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<BODY> <SCRIPT language="javascript" src="../jscripts/comunescomandos.js"></SCRIPT> <?php echo '<SCRIPT language="javascript" src="../../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> @@ -116,9 +125,25 @@ $cmd->CreaParametro("@ordprocedimiento",0,1); $cmd->CreaParametro("@ordtarea",0,1); /* PARCHE UHU heredado de la version 1.1.0: Si la accion a realizar es Arrancar incluimos una pagina para arrancar desde el repo */ -if($funcion == "nfn=Arrancar".chr(13)) - include("wakeonlan_repo.php"); -/**/ +switch ($idcomando) { + case OG_CMD_ID_WAKEUP: + include("wakeonlan_repo.php"); + break; + case OG_CMD_ID_SESSION: + session($cadenaip, $atributos); + break; + case OG_CMD_ID_POWEROFF: + poweroff($cadenaip); + break; + case OG_CMD_ID_REBOOT: + reboot($cadenaip); + break; + case OG_CMD_ID_HARDWARE: + hardware($cadenaip); + break; + case OG_CMD_ID_SOFTWARE: + software($cadenaip); +} if($ambito==0){ // Ambito restringido a un subconjuto de ordenadores con formato (idordenador1,idordenador2,etc) $cmd->ParamSetValor("@restrambito",$idambito); @@ -174,9 +199,14 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){ $ValorParametros=extrae_parametros($parametros,chr(13),'='); $script=@urldecode($ValorParametros["scp"]); if($sw_ejya=='on'){ - // comando 16 sólo agente nuevo - if ($idcomando != 16){ - // Envio al servidor + if ($idcomando != OG_CMD_ID_SENDMESSAGE && + $idcomando != OG_CMD_ID_WAKEUP && + $idcomando != OG_CMD_ID_SESSION && + $idcomando != OG_CMD_ID_POWEROFF && + $idcomando != OG_CMD_ID_HARDWARE && + $idcomando != OG_CMD_ID_SOFTWARE && + $idcomando != OG_CMD_ID_REBOOT) { + // Envío al servidor $shidra=new SockHidra($servidorhidra,$hidraport); if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra $parametros.=$aplicacion; @@ -199,28 +229,28 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){ $resulhidra = 1; } - // Comprobamos si el comando es soportado por el nuevo ogAgent + // Comprobamos si el comando es soportado por el nuevo OGAgent $numip=0; $ogAgentNuevo = false; switch ($idcomando) { - case 2: + case OG_CMD_ID_POWEROFF: // Apagar $urlcomando = 'poweroff'; $ogAgentNuevo = true; break; - case 5: + case OG_CMD_ID_REBOOT: // Reiniciar $urlcomando = 'reboot'; $ogAgentNuevo = true; break; - case 8: + case OG_CMD_ID_SCRIPT: // Ejecutar script $urlcomando = 'script'; $ogAgentNuevo = true; $client = (isset ($_POST['modoejecucion']) && $_POST['modoejecucion'] != '' ) ? $_POST['modoejecucion'] : 'true'; $paramsPost = '{"script":"'.base64_encode($script).'","client":"'.$client.'"}'; break; - case 16: + case OG_CMD_ID_SENDMESSAGE: // Enviar mensaje $urlcomando = 'popup'; $ogAgentNuevo = true; @@ -228,7 +258,7 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){ break; } - // Se envía acción al nuevo ogAgent + // Se envía acción al nuevo ogAgent if ( $ogAgentNuevo ) { // Send REST requests to new OGAgent clients. $urls = array(); @@ -241,7 +271,6 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){ $urls[$ip]['url'] = "https://$ip:8000/opengnsys/$urlcomando"; if (isset($auxKey[$i])) $urls[$ip]['header'] = Array("Authorization: ".$auxKey[$i]); if (isset($paramsPost)) $urls[$ip]['post'] = $paramsPost; - $i++; } // Launch concurrent requests. @@ -384,6 +413,8 @@ if ($resul){ } } ?> +</HEAD> +<BODY> </BODY> </HTML> |