IGEL Management Interface - IGEL eDocs

4. IGEL Technology GmbH. IGEL Management Interface. 1. ..... Im Beispiel erhält das Verzeichnis einen neuen Namen, der als Schlüssel-Wert-Paar im.
976KB Größe 4 Downloads 351 Ansichten
IGEL Management Interface

IGEL Technology GmbH

IGEL Management Interface

30.08.2017

Inhaltsverzeichnis 1.

IGEL Management Interface (IMI) .......................................................................................... 4 Lizenzierung.............................................................................................................................................. 5 REST-Grundlagen ...................................................................................................................................... 5 Ressourcen ............................................................................................................................................... 5 HTTP-Methoden ....................................................................................................................................... 6 Voraussetzungen für den Einsatz ............................................................................................................. 6

2.

Erste Schritte mit IMI.............................................................................................................. 7 REST-Clients und -Bibliotheken ................................................................................................................ 7 Serverstatus abfragen .............................................................................................................................. 9 Authentifizierung....................................................................................................................................10 Alle Thin Clients auflisten .......................................................................................................................11 Informationen zu einem Thin Client aufrufen........................................................................................13 2.1. Getting All Details about a Thin Client .........................................................................................14 Online-Status eines Thin Clients abfragen .............................................................................................16

3.

Ressourcen anlegen, verändern und löschen ...................................................................... 17 Alle Thin-Client-Verzeichnisse auflisten .................................................................................................17 Thin Client-Verzeichnis anlegen .............................................................................................................20 Thin Client-Verzeichnis ändern ..............................................................................................................21 Thin Client-Verzeichnis löschen .............................................................................................................21

4.

Weitere Aktionen ................................................................................................................. 23 Thin Client-Verzeichnis verschieben ......................................................................................................23 Kommando an Thin Clients schicken......................................................................................................24 Anfragen debuggen ................................................................................................................................25

5.

Index .................................................................................................................................... 27

Formatierungen und Bedeutung Folgende Formatierungen werden im Dokument verwendet: Hyperlink

interne oder externe Verlinkungen

Eigennamen

Eigennamen von Produkten, Firmen usw.

GUI-Text Menü > Pfad

Textelemente aus der Benutzeroberfläche

Eingabe

Programm-Code oder Systemeingaben

Tastatur

Kommandos, die man über die Tastatur eingibt

Menü-Pfade in Systemen und Programmen



Aktiviertes Kontrollkästchen



Deaktiviertes Kontrollkästchen

Version 5.03.100

Firmwareversion

Verweis auf andere Textstellen im Handbuch oder auf weitere eDocs-Artikel. Hinweis zur Bedienung

Warnung: Wichtiger Hinweis zur dringenden Beachtung

3 IGEL Technology GmbH

IGEL Management Interface

1. IGEL Management Interface (IMI) Das IGEL Management Interface (IMI) ist eine optional zu erwerbende Komponente für die IGEL Universal Management Suite (UMS) ab Version 5.01.100. IMI macht es möglich, UMS an Systemmanagement-Tools anzubinden. Über die Programmierschnittstelle lassen sich Thin Clients anlegen und löschen, in Ordner verschieben, neu booten und vieles mehr. Die Implementierung als REST API macht IMI unabhängig von Hardware-Plattformen, Betriebssystemen sowie Programmiersprachen und sorgt damit für größtmögliche Interoperabilität.

Abbildung 1: IGEL Management Interface (IMI) Funktionsgrafik

Die folgenden Abschnitte dienen zur Einführung in die Benutzung des IGEL Management Interface (IMI). Einzelne Aufrufe und deren Details lassen sich in der IMI-Referenz (http://edocs.igel.com/manuals/en/en_imi_ref/index.htm) nachschlagen.

Lizenzierung

4

REST-Grundlagen

5

Voraussetzungen für den Einsatz

6

4 IGEL Technology GmbH

IGEL Management Interface

Lizenzierung Für die Nutzung des IGEL Management Interface (IMI) ist eine kostenpflichtige Subscription (http://edocs.igel.com/index.htm#10203844.htm) erforderlich. Daneben berechtigt eine Subsscription für Asset Inventory Tracker (AIT) zur Nutzung der Ressourcen assetinfo und assethistory.

REST-Grundlagen IGEL Management Interface setzt auf REST, was für Representational State Transfer steht. REST ist eine Softwarearchitektur für Client-Server-Anwendungen, die hauptsächlich über das HTTP(S)-Protokoll implementiert wird. Dadurch arbeiten REST-APIs mit allen Technologien zusammen, die HTTP(S)-Aufrufe senden und die Antworten verarbeiten können. REST gibt Muster vor, die es dem Programmierer leichter machen, das jeweilige API zu verstehen. Dabei sind die wichtigsten Merkmale Ressourcen und HTTP-Methoden (Seite 6).

Ressourcen URLs stehen für Ressourcen Ein REST API macht Ressourcen unter bestimmten URLs zugänglich. Beispielsweise findet sich bei IMI die Liste aller Thin Clients unter: •

https://[server]:8443/umsapi/v3/thinclients

In verkürzter Schreibweise, die die Basis-URL weglässt: •

/v3/thinclients

Um eine bestimmte Instanz einer Ressource anzusprechen, etwa einen bestimmten Thin Client, gibt man dessen ID in der URL an: •

/v3/thinclients/8

Weitere Beispiele für Ressourcen URL

Ressource

/v3/directories/tcdirectories

Die Liste aller Thin-Client-Verzeichnisse

/v3/directories/tcdirectories/123

Das Thin-Client-Verzeichnis mit der ID 123

/v3/firmwares

Die Liste aller Firmwares, die dieser UMS bekannt sind

/v3/firmwares/7

Die Firmware mit der ID 7

Eine Auflistung der verwendbaren Ressourcen finden Sie in der IMI-Referenz (http://edocs.igel.com/manuals/en/en_imi_ref/index.htm#10202786.htm).

5 IGEL Technology GmbH

IGEL Management Interface

HTTP-Methoden Um per REST mit Ressourcen zu arbeiten, ruft man sie mit HTTP-Methoden auf. Die REST-Architektur weist jeder HTTP-Methode (auch HTTP-Verb genannt) eine bestimmte Bedeutung zu, wie die folgende Tabelle zeigt:

HTTP-Methode

Bedeutung

GET

Liest Informationen zu einer Ressource aus.

PUT

Legt eine neue Ressource an oder aktualisiert eine bestehende.

POST

(Legt eine neue Ressource an *), ruft ein Kommando auf.

DELETE

Löscht eine Ressource. * Der Bedeutungsunterschied zwischen PUT und POST wird von unterschiedlichen Herstellern verschieden gedeutet. Für IMI gilt: • •

PUT dient zum Anlegen und Aktualisieren von Ressourcen POST dient zum Einloggen und zum Aufrufen von Kommandos

Voraussetzungen für den Einsatz Netzwerk Für den Einsatz des IGEL Management Interface muss der Rechner, auf dem die UMS und die API-Komponente installiert sind, per Netzwerk erreichbar sein. Standardmäßig ist IMI auf dem TCP-Port 8443 ansprechbar. Die Basis-URL lautet: •

https://[server]:8443/umsapi/

Zudem ist das API versioniert, so lautet der Pfad für Version 2 beispielsweise: •

https://[server]:8443/umsapi/v3/ IMI verwendet HTTPS, um die Integrität und Vertraulichkeit des Netzwerkverkehrs sicher zu stellen. Dazu ist ein gültiges Server-Zertifikat erforderlich, dessen Signatur sich überprüfen lässt. Im Testbetrieb kann man ein selbstsigniertes Zertifikat verwenden und Clientprogramme oder Bibliotheken passend konfigurieren. Für den Produktivbetrieb dagegen ist ausschließlich ein gültiges Zertifikat zu empfehlen.

6 IGEL Technology GmbH

IGEL Management Interface

2. Erste Schritte mit IMI REST-Clients und -Bibliotheken 7 Serverstatus abfragen 9 Authentifizierung

10

Alle Thin Clients auflisten

10

Informationen zu einem Thin Client aufrufen Getting All Details about a Thin Client

13

14

Online-Status eines Thin Clients abfragen

16

REST-Clients und -Bibliotheken Clients Am einfachsten ausprobieren lässt sich das IGEL Management Interface

7 IGEL Technology GmbH

IGEL Management Interface



mit RESTClient (http://restclient.net/), einem Add-On für Mozilla Firefox:

Abbildung 2: RESTClient

oder •

mit cURL (http://curl.haxx.se/), einem Netzwerk-Client für die Kommandozeile:

Abbildung 3: cURL 8 IGEL Technology GmbH

IGEL Management Interface

Beide Programme stehen unter Open-Source-Lizenz und sind kostenlos erhältlich. Die folgenden Abschnitte verwenden cURL für die Beispiele, weil auf der Kommandozeile alle Parameter als Text sichtbar werden. Das soll jedoch niemanden abhalten, RESTClient zu benutzen. Die Kommandozeilenparameter lassen sich auf die Formularfelder des RESTClient übertragen. Programmierbibliotheken Die meisten Programmiersprachen besitzen Module für HTTP und SSL/TLS, entweder in ihrer Standardbibliothek oder in Erweiterungen. Zudem gibt es meist eine JSON-Bibliothek, die beim Verarbeiten des Datenformats von IMI hilft.

Serverstatus abfragen ➢ Schicken Sie an den Endpunkt /v3/serverstatus eine HTTP-GET-Abfrage, um ein paar Informationen über den Server zu erhalten. Mit cURL sieht die Kommandozeile folgendermaßen aus: curl \ --request GET \ https://[server]:8443/umsapi/v3/serverstatus

Sie erhalten eine Antwort, die dem Folgenden ähnelt: 200 OK --{ "rmGuiServerVersion": "5.07.100.rc15", "buildNumber": "32287", "activeMQVersion": "5.6.0", "derbyVersion": "10.12.1.1", "serverUUID": "9fe719f1-c16e-4744-9ff1-b9c314ae151c", "server": "mhuber:8443", "links": [] } Kopfzeilen der Antwort Der Server antwortet mit dem Statuscode 200 in den HTTP-Kopfzeilen, die Anfrage war also erfolgreich. ➢ Eine Liste der wichtigsten Statuscodes finden Sie in der IMI-Referenz (http://edocs.igel.com/manuals/en/en_imi_ref/index.htm#10202786.htm).

9 IGEL Technology GmbH

IGEL Management Interface

JSON im Inhaltsteil Im Inhaltsteil der Serverantwort stehen die angeforderten Informationen, formatiert in JavaScript Object Notation (JSON). Dieses Format umschließt mit geschweiften Klammern die Daten, die als Schlüssel-Wert-Paare aufgeführt sind. Als Zeilentrenner dient ein Komma. Ihre Programmiersprache bietet mit großer Wahrscheinlichkeit ein JSON-Modul, das Ihnen die Verarbeitung dieses Formats erleichtert.

Authentifizierung Um das IGEL Management Interface aufrufen zu dürfen, muss sich die Gegenstelle authentifizieren, ansonsten antwortet der Server lediglich mit dem HTTP-Status 401 "Unauthorized". Nur der Serverstatus lässt sich ohne Authentifizierung aufrufen. IMI verwendet Basic Authentication (RFC 2617 (http://tools.ietf.org/html/rfc2617)). Einloggen ➢ Zum Einloggen senden Sie eine HTTP-POST-Anfrage an /v2/login. Der HTTP-Client Ihrer Wahl bietet bestimmt eine Funktion, um aus Username und Passwort eine Basic Authentication-Kopfzeile zu produzieren. Für cURL sieht die Kommandozeile folgendermaßen aus: curl \ --request POST \ --user '[Username]:[Passwort]' \ https://[server]:8443/umsapi/v3/login

In seiner Antwort schickt der Server die Session-ID: 200 OK Set-Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC; Path=/umsapi/; Secure; HttpOnly --{"message":"JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC"}

Eingeloggt bleiben ➢ Schicken Sie die JSESSIONID bei jeder folgenden Anfrage in der Cookie-Kopfzeile mit, um eingeloggt zu bleiben: Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC Manche Clients wie beispielsweise das Firefox-Addon RESTClient (Seite 7) erledigen das automatisch für Sie.

10 IGEL Technology GmbH

IGEL Management Interface

Alle Thin Clients auflisten ➢ Schicken Sie einen GET-Aufruf an /v3/thinclients, um sich alle Thin Clients anzeigen zu lassen. ➢ Vergessen Sie nicht, die JSESSIONID mitzuschicken: curl \ --request GET\ --header 'Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ https://[server]:8443/umsapi/v3/thinclients Antwort Die Serverantwort enthält ein umfangreiches JSON-Dokument, das alle Thin Clients sowie deren Eigenschaften in einem Kurzformat auflistet. Die Links im JSON machen das API für Software durchsuchbar, die wie eine Suchmaschine diesen Verweisen folgt. Details zur Ressource Thin Client finden sich in der IMI-Referenz (http://edocs.igel.com/manuals/en/en_imi_ref/index.htm#10202786.htm). Der letzte Eintrag im folgenden Beispiel enthält "movedToBin": true. Das bedeutet, dass der Thin Client gelöscht und in den Papierkorb verschoben wurde. Objekte im Papierkorb werden aufgelistet, man kann sie aber nicht aktualisieren oder ihnen Kommandos schicken.

11 IGEL Technology GmbH

IGEL Management Interface

[ { "unitID": "00E0C54DCB8E", "mac": "00E0C54DCB8E", "firmwareID": "21", "lastIP": "172.30.91.43", "id": "27", "name": "Front Desk", "parentID": "-1", "movedToBin": false, "objectType": "tc", "links": [ { "rel": "self", "href": "https://172.30.91.227:8443/umsapi/v3/thinclients/27" }, { "rel": "Parent", "href": "root" }, { "rel": "Firmware", "href": "https://172.30.91.227:8443/umsapi/v3/firmwares/21" } ] }, { "unitID": "DC9C5207694E", "mac": "DC9C5207694E", "firmwareID": "13", "lastIP": "172.30.91.24", "id": "6888", "name": "UD3 M340C_Board", "parentID": "15592", "movedToBin": false, "objectType": "tc", "links": [...] }, { "unitID": "00E0C5080834", "mac": "00E0C5080834", "firmwareID": "2", "lastIP": "172.30.91.132", 12

"id": "6899", "name": "UD10", IGEL Technology GmbH "parentID": "15592",

IGEL Management Interface

Informationen zu einem Thin Client aufrufen ➢ Schicken Sie eine GET-Anfrage an /v3/thinclients/[id], um Informationen über den Thin Client mit dieser ID einzuholen: curl \ --request GET\ --header 'Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ https://[server]:8443/umsapi/v3/thinclients/27 Die Thin-Client-ID wird in diesem Fall als Pfadvariable (Path Variable) in der URL an das API übergeben. Die Antwort enthält die wichtigsten Eigenschaften des Thin Clients mit der ID 27: Antwort { "unitID": "00E0C54DCB8E", "mac": "00E0C54DCB8E", "firmwareID": "21", "lastIP": "172.30.91.43", "id": "27", "name": "Front Desk", "parentID": "-1", "movedToBin": false, "objectType": "tc", "links": [ { "rel": "self", "href": "https://172.30.91.227:8443/umsapi/v3/thinclients/27" }, { "rel": "Parent", "href": "root" }, { "rel": "Firmware", "href": "https://172.30.91.227:8443/umsapi/v3/firmwares/21" } ] }

13 IGEL Technology GmbH

IGEL Management Interface

2.1. Getting All Details about a Thin Client ➢ Verwenden Sie die Facette details, um eine detaillierte Auflistung der Eigenschaften eines Thin Clients zu erhalten: curl \ --request GET\ --header 'Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ https://[server]:8443/umsapi/v3/thinclients/27?facets=details Die Antwort enthält alle per IMI verfügbaren Eigenschaften des Thin Clients mit der ID 27:

Antwort

14 IGEL Technology GmbH

IGEL Management Interface

{ "unitID": "00E0C54DCB8E", "mac": "00E0C54DCB8E", "firmwareID": "21", "networkName": "D.Weinert", "site": "1. Stock", "department": "Product Management", "lastIP": "172.30.91.43", "costCenter": "", "comment": "", "assetID": "", "inserviceDate": "01.06.215", "serialNumber": "", "productId": "UD6-LX 51cps", "umsStructuralTag": "", "cpuSpeed": 2416, "cpuType": "Intel(R) Celeron(R) CPU

J1900

@ 1.99GHz",

"deviceType": "IGEL H830C", "deviceSerialNumber": "14D3D3C03B14470B9EM", "osType": "IGEL Linux V5 (Kernel Version 3.13.11-ckt20)", "flashSize": 1883, "memorySize": 1853, "networkSpeed": 1000, "graphicsChipset0": "INTEL HD Graphics (Baytrail)", "graphicsChipset1": "", "monitorVendor1": "Samsung Electric Company", "monitorModel1": "S24C650", "monitorSerialnumber1": "H4MG404381", "monitorSize1": 24, "monitorNativeResolution1": "1920 x 1200", "monitor1YearOfManufacture": "2015", "monitor1WeekOfManufacture": "17", "monitorVendor2": "Samsung Electric Company", "monitorModel2": "S24C650", "monitorSerialnumber2": "H4MG404389", "monitorSize2": 24, "monitorNativeResolution2": "1920 x 1200", "monitor2YearOfManufacture": "2015", "monitor2WeekOfManufacture": "17", "biosVendor": "INSYDE Corp.", "biosVersion": "H830C V:3.5.13-11282014", "biosDate": "11/28/2014", "totalUsagetime": "5798368000", "totalUptime": "18513000", "lastBoottime": IGEL Technology GmbH "id": "27",

"2015-09-29IGEL 08:30", Management Interface

15

Online-Status eines Thin Clients abfragen ➢ Verwenden Sie die Facette online, um den Online-Status des Thin Clients mit dieser ID abzufragen: curl \ --request GET\ --header 'Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ https://[server]:8443/umsapi/v3/thinclients/27?facets=online In der Antwort finden Sie neben den wichtigsten Angaben über den Thin Client nun auch die Eigenschaft online, die die Werte true und false annehmen kann: Antwort { "unitID": "00E0C54DCB8E", "mac": "00E0C54DCB8E", "firmwareID": "21", "lastIP": "172.30.91.43", "online": false, "id": "27", "name": "Front Desk", "parentID": "-1", "movedToBin": false, "objectType": "tc", "links": [ { "rel": "self", "href": "https://172.30.91.227:8443/umsapi/v3/thinclients/27" }, { "rel": "Parent", "href": "root" }, { "rel": "Firmware", "href": "https://172.30.91.227:8443/umsapi/v3/firmwares/21" } ] }

16 IGEL Technology GmbH

IGEL Management Interface

3. Ressourcen anlegen, verändern und löschen Die Thin-Client-Verzeichnisse der UMS eignen sich gut dazu, das Anlegen, Verändern und Löschen von Ressourcen per IMI auszuprobieren.

Alle Thin-Client-Verzeichnisse auflisten 17 Thin Client-Verzeichnis anlegen 20 Thin Client-Verzeichnis ändern 20 Thin Client-Verzeichnis löschen 21

Alle Thin-Client-Verzeichnisse auflisten ➢ Lassen Sie sich alle Thin-Client-Verzeichnisse auflisten: curl \ --request GET\ --header 'Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ https://[server]:8443/umsapi/v3/directories/tcdirectories Antwort Die Serverantwort enthält die Liste aller Thin Client-Verzeichnisse im JSON-Format. Das oberste Verzeichnis Thin Clients besitzt die ID -1, daher haben Verzeichnisse, die sich direkt darunter befinden, die parentID -1. Eine detailierte Beschreibung der Ressource Thin Client Directory finden Sie in der IMI-Referenz (http://edocs.igel.com/manuals/en/en_imi_ref/index.htm#10202786.htm). ➢ Vergleichen Sie zur Veranschaulichung die JSON-Ausgabe mit der Baumansicht der Verzeichnisse in der UMS Console.

Abbildung 4: The thin client directory tree in UMS Console.

17 IGEL Technology GmbH

IGEL Management Interface

Die Darstellung per IMI ist flach, Unterverzeichnisse sind nur durch Ihre parentID erkennbar. Um die Verschachtelung einfacher zu erkennen, verwenden Sie die Facette children.

18 IGEL Technology GmbH

IGEL Management Interface

[ { "id": "15592", "name": "Pool", "parentID": "-1", "movedToBin": false, "objectType": "tcdirectory", "links": [ { "rel": "self", "href": "https://172.30.91.227:8443/umsapi/v3/directories/tcdirectories/1559 2" }, { "rel": "Parent", "href": "root" } ] }, { "id": "76863", "name": "New Subdirectory", "parentID": "76462", "movedToBin": false, "objectType": "tcdirectory", "links": [ { "rel": "self", "href": "https://172.30.91.227:8443/umsapi/v3/directories/tcdirectories/7686 3" }, { "rel": "Parent", "href": "https://172.30.91.227:8443/umsapi/v3/directories/tcdirectories/7646 2" } ] }, { "id": "76462", "name": "New Directory", "parentID": "-1", "movedToBin": false, "objectType": IGEL Technology GmbH "links": [

"tcdirectory", IGEL Management Interface

19

Thin Client-Verzeichnis anlegen ➢ Schicken Sie eine PUT-Anfrage an den Endpunkt /v3/directories/tcdirectories, um ein neues Thin-Client-Verzeichnis anzulegen. Diese Anfrage muss im Inhaltsteil JSON-Daten enthalten, die den Namen für das anzulegende Verzeichnis enthalten. Die parentID dagegen ist optional. Fällt sie weg, legt IMI das neue Verzeichnis unter dem Wurzelverzeichnis (ID -1) an. { "name":"My Directory", "parentID":"-1" } cURL nimmt JSON-Daten als Parameter --data an. Die folgende Kommandozeile verwendet daneben eine Content-type-Kopfzeile, um IMI mitzuteilen, dass die Daten den Inhaltstyp application/json besitzen. ➢ Verwenden Sie diese beiden Parameter, wenn Sie JSON-Daten senden: curl \ --request PUT \ --header 'Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ --header "Content-type: application/json" \ --data '{"name":"My Directory", "parentID":"-1"}' \ https://[server]:8443/umsapi/v3/directories/tcdirectories Antwort IMI antwortet mit einer Erfolgsmeldung und den Daten des neu angelegten Verzeichnisses: { "message": "Directory successfully inserted.", "id": "77118", "name": "My Directory", "parentID": "-1" }

20 IGEL Technology GmbH

IGEL Management Interface

Thin Client-Verzeichnis ändern ➢ Schicken Sie eine PUT-Anfrage an /v3/directories/tcdirectories/[id], um Eigenschaften eines Thin-Client-Verzeichnisses zu ändern. Die ID des Verzeichnisses wird als Pfadvariable in der URL übergeben. Im Beispiel erhält das Verzeichnis einen neuen Namen, der als Schlüssel-Wert-Paar im JSON-Format geschickt wird. Vergessen Sie zudem nicht die korrekte Kopfzeile für den Content-type. curl \ --request PUT \ --header 'Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ --header "Content-type: application/json" \ --data '{"name":"My Wonderful Directory"}' \ https://[server]:8443/umsapi/v3/directories/tcdirectories/77118 Antwort IMI antwortet mit einer kurzen Erfolgsmeldung: 200 OK --{ "message": "Updated directory successfully." }

Thin Client-Verzeichnis löschen ➢ Schicken Sie eine DELETE-Anfrage an /v3/directories/tcdirectories/[id], um ein Thinä-Client-Verzeichnis zu löschen. Die ID des Verzeichnisses wird als Pfadvariable in der URL übergeben. curl \ --request DELETE \ --header 'Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ https://[server]:8443/umsapi/v3/directories/tcdirectories/77118 Antwort ➢ IMI antwortet mit einer kurzen Erfolgsmeldung: 200 OK --{"message":"Deletion successful."} Nur leere Verzeichnisse lassen sich löschen. Wenn Sie versuchen, ein Verzeichnis zu löschen, das nicht leer ist, antwortet IMI mit einer Fehlermeldung:

21 IGEL Technology GmbH

IGEL Management Interface

400 Bad Request --{ "message": "Directory with ID is not empty. Remove content first.", "errorCode": "ITG-0A006", "time": "2016-04-06T13:29:59.362", "stackTrace": "[de.igel.rm.umsapi.server.services.thinclientdirectory. [...] } Weitere Informationen zu Fehlercodes und Fehlermeldungen finden Sie in der IMI-Referenz (http://edocs.igel.com/manuals/en/en_imi_ref/index.htm#10202786.htm).

22 IGEL Technology GmbH

IGEL Management Interface

4. Weitere Aktionen Thin Client-Verzeichnis verschieben

23

Kommando an Thin Clients schicken

24

Anfragen debuggen

25

Thin Client-Verzeichnis verschieben ➢ Um Thin Clients oder Verzeichnisse zu verschieben senden Sie eine PUT-Anfrage an das Zielverzeichnis und hängen ?operation=move an die URL. Im Inhaltsteil der Anfrage muss sich eine Liste von API-Objekte im JSON-Format befinden, die die zu verschiebenden Ressourcen angeben. Ein API-Objekt bisitzt eine ID und einen Typ. curl \ --request PUT \ --header 'Cookie: JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ --header "Content-type: application/json" \ --data '[ { "id":"77123", "type":"tcdirectory"},\ { "id":"1234",

"type":"tcdirectory" } ]' \

https://[server]:8443/umsapi/v3/directories/tcdirectories/15592?oper ation=move Antwort Die folgende Antwort enthält eine Fehlermeldung für ein Verzeichnis und eine Erfolgsmeldung für das andere: 200 OK --[ { "id": "1234", "results": "does_not_exist" }, { "id": "77123", "results": "successful" } ]

23 IGEL Technology GmbH

IGEL Management Interface

Kommando an Thin Clients schicken ➢ Senden Sie eine POST-Anfrage an /v3/thinclients?command=[Kommando], um ein Kommando an einen oder mehrere Thin Clients zu schicken. Mögliche Kommandos sind: -

reboot shutdown wakeup settings2tc tcreset2facdefs

Im Inhaltsteil der Anfrage befindet sich eine Liste von API-Objekten, die für die adressierten Thin Clients stehen. Um das Kommando reboot an zwei Thin Cients zu schicken, senden Sie folgende Anfrage an IMI: curl \ --request POST \ JSESSIONID=3FB2F3F6A089FE9029DFD6DAFEF146DC' \ --header "Content-type: application/json" \ --data '[{"id":"27", "type":"tc"},{"id":"72014", "type":"tc"}]' \ https://[server]:8443/umsapi/v3/thinclients?command=reboot Antwort IMI antwortet mit einem JSON-Dokument, das die Resultate des Befehls für jeden angesprochenen Thin Client enthält:

24 IGEL Technology GmbH

IGEL Management Interface

{ "CommandExecList": [ { "execID": "ID-PM-MH-WIN7-UMS-54530-1456839861871-5-0", "id": "72014", "mac": "00E0C561EEED", "exectime": "1456845240566", "message": "OK", "state": "SUCCESS" }, { "execID": "ID-PM-MH-WIN7-UMS-54530-1456839861871-5-0", "id": "27", "mac": "00E0C54DCB8E", "exectime": "1456845240560", "message": "OK", "state": "SUCCESS" } ] }

Anfragen debuggen Fehler-Codes Um Fehlern bei der Kommunikation mit IMI auf die Spur zu kommen, beachten Sie • •

die HTTP-Status-Codes der Antworten die Messages und Error-Codes im Inhaltsteil der Antworten:

HTTP-Proxy Um im Detail zu sehen, welche HTTP-Anfragen Ihre Skripte und Programme produzieren, können Sie einen HTTP-Proxy verwenden. Ein solcher Proxy schaltet sich zwischen Client und IMI und macht die übertragenen Anfragen einsehbar und in manchen Fällen auch bearbeitbar.

25 IGEL Technology GmbH

IGEL Management Interface

Ein kostenloses Open-Source-Programm für diesen Zweck ist OWASP ZAP (https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project). Verwenden Sie Proxys nur zur Fehlersuche in Ihren eigenen HTTP-Anfragen. Das Mitlesen des Netzwerkverkehrs anderer ist in der Regel strafbar.

Abbildung 5: Einsatz des Proxy OWASP ZAP.

26 IGEL Technology GmbH

IGEL Management Interface

Thin Client-Verzeichnis verschieben .................. 23

5. Index A Alle Thin Clients auflisten ...................................11 Alle Thin-Client-Verzeichnisse auflisten .............17

V Voraussetzungen für den Einsatz .........................6 W Weitere Aktionen .............................................. 23

Anfragen debuggen ............................................25 Authentifizierung ................................................10 E Erste Schritte mit IMI............................................ 7 F Formatierungen und Bedeutung .......................... 3 G Getting All Details about a Thin Client ...............14 H HTTP-Methoden ................................................... 6 I IGEL Management Interface (IMI) ........................ 4 Informationen zu einem Thin Client aufrufen ....13 K Kommando an Thin Clients schicken ..................24 L Lizenzierung .......................................................... 5 O Online-Status eines Thin Clients abfragen .........16 R Ressourcen ........................................................... 5 Ressourcen anlegen, verändern und löschen ....17 REST-Clients und -Bibliotheken ............................ 7 REST-Grundlagen .................................................. 5 S Serverstatus abfragen .......................................... 9 T Thin Client-Verzeichnis ändern...........................21 Thin Client-Verzeichnis anlegen .........................20 Thin Client-Verzeichnis löschen ..........................21 27 IGEL Technology GmbH

IGEL Management Interface