object script.getscriptsbyevents(object parameters)
此方法允许检索给定事件上的所有可用脚本,或者在提供脚本ID时检索特定脚本。当提供manualinput时, 它会将{MANUALINPUT}宏替换为指定的值。
此方法适用于任何类型的用户。可以在用户角色设置中撤销调用该方法的权限。更多信息请参见User roles。
(object/array) 此方法接受 object 或 array 类型的 objects,其参数如下。
| 参数 | 数据类型 | 描述 |
|---|---|---|
| eventid | ID | 要返回脚本的事件ID。 必须唯一。 参数行为: - 必填 |
| scriptid | ID | 要返回的脚本ID。 |
| manualinput | string | 用户提供的 {MANUALINPUT} 宏值。 |
(object) 返回一个以事件ID为属性、可用脚本数组为值的object。若提供脚本ID,则关联值为包含特定脚本的array。
该方法会自动展开confirmation文本、manualinput prompt文本及url中的宏。
若提供manualinput参数,则{MANUALINPUT}宏将被解析为指定值。
获取事件 "632" 和 "614" 可用的所有脚本。
执行请求:
{ "jsonrpc": "2.0", "method": "script.getscriptsbyevents", "params": [ { "eventid": "632" }, { "eventid": "614" } ], "id": 1 }响应:
{ "jsonrpc": "2.0", "result": { "632": [ { "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": "4", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "", "new_window": "1", "manualinput": "0", "manualinput_prompt": "", "manualinput_validator_type": "0", "manualinput_validator": "", "manualinput_default_value": "", "parameters": [] }, { "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": "4", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "", "new_window": "1", "manualinput": "0", "manualinput_prompt": "", "manualinput_validator_type": "0", "manualinput_validator": "", "manualinput_default_value": "", "parameters": [] }, { "scriptid": "4", "name": "Open Zabbix page", "command": "", "host_access": "2", "usrgrpid": "0", "groupid": "0", "description": "", "confirmation": "Are you sure you want to open page *UNKNOWN*?", "type": "6", "execute_on": "2", "timeout": "30s", "scope": "4", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "http://localhost/ui/zabbix.php?action=*UNKNOWN*", "new_window": "1", "manualinput": "1", "manualinput_prompt": "Zabbix page to open:", "manualinput_validator_type": "1", "manualinput_validator": "dashboard.view,discovery.view", "manualinput_default_value": "", "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": "4", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "", "new_window": "1", "manualinput": "0", "manualinput_prompt": "", "manualinput_validator_type": "0", "manualinput_validator": "", "manualinput_default_value": "", "parameters": [] } ], "614": [ { "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": "4", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "", "new_window": "1", "manualinput": "0", "manualinput_prompt": "", "manualinput_validator_type": "1", "manualinput_validator": "", "manualinput_default_value": "", "parameters": [] }, { "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": "4", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "", "new_window": "1", "manualinput": "0", "manualinput_prompt": "", "manualinput_validator_type": "0", "manualinput_validator": "", "manualinput_default_value": "", "parameters": [] }, { "scriptid": "4", "name": "Open Zabbix page", "command": "", "host_access": "2", "usrgrpid": "0", "groupid": "0", "description": "", "confirmation": "Are you sure you want to open page *UNKNOWN*?", "type": "6", "execute_on": "2", "timeout": "30s", "scope": "4", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "http://localhost/ui/zabbix.php?action=*UNKNOWN*", "new_window": "1", "manualinput": "1", "manualinput_prompt": "Zabbix page to open:", "manualinput_validator_type": "1", "manualinput_validator": "dashboard.view,discovery.view", "manualinput_default_value": "", "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": "4", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "", "new_window": "1", "manualinput": "0", "manualinput_prompt": "", "manualinput_validator_type": "0", "manualinput_validator": "", "manualinput_default_value": "", "parameters": [] } ] }, "id": 1 }在事件“632”上检索ID为“4”的脚本,并使用手动输入值“dashboard.view”。
执行请求:
{ "jsonrpc": "2.0", "method": "script.getscriptsbyevents", "params": [ { "eventid": "632", "scriptid": "4", "manualinput": "dashboard.view" } ], "id": 1 }响应:
{ "jsonrpc": "2.0", "result": { "632": [ { "scriptid": "4", "name": "Open Zabbix page", "command": "", "host_access": "2", "usrgrpid": "0", "groupid": "0", "description": "", "confirmation": "Are you sure you want to open page dashboard.view?", "type": "6", "execute_on": "2", "timeout": "30s", "scope": "4", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "http://localhost/ui/zabbix.php?action=dashboard.view", "new_window": "1", "manualinput": "1", "manualinput_prompt": "Zabbix page to open:", "manualinput_validator_type": "1", "manualinput_validator": "dashboard.view,discovery.view", "manualinput_default_value": "", "parameters": [] } ] }, "id": 1 }CScript::getScriptsByEvents() 位于 ui/include/classes/api/services/CScript.php。