| list_devicesA | Gibt eine einzelne Seite der Geräteliste zurück — NUR für seitenweise Übersichten.
NICHT für Suchen verwenden! Für Suchen nach Benutzer, Name, IP oder Gruppe
stattdessen search_devices(query=...) nutzen — ein einziger Call, alle Geräte.
Args:
type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.
limit: Anzahl Geräte pro Seite (Standard: 50, Max: 100).
page: Seitennummer, beginnend bei 0 (Standard: 0).
Returns:
Objekt mit 'data' (Geräteliste), 'totalItems', 'totalPages' und 'currentPage'.
|
| get_deviceA | Ruft alle Details zu einem einzelnen Gerät ab.
Akzeptiert sowohl eine GUID als auch einen Hostnamen (z.B. 'PCSWIT1984').
Enthält automatisch macmon NAC-Infos (VLAN, Sperrstatus), falls macmon konfiguriert ist.
Args:
device_id: GUID des Geräts (aus list_devices) ODER Hostname (z.B. 'PCSWIT1984').
Returns:
Vollständiges Geräte-Objekt mit allen Feldern inkl. Hardware,
OS-Version, letzter Benutzer, Gruppe, Agent-Status und macmon NAC-Status.
|
| get_software_inventoryA | Gibt die installierte Software auf einem Gerät zurück.
Akzeptiert Hostname (z.B. 'PCSWIT1984') oder GUID.
Args:
device_id: Hostname oder GUID des Geräts.
query: Optionaler Suchbegriff im Software-Namen (z.B. 'Chrome', 'Office').
Leer = alle installierten Programme.
Returns:
Objekt mit 'total' und 'software' (alphabetisch sortiert).
Felder je Eintrag: name, version, publisher, installDate.
|
| search_devicesA | Sucht Geräte nach Hostname, IP-Adresse, Benutzer oder Gruppe.
Die Suche ist case-insensitiv und prüft auf Teilübereinstimmung.
Args:
query: Suchbegriff — wird in Hostname, IP, registeredUser und
logicalGroup gesucht (z.B. 'PCSWIT1984', '192.168.50', 'Köln').
type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.
limit: Maximale Anzahl Ergebnisse (Standard: 20).
Returns:
Objekt mit 'data' (gefundene Geräte) und 'total'.
|
| search_job_definitionsA | Sucht Job-Definitionen nach Name oder Typ (Präfix).
Jobs folgen der Namenskonvention: INST: (Installation), DEINST: (Deinstallation),
RUN: (Skript/Aktion), UPD: (Update), SCAN:, OS:, REG:, INV:.
Args:
query: Suchbegriff im Job-Namen (z.B. 'Chrome', 'Edge', 'Office').
Leer = alle Jobs des angegebenen Typs.
type: Job-Typ als Präfix oder Kurzname:
'install' / 'INST:', 'uninstall' / 'DEINST:', 'run' / 'RUN:',
'update' / 'UPD:', 'scan' / 'SCAN:', 'os' / 'OS:'.
Leer = alle Typen durchsuchen.
limit: Maximale Anzahl Ergebnisse (Standard: 30).
Returns:
Objekt mit 'data' (Job-Liste) und 'total'.
Felder: id, name, displayName, type, folder, category.
|
| list_job_definitionsA | Listet alle Job-Definitionen seitenweise auf (20 pro Seite).
Für gezielte Suche besser search_job_definitions verwenden.
Args:
page: Seitennummer ab 0 (Standard: 0).
Returns:
Objekt mit 'data', 'totalItems' und 'totalPages'.
|
| list_job_instancesA | Listet die letzten Job-Ausführungen aller Geräte auf.
Args:
page: Seitennummer ab 0 (Standard: 0).
Returns:
Objekt mit 'data', 'totalItems' und 'totalPages'.
Felder: jobDefinitionName, endpointName, state, stateDescription,
start, lastAction, successfulExecutions, erroneousExecutions.
|
| get_job_instanceA | Gibt alle Details einer einzelnen Job-Ausführung zurück.
Args:
instance_id: GUID der Job-Instanz (id-Feld aus list_job_instances).
Returns:
Vollständiges Instanz-Objekt inkl. steps, Zeitstempel und Statusbeschreibung.
|
| get_job_definitionA | Gibt alle Details einer Job-Definition zurück.
Args:
definition_id: GUID der Job-Definition (id-Feld aus search_job_definitions).
Returns:
Vollständiges Definition-Objekt mit Typ, Ordner, Kategorie und Beschreibung.
|
| start_jobA | Startet einen Job auf einem Endpunkt (Softwareverteilung, Scan, Skript etc.).
WICHTIG: Standardmäßig ist dry_run=True — der Job wird NICHT wirklich gestartet,
sondern nur angezeigt, was passieren würde. Zum echten Starten dry_run=False setzen.
Immer zuerst mit dry_run=True bestätigen lassen, bevor der echte Start erfolgt.
Workflow:
1. search_job_definitions(query='Chrome', type='install') → job_definition_id
2. get_device(identifier='PCSWIT1234') oder search_devices(query='PCSWIT1234') → endpoint_id
3. start_job(job_definition_id=..., endpoint_id=..., dry_run=True) → Vorschau
4. start_job(job_definition_id=..., endpoint_id=..., dry_run=False) → Ausführen
Args:
job_definition_id: GUID der Job-Definition (aus search_job_definitions).
endpoint_id: GUID des Ziel-Endpunkts (aus get_device / search_devices).
dry_run: True (Standard) = nur Vorschau, kein API-Aufruf.
False = Job wird wirklich gestartet.
start_if_already_assigned: True (Standard) = Job auch starten wenn bereits zugewiesen.
False = nur starten wenn noch nicht zugewiesen.
Returns:
Bei dry_run=True: Vorschau-Objekt mit job- und endpoint-Details.
Bei dry_run=False: Neue Job-Instanz von der API (id, state, start, ...).
|
| report_os_distributionA | Erstellt eine Übersicht der Betriebssystem-Versionen aller verwalteten Geräte.
Hilfreich um veraltete OS-Versionen zu identifizieren (z.B. Windows 7 / Windows 10).
Args:
type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.
Returns:
Objekt mit 'total' und 'distribution' (Anzahl je OS-Version, absteigend sortiert).
|
| report_inactive_devicesA | Findet Geräte, die seit einer bestimmten Anzahl von Tagen nicht mehr gesehen wurden.
Args:
days: Schwellwert in Tagen (Standard: 30).
type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.
limit: Maximale Anzahl zurückgegebener Geräte (Standard: 50).
Returns:
Objekt mit 'total' und 'devices' (sortiert nach daysSinceLastSeen, absteigend).
|
| report_agent_healthA | Zeigt den Gesundheitsstatus des baramundi Client-Agenten über alle Geräte hinweg.
Identifiziert Geräte mit gestopptem oder fehlendem Agent.
Args:
type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.
Returns:
Objekt mit 'total', 'byState' (Anzahl je Agent-Status) und
'problematic' (Geräte mit nicht laufendem Agent).
|
| report_failed_jobsA | Listet Job-Instanzen mit Fehlern auf, sortiert nach Fehleranzahl.
Args:
limit: Maximale Anzahl zurückgegebener Einträge (Standard: 50).
Returns:
Objekt mit 'total' und 'instances' (sortiert nach erroneousExecutions, absteigend).
|
| get_device_update_statusA | Gibt den Windows-Update-Status eines einzelnen Geräts zurück.
Zeigt fehlende Updates (Critical, Security, Other) sowie letzten Scan- und Update-Zeitpunkt.
Args:
device_id: Hostname (z.B. 'PCSWIT1984') oder GUID des Geräts.
Returns:
Objekt mit Update-Profil, Anzahl fehlender Updates je Kategorie,
Zeitpunkt des letzten Inventars und letzten erfolgreichen Updates.
|
| report_update_complianceA | Zeigt eine Compliance-Übersicht aller Windows-Geräte nach Update-Status.
Ideal um veraltete oder nicht gepatchte Geräte zu identifizieren.
Args:
min_missing: Mindestanzahl fehlender Updates, damit ein Gerät gelistet wird
(Standard: 1 — alle Geräte mit mindestens einem fehlenden Update).
category: Welche Update-Kategorie berücksichtigt werden soll:
'critical', 'security', 'other' oder 'any' (Standard).
limit: Maximale Anzahl Geräte im Ergebnis (Standard: 50).
Returns:
Objekt mit 'summary' (Gesamtübersicht) und 'devices' (sortiert nach fehlenden Updates).
|
| get_vlan_statusA | Fragt den VLAN- und NAC-Status eines Clients in macmon ab.
Akzeptiert einen Hostnamen (z.B. 'PCSWIT1984') oder eine MAC-Adresse.
Bei Hostnamen wird die MAC automatisch über baramundi ermittelt.
Args:
identifier: Hostname (z.B. 'PCSWIT1984') oder MAC-Adresse
(Format: 'AA:BB:CC:DD:EE:FF' oder 'AABBCCDDEEFF').
Returns:
Objekt mit:
- mac: MAC-Adresse im macmon-Format
- active: True = Client aktiv/erlaubt, False = gesperrt
- authorizedVlans: Direkt am Client konfigurierte VLAN-IDs
- activeVlans: Aktuell aktive VLANs aus laufender Netzwerk-Session
- lastIp: Zuletzt gesehene IP-Adresse
- online: Aktuell im Netz sichtbar?
- endpointGroup: Zugewiesene Endpoint-Gruppe (bestimmt VLAN-Policy)
|