script.get

Descripción

integer/array script.get(object parameters)

El método permite recuperar scripts según los parámetros dados.

Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método se puede revocar en la configuración de roles de usuario. Ver Roles de usuario para obtener más información.

Parámetros

(objeto) Parámetros que definen la salida deseada.

El método admite los siguientes parámetros.

Parámetro Tipo Descripción
groupids cadena/matriz Devuelve sólo scripts que se pueden ejecutar en los grupos de equipos dados.
hostids string/array Devuelve sólo scripts que se pueden ejecutar en los equipos dados.
scriptids cadena/matriz Devuelve solo scripts con los ID proporcionados.
usrgrpids string/array Devuelve sólo scripts que pueden ser ejecutados por usuarios en los grupos de usuarios dados.
selectHostGroups query Devuelve una propiedad hostgroups con grupos de hosts en los que se puede ejecutar el script.
selectHosts query Devuelve una propiedad hosts con equipos en los que se puede ejecutar el script.
selectActions query Devuelve una propiedad acciones con acciones a las que está asociado el script.
sortfield string/array Ordena el resultado según las propiedades dadas.

Valores posibles: scriptid, name.
countOutput booleano Estos parámetros, que son comunes para todos los métodos get, se describen en detalle en el comentario de referencia.
editable booleano
excludeSearch booleano
filter objeto
limit entero
output consulta
preservekeys booleano
search objeto
searchByAny booleano
searchWildcardsEnabled booleano
sortorder cadena/matriz
startSearch booleano
selectGroups
(obsoleto)
query Este parámetro está obsoleto; utilice selectHostGroups en su lugar.
Devuelve una propiedad groups con los grupos de equipos en los que el script se puede ejecutar.

Valores de retorno

(entero/matriz) Devuelve:

  • una matriz de objetos;
  • el recuento de objetos recuperados, si el parámetro countOutput ha sido usado.

Ejemplos

Recuperar todos los scripts

Recupere todos los scripts configurados.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "script.get",
           "params": {
               "output": "extend"
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "scriptid": "1",
                   "name": "Ping",
                   "command": "/bin/ping -c 3 {HOST.CONN} 2>&1",
                   "host_access": "2",
                   "usrgrpid": "0",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "0",
                   "execute_on": "1",
                   "timeout": "30s",
                   "scope": "2",
                   "port": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "menu_path": "",
                   "url": "",
                   "new_window": "1",
                   "parameters": []
               },
               {
                   "scriptid": "2",
                   "name": "Traceroute",
                   "command": "/usr/bin/traceroute {HOST.CONN} 2>&1",
                   "host_access": "2",
                   "usrgrpid": "0",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "0",
                   "execute_on": "1",
                   "timeout": "30s",
                   "scope": "2",
                   "port": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "menu_path": "",
                   "url": "",
                   "new_window": "1",
                   "parameters": []
               },
               {
                   "scriptid": "3",
                   "name": "Detect operating system",
                   "command": "sudo /usr/bin/nmap -O {HOST.CONN} 2>&1",
                   "host_access": "2",
                   "usrgrpid": "7",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "0",
                   "execute_on": "1",
                   "timeout": "30s",
                   "scope": "2",
                   "port": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "menu_path": "",
                   "url": "",
                   "new_window": "1",
                   "parameters": []
               },
               {
                   "scriptid": "4",
                   "name": "Webhook",
                   "command": "try {\n var request = new HttpRequest(),\n response,\n data;\n\n request.addHeader('Content-Type: application/json');\n\n response = request.post('https://localhost/post', value);\n\n try {\n response = JSON.parse(response);\n }\n catch (error) {\n response = null;\n }\n\n if (request.getStatus() !== 200 || !('data' in response)) {\n throw 'Unexpected response.';\n }\n\n data = JSON.stringify(response.data);\n\n Zabbix.log(3, '[Webhook Script] response data: ' + data);\n\n return data;\n}\ncatch (error) {\n Zabbix.log(3, '[Webhook Script] script execution failed: ' + error);\n throw 'Execution failed: ' + error + '.';\n}",
                   "host_access": "2",
                   "usrgrpid": "7",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "5",
                   "execute_on": "1",
                   "timeout": "30s",
                   "scope": "2",
                   "port": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "menu_path": "",
                   "url": "",
                   "new_window": "1",
                   "parameters": [
                       {
                           "name": "token",
                           "value": "{$WEBHOOK.TOKEN}"
                       },
                       {
                           "name": "host",
                           "value": "{HOST.HOST}"
                       },
                       {
                           "name": "v",
                           "value": "2.2"
                       }
                   ]
               },
               {
                   "scriptid": "5",
                   "name": "URL",
                   "command": "",
                   "host_access": "2",
                   "usrgrpid": "0",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "Go to {HOST.NAME}?",
                   "type": "6",
                   "execute_on": "1",
                   "timeout": "30s",
                   "scope": "4",
                   "port": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "menu_path": "",
                   "url": "http://zabbix/ui/zabbix.php?action=latest.view&hostids[]={HOST.ID}",
                   "new_window": "0",
                   "parameters": []
               }
           ],
           "id": 1
       }

Ver también

Fuente

CScript::get() en ui/include/classes/api/services/CScript.php.