object script.getscriptsbyhosts(object parameters)
此方法允许检索给定主机上所有可用脚本 或在提供脚本ID时获取特定脚本。当提供手动输入时, 它会用指定值替换{MANUALINPUT}宏。
该方法对所有类型用户可用。调用该方法的权限 可在用户角色设置中撤销。更多信息请参阅User roles。
(object/array) 该方法接受以下参数的object或array的objects。
| 参数 | 数据类型 | 描述 |
|---|---|---|
| hostid | ID | 要返回脚本的主机 ID。 必须唯一。 参数行为: - 必填 |
| scriptid | ID | 要返回的脚本ID。 |
| manualinput | string | 用户提供的{MANUALINPUT}宏的值。 |
(object) 返回一个object对象,其属性为主机 ID,值为可用脚本数组。若提供脚本ID,则关联值为包含特定脚本的array对象。
该方法会自动展开confirmation文本、manualinput prompt文本及url中的宏。
若提供manualinput参数,则{MANUALINPUT}宏将被解析为指定值。
获取主机 "30079" 和 "30073" 上所有可用的脚本.
执行请求:
{ "jsonrpc": "2.0", "method": "script.getscriptsbyhosts", "params": [ { "hostid": "30079" }, { "hostid": "30073" } ], "id": 1 }响应:
{ "jsonrpc": "2.0", "result": { "30079": [ { "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", "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": "2", "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": "2", "port": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "menu_path": "", "url": "http://localhost/ui/zabbix.php?action=*UNKNOWN*", "new_window": "1", "manualinput": "0", "manualinput_prompt": "Zabbix page to open:", "manualinput_validator_type": "0", "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": "2", "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": [] } ], "30073": [ { "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", "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": "2", "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": "2", "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": "2", "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 }在主机 主机 "30079" 上使用手动输入值 "dashboard.view" 检索ID为"4"的脚本
执行请求:
{ "jsonrpc": "2.0", "method": "script.getscriptsbyhosts", "params": [ { "hostid": "30079", "scriptid": "4", "manualinput": "dashboard.view" } ], "id": 1 }响应
{ "jsonrpc": "2.0", "result": { "30079": [ { "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": "2", "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::getScriptsByHosts() 位于 ui/include/classes/api/services/CScript.php 文件中.