2017-07-31 73 views
0

我得到錯誤32500-沒有權限引用對象或它不存在。 我知道團隊有問題。 連接:Powershell + Zabbix API

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 [email protected]{groupid="197"} 

     #"templates"[email protected]{"templateid"="14415"}; 

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

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

有誰知道問題是什麼?

+0

我說,如果groupid是1,它是工作。當它具有兩位數字時,它不會 – Damir

+1

請您將該文章作爲答案發布,過了一段時間後將其標記爲已接受:) –

+0

這真的不是答案。 – Richlv

回答

1

您的最終JSON應該雙引號組ID。你生成JSON的方式顯然不會。

+0

我試過groups = @ {「groupid」=「197」}但它沒有。當我使用1位數的ID時,它可以工作... – Damir

+0

嘗試調試它並打印出發送的原始JSON。小組ID在那裏看起來如何? – Richlv

+0

類似這樣的:\「groups \」:{\ r \ n \「groupid \」:\「197 \」\ r \ n} – Damir