【问题标题】:Powershell + Zabbix APIPowershell + Zabbix API
【发布时间】:2017-07-31 13:58:49
【问题描述】:

我收到错误 32500 - 没有权限引用对象或它不存在。 我知道团体有问题。 连接:

if(!$credential){
    $credential = Get-Credential
}
$baseurl = 'http://zabbix'
$params = @{
    body =  @{
        "jsonrpc"= "2.0"
        "method"= "user.login"
        "params"= @{
            "user"= $credential.UserName
            "password"= $credential.GetNetworkCredential().Password
        }
        "id"= 1
        "auth"= $null
    } | ConvertTo-Json
    uri = "$baseurl/api_jsonrpc.php"
    headers = @{"Content-Type" = "application/json"}
    method = "Post"
}
$result = Invoke-WebRequest @params

主机创建:

$params.body = @{
    jsonrpc= "2.0"
    method= "host.create"
    params= @{
        host = "host";
        interfaces = @{type = 1;main=1;useip=1;ip="10.10.0.0";dns= "";port="10050"};
        groups =@{groupid="197"}

        #"templates"=@{"templateid"="14415"};

    }
    auth = ($result.Content | ConvertFrom-Json).result
    id = 2
} | ConvertTo-Json

$result = Invoke-WebRequest @params
$result = $result.Content | ConvertFrom-Json
$result | fl

有谁知道问题出在哪里?

【问题讨论】:

  • 我说如果 groupid 是 1 它是工作。当它有两位数时,它不会
  • 您能否将其发布为答案,并在一段时间后将其标记为已接受:)
  • 这真的,真的不是答案。

标签: powershell zabbix


【解决方案1】:

您的最终 JSON 应该双引号组 ID。您生成 JSON 的方式显然不会这样做。

【讨论】:

  • 我试过 groups = @{"groupid"="197"} 但没有。当我使用 1 位 id 时,它可以工作......
  • 尝试调试它并打印出发送的原始 JSON。组 ID 在那里看起来如何?
  • 类似这样的东西:\"groups\": {\r\n \"groupid\": \"197\"\r\n }
  • 是否存在具有该 ID 的组?如果您没有尝试使用超级管理员帐户执行此操作,您可以尝试一下吗?
  • 是的,该 id 存在。它适用于所有 id 直到 9。如果它是 10 或更高,则没有。帐户是超级管理员。
【解决方案2】:

试试这个

$groups = @()
$groups += @{"groupid"="64"}
$groups += @{"groupid"="5"}

$params.body = 
@{
    "jsonrpc" = "2.0"
    "method" = "host.create"
    "params" = @{
        "host" = "Linux server"
        "interfaces" = @{
                "type"= 1
                "main"= 1
                "useip"= 1
                "ip"= "192.168.3.1"
                "dns"= ""
                "port"= "10050"
            }
        "groups" =  $groups
        }
     "auth" = $Tocken
     "id" = 1} | ConvertTo-Json -Depth 20

【讨论】:

    猜你喜欢
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多