You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2019-01-17 11:43:52

Jean-Christophe
Guest
Registered: 2007-08-22
Posts: 168

Ajout d'un port réseau sur un device

Hello,

Je cherche une solution pour ajouter un port réseau à un device. Idéalement, si je pouvais ajouter le port avec la mac et l'IP directement à un device, ce serait super.
N'ayant pas encore trouvé comme faire, j'avance par petits pas...

Quand j'essaye d'ajouter le port réseau (sans encore le lier) j'obtiens un message me disant que je n'ai pas le droit. J'ai fait le test avec un login super-admin avec le même résultat sad

Invoke-RestMethod : ["ERROR_GLPI_ADD","You don't have permission to perform this action."]

Dans les détails de l'ajout du port, je spécifie uniquement son nom et la mac.


Si vous avez une idée, je suis preneur.

Bonne journée,
JC

Offline

#2 2019-01-18 14:59:15

Jean-Christophe
Guest
Registered: 2007-08-22
Posts: 168

Re: Ajout d'un port réseau sur un device

Please, help me sad

Offline

#3 2019-01-18 16:22:03

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 4,347

Re: Ajout d'un port réseau sur un device

il faut au moins définir à quel type et à quel element vous voulez l'associer, ainsi que le type de port à ajouter

$input='{ "input": {"items_id": "179"
        ,"itemtype": "NetworkEquipment"
        ,"entities_id": "2"
        ,"is_recursive": "0"
        ,"logical_number": "01"
        ,"name": "portbyAPI"
        ,"instantiation_type": "NetworkPortEthernet"
        }
    }';
        $url=$api_url."/Networkport/";


Trouver la panne avant de réparer...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.2.4(behaviours1.5.2+fusion9.2+1.0+applicatifs2.3.0+dashboard 0.8.9)hebergé sur serveur mutualisé.
*GLPI 9.4.0  en test (ubuntu 18.04 mariadb 10.2.4)

Offline

#4 2019-01-21 11:46:48

Jean-Christophe
Guest
Registered: 2007-08-22
Posts: 168

Re: Ajout d'un port réseau sur un device

Merci!..

Je vais tester ça et je reviens :-)

Offline

#5 2019-01-21 12:13:25

Jean-Christophe
Guest
Registered: 2007-08-22
Posts: 168

Re: Ajout d'un port réseau sur un device

Fantastique!.. Ca marche :-)

Une dernière question pour la route... Est-ce qu'il est possible d'ajouter l'IP en même temps? Jusque là, j'ai ajouté la MAC et ça fonctionne au poil.

Offline

#6 2019-02-14 19:03:35

Jean-Christophe
Guest
Registered: 2007-08-22
Posts: 168

Re: Ajout d'un port réseau sur un device

Bon...
Ca fait un bon bout de temps que je teste tout ce que je peux et je ne parviens pas à trouver les infos relatives au Network Names (et, surtout, aux IPs associées).
J'arrive à récupérer le nom du network name mais pas les IP.
Une idée de comment lire/écrire ça?

Merci!

Offline

#7 2019-02-15 10:13:21

orthagh
Administrator
From: TECLIB - CAEN
Registered: 2010-11-30
Posts: 570
Website

Re: Ajout d'un port réseau sur un device

Hello.

Dans les tests unitaires de GLPI, j'ai développé l'ajout d'un port éthernet avec nom réseau + IP:
CF : https://github.com/glpi-project/glpi/bl … #L538-L565

Vous pouvez ignorer le commentaire sur le _xmlrpc_fckng_fix qui ne concerne que l'api xmlrpc et non l'api rest

Offline

#8 2019-02-15 17:56:44

Jean-Christophe
Guest
Registered: 2007-08-22
Posts: 168

Re: Ajout d'un port réseau sur un device

Merci pour cette réponse qui fait renaître l'espoir :-)

De mon côté, je fais du Powershell (c'est le seul language de scripting que je connais).
J'ai fait un petit module qui permet d'utiliser des fonctions de base.

Entre autre, la fonction "add-glpitiem"

Function Add-GlpiItem {
    param($ItemType,$Details,$Creds)
    $AppURL =    $Creds.AppURL
    $UserToken = $Creds.UserToken
    $AppToken =  $Creds.AppToken
    # Details are expected to be an object. 
    # You can create it with 
    # $Details = @{
    # name="PC99999"
    # serial="01.02.03.04.05"
    # }

    $Details = @{input=$Details}
    $SessionToken = Get-GLPISessionToken
    $json = ConvertTo-Json $Details
    $AddResult = Invoke-RestMethod "$AppURL/$($ItemType)" -Method Post -Headers @{"session-token"=$SessionToken.session_token; "App-Token" = "$AppToken"} -Body $json -ContentType 'application/json'
    Invoke-RestMethod "$AppURL/killSession" -Headers @{"session-token"=$SessionToken.session_token; "App-Token" = "$AppToken"}
    return $AddResult
}

Pour l'utiliser, j'ai quelque chose comme :

$NetworkPortDetails = @{
                items_id="340"
                itemtype="Phone"
                name="LAN"
                entities_id="0"
                is_recursive="0"
                logical_number="1"
                instantiation_type="NetworkPortEthernet"
                NetworkName_name="plop"
                NetworkName_fqdns_id="0"
                NetworkName_ipaddresses = {"10.117.18.127"}
                _create_children = "true"
                }
Add-GlpiItem -ItemType Networkport -Creds $GlpiCreds -Details $NetworkPortDetails

Ca ne produit pas d'erreur, le port est créé, mais je n'ai pas l'IP.
Le NetworkName est bien là avec son nom, mais pas l'IP.

Je pense que ça vient du fait que ipaddress doit être un array. Je me trompe?

Offline

#9 2019-02-15 18:00:06

Jean-Christophe
Guest
Registered: 2007-08-22
Posts: 168

Re: Ajout d'un port réseau sur un device

Tiens, au fait...
Quand je récupère l'objet NetworkPort, je n'ai pas les IP qui existeraient. Je m'y prends comme un manche? (C'est fort probable...)

Offline

#10 2019-02-15 18:02:53

orthagh
Administrator
From: TECLIB - CAEN
Registered: 2010-11-30
Posts: 570
Website

Re: Ajout d'un port réseau sur un device

Attention NetworkName__ipaddresses contient 2 _ !

Offline

#11 2019-02-15 18:05:25

orthagh
Administrator
From: TECLIB - CAEN
Registered: 2010-11-30
Posts: 570
Website

Re: Ajout d'un port réseau sur un device

autre chose, il est impératif d'avoir la clef -1 en face de l'ip, c'est un peu complexe, mais pour expliquer vite, le framework de glpi ne fait les ajouts que sur les clefs negatives.
Cf : https://github.com/glpi-project/glpi/bl … #L259-L271

Offline

Board footer

Powered by FluxBB