integer/array script.get(object parameters)
La méthode permet de récupérer des scripts en fonction des paramètres donnés.
Cette méthode est disponible à tous les types d'utilisateurs. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres du le rôle d'utilisateur. Voir Rôles Utilisateur pour plus d'informations.
(objet)
Paramètres définissant la sortie souhaitée.
La méthode prend en charge les paramètres suivants.
Paramètre | Type | Description |
---|---|---|
groupids | string/array | Renvoie uniquement les scripts pouvant être exécutés sur les groupes d'hôtes donnés. |
hostids | string/array | Renvoie uniquement les scripts pouvant être exécutés sur les hôtes donnés. |
scriptids | string/array | Renvoie uniquement les scripts avec les ID donnés. |
usrgrpids | string/array | Renvoie uniquement les scripts pouvant être exécutés par les utilisateurs des groupes d'utilisateurs donnés. |
selectGroups | query | Renvoie une propriété groups avec les groupes d'hôtes sur lesquels le script peut être exécuté. |
selectHosts | query | Renvoie une propriété hosts avec les hôtes sur lesquels le script peut être exécuté. |
selectActions | query | Renvoie une propriété actions avec les actions auxquelles le script est associé. |
sortfield | string/array | Trier le résultat selon les propriétés données. Les valeurs possibles sont : scriptid et name . |
countOutput | boolean | Ces paramètres, communs à toutes les méthodes get , sont décrits dans les commentaires de référence. |
editable | boolean | |
excludeSearch | boolean | |
filter | object | |
limit | integer | |
output | query | |
preservekeys | boolean | |
search | object | |
searchByAny | boolean | |
searchWildcardsEnabled | boolean | |
sortorder | string/array | |
startSearch | boolean |
(integer/array)
Retourne soit :
countOutput
a été utilisé.Récupérez tous les scripts configurés.
Requête :
{
"jsonrpc": "2.0",
"method": "script.get",
"params": {
"output": "extend"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
{
"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",
"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",
"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",
"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",
"parameters": [
{
"name": "token",
"value": "{$WEBHOOK.TOKEN}"
},
{
"name": "host",
"value": "{HOST.HOST}"
},
{
"name": "v",
"value": "2.2"
}
]
}
],
"id": 1
}
CScript::get() dans ui/include/classes/api/services/CScript.php.