MC4Y-CMDB: Agenten und Crawler installieren
===========================================

Diese Anleitung führt Sie Schritt für Schritt durch die Installation. Sie brauchen keine Vorkenntnisse.
Jeder Schritt sagt, was Sie tun, was Sie danach sehen und wie Sie prüfen, ob es geklappt hat.

Stand: Oktober 2026. Lizenz: GPL-3.0-or-later.


INHALT
------
 1. Welcher Weg passt zu mir?
 2. Die Pakete – hier liegen sie zum Herunterladen
 3. Was Sie brauchen (je System)
 4. Schritt 1: Einrichtungsschlüssel in der Suite erzeugen
 5. Schritt 2: Paket herunterladen und entpacken
 6. Schritt 3: Installieren
    6.1  Windows 10 und Windows 11
    6.2  Windows Server ab 2016
    6.3  Linux (Ubuntu, Debian, Mint, Fedora, RHEL, openSUSE, Arch)
    6.4  Raspberry Pi 4 und 5
    6.5  Raspberry Pi 3 (mit pi-hole)
    6.6  macOS ab 12
    6.7  Android (Termux)
    6.8  Home Assistant (eigenes Betriebssystem)
    6.9  Viele Windows-Rechner auf einmal
 7. Schritt 4: So prüfen Sie, ob es geklappt hat
 8. Häufige Probleme
    8.1  Der Virenscanner schlägt an
    8.2  Die Firewall sperrt die Verbindung
    8.3  Ein Proxy ist dazwischen
    8.4  Das Zertifikat wird nicht anerkannt
    8.5  Python fehlt
    8.6  „Einrichtungsschlüssel ungültig“
    8.7  Kein systemd
 9. Aktualisieren und Entfernen
10. Für Fachleute


1. WELCHER WEG PASST ZU MIR?
----------------------------
Es gibt drei Programme. Sie können eines oder mehrere nutzen.

AGENT – auf einem Rechner, den Sie selbst verwalten.
  Er meldet, was in diesem Rechner steckt: Hersteller, Modell, Seriennummer, Betriebssystem, Prozessor,
  Arbeitsspeicher, Festplatten, Netzwerkkarten, installierte Programme, laufende Dienste, Freigaben.
  Das ist der genaueste Weg. Nehmen Sie ihn für Ihre eigenen Rechner und Server.

CRAWLER – für Geräte, auf denen Sie nichts installieren können.
  Er durchsucht die Netze, die Sie in der Suite eintragen, und findet Drucker, Switche, Router, Kameras,
  Netzspeicher und fremde Rechner. Er stellt nur fest, ob ein Gerät antwortet, wie es heißt und welche
  MAC-Adresse es hat – er meldet sich nirgends an und probiert keine Kennwörter.
  Ein Crawler je Netz genügt.

HOME-ASSISTANT-INTEGRATION – wenn Sie Home Assistant nutzen.
  Sie meldet den Home-Assistant-Rechner und die Geräte, die Home Assistant verwaltet.

Alle drei liefern NUR Bestandsdaten. Keine Benutzernamen, keine Anmeldungen, keine Dateiinhalte.
Die Daten gehen ausschließlich an Ihre eigene Suite, nirgendwo anders hin.


2. DIE PAKETE – HIER LIEGEN SIE ZUM HERUNTERLADEN
--------------------------------------------------
Agenten und Crawler für Windows, Linux, Raspberry Pi, macOS und Android:

    https://www.my-coaching4you.de/downloads/experimentell/software/mc4y-erkennung.zip

Home-Assistant-Integration:

    https://www.my-coaching4you.de/downloads/experimentell/software/mc4y-cmdb-homeassistant.zip

Viele Windows-Rechner auf einmal einrichten (Verteiler):

    https://www.my-coaching4you.de/downloads/experimentell/software/mc4y-verteiler.zip

Alles auf einmal (Suite, Werkzeuge, Taskleiste und diese drei Pakete in einer Datei):

    https://www.my-coaching4you.de/downloads/experimentell/software/mc4y-alles.zip

Sie finden dieselben Pakete auch in der Suite unter  Verwaltung › CMDB › 📡 Erkennung  – dort kennt der
Download Ihre Suite-Adresse schon und legt sie mit ins Paket.

Hinweis: Die Pakete liegen unter „Experimentell – zum Ausprobieren“. Sie werden erprobt, bevor sie unter
„Ressourcen und Downloads“ erscheinen.


3. WAS SIE BRAUCHEN (JE SYSTEM)
-------------------------------
Für alle Wege:
  * Eine laufende MC4Y-Produktivitätssuite, die Sie über das Netz erreichen (https://…).
  * Einen Einrichtungsschlüssel aus dieser Suite (Schritt 1).
  * Eine ausgehende Verbindung zur Suite. Eingehend wird NICHTS gebraucht – kein offener Port auf dem
    Gerät, keine Portweiterleitung.

Dazu je System:

  Windows 10 / 11 / Server ab 2016
    * Administratorrechte auf diesem Rechner.
    * Python 3.8 oder neuer. Fehlt es, richtet der Installer es auf Wunsch selbst ein (über winget).
      Warum Python? Weil Agent und Crawler seit Oktober 2026 auch unter Windows mit Python laufen.
      Ein PowerShell-Programm, das als Systemkonto regelmäßig die installierte Software ausliest und
      verschickt, sieht für einen Virenscanner wie Schnüffelsoftware aus – genau das war vorher das
      Problem. Siehe 8.1.

  Linux
    * root-Rechte (sudo).
    * Python 3.8 oder neuer (fast immer schon vorhanden; sonst installiert das Skript es auf Wunsch).
    * systemd (bei Ubuntu, Debian, Mint, Fedora, RHEL, openSUSE und Arch vorhanden). Ohne systemd
      wird ein cron-Eintrag angelegt.

  Raspberry Pi
    * Raspberry Pi OS oder Ubuntu, root-Rechte, Python 3 (ist vorinstalliert).
    * Raspberry Pi 3: siehe 6.5 – dort gibt es eine Besonderheit.

  macOS ab 12 (Monterey)
    * Administratorrechte und das Kennwort Ihres Benutzerkontos.
    * Python 3.8 oder neuer. Prüfen Sie im Terminal: python3 --version
      Fehlt es: von https://www.python.org/downloads/macos/ installieren (oder: brew install python).

  Android
    * Termux und Termux:API, beide aus F-Droid (nicht aus dem Play Store – die Fassung dort ist veraltet).

  Home Assistant
    * Zugang zum Ordner „config“ (über das Add-on „File editor“, Samba oder SSH).


4. SCHRITT 1: EINRICHTUNGSSCHLÜSSEL IN DER SUITE ERZEUGEN
---------------------------------------------------------
 1. Melden Sie sich in Ihrer Suite als Administrator an.
 2. Gehen Sie auf  Verwaltung › CMDB › 📡 Erkennung.
 3. Klicken Sie unter „Einrichtungsschlüssel“ auf  „＋ Neuen Schlüssel“.
    Wählen Sie, wofür er gilt: „Agent“, „Crawler“ oder „beides“.
 4. Sie sehen jetzt einen Schlüssel aus Buchstaben und Zahlen. Schreiben Sie ihn ab oder klicken Sie auf
    „⬇ Einrichtungsdatei“ – dann erhalten Sie die Datei  mc4y-erkennung.json,  in der Adresse und
    Schlüssel schon stehen.

 Tipp: Legen Sie diese Datei später neben das Installationsskript. Dann müssen Sie Adresse und Schlüssel
 nicht eintippen.

 Der Schlüssel gilt nur für die Einrichtung. Danach bekommt jedes Gerät eine eigene Kennung; der
 Einrichtungsschlüssel wird auf dem Gerät nicht aufbewahrt.


5. SCHRITT 2: PAKET HERUNTERLADEN UND ENTPACKEN
------------------------------------------------
WINDOWS
 1. Öffnen Sie den Link aus Abschnitt 2 im Browser. Die Datei landet in „Downloads“.
 2. Klicken Sie die Datei  mc4y-erkennung.zip  mit der rechten Maustaste an und wählen Sie
    „Alle extrahieren…“, dann „Extrahieren“.
 3. Sie sehen jetzt einen Ordner  mc4y-erkennung  mit den Unterordnern  windows  und  python.
 4. Legen Sie die Datei  mc4y-erkennung.json  (aus Schritt 1) in den Ordner  windows.

LINUX, RASPBERRY PI, macOS
 1. Terminal öffnen.
 2. Herunterladen und entpacken:
        cd ~
        curl -LO https://www.my-coaching4you.de/downloads/experimentell/software/mc4y-erkennung.zip
        unzip mc4y-erkennung.zip -d mc4y-erkennung
        cd mc4y-erkennung/python
    (Fehlt unzip:  sudo apt install unzip  bzw.  sudo dnf install unzip,  sudo zypper install unzip,
     sudo pacman -S unzip.  Auf dem Mac ist unzip vorhanden.)
 3. Legen Sie  mc4y-erkennung.json  (aus Schritt 1) in diesen Ordner  python.

 Auf dem Mac verliert eine Datei beim Entpacken manchmal ihr Ausführungsrecht, und macOS sperrt
 heruntergeladene Skripte. Deshalb auf dem Mac so entpacken und freigeben:
        ditto -x -k ~/Downloads/mc4y-erkennung.zip ~/mc4y-erkennung
        xattr -dr com.apple.quarantine ~/mc4y-erkennung
        cd ~/mc4y-erkennung/python


6. SCHRITT 3: INSTALLIEREN
--------------------------

6.1  WINDOWS 10 UND WINDOWS 11
------------------------------
 1. Öffnen Sie den entpackten Ordner, dann den Unterordner  windows.
 2. Doppelklicken Sie auf  Agent-installieren.bat
    (für den Crawler:  Crawler-installieren.bat).
 3. Windows fragt, ob Änderungen zugelassen werden sollen. Klicken Sie auf „Ja“.
 4. Liegt  mc4y-erkennung.json  daneben, läuft alles durch. Sonst werden Adresse und Schlüssel gefragt.
 5. Fehlt Python, werden Sie gefragt, ob es eingerichtet werden soll. Antworten Sie mit  j.
 6. Sie werden gefragt, ob eine Firewall-Regel für ausgehende Verbindungen angelegt werden soll.
    Normalerweise ist das nicht nötig (Windows erlaubt ausgehende Verbindungen). Antworten Sie mit  j,
    wenn in Ihrem Unternehmen ausgehende Verbindungen gesperrt sind.
 7. Sie sehen jetzt:
        Fertig. Die Aufgabe MC4Y-CMDB-Agent läuft alle 5 Minuten und beim Hochfahren.
        Einstellungen/Protokoll: C:\ProgramData\MC4Y-CMDB\agent
        Probe der Verbindung:    "…\python.exe" "…\mc4y_agent.py" --pruefen

 Lieber über die Eingabeaufforderung? Dann in einer PowerShell:
        cd "$HOME\Downloads\mc4y-erkennung\windows"
        Get-ChildItem *.ps1 | Unblock-File
        powershell -ExecutionPolicy RemoteSigned -File .\installieren.ps1
 „Unblock-File“ entfernt die Markierung, die Windows auf Dateien aus dem Internet setzt;
 „RemoteSigned“ ist die übliche Einstellung, die örtliche Skripte ausführt. Beides gilt nur für
 diese Dateien bzw. diesen Aufruf und ändert nichts an Ihrem System. (Der Doppelklick auf
 Agent-installieren.bat erledigt beides selbst.)

6.2  WINDOWS SERVER AB 2016
---------------------------
Genau wie 6.1. Zwei Besonderheiten:

 * Auf einem Server gibt es winget oft nicht. Installieren Sie Python dann vorher von
   https://www.python.org/downloads/windows/  („Windows installer (64-bit)“) und setzen Sie bei der
   Installation das Häkchen „Install for all users“. Oder geben Sie dem Installer den Pfad mit:
        powershell -ExecutionPolicy RemoteSigned -File .\installieren.ps1 -Python "C:\Program Files\Python313\python.exe"
 * Python sollte maschinenweit installiert sein (nicht nur für Ihr Benutzerkonto), weil die Aufgabe
   unter dem Systemkonto läuft. Der Installer weist darauf hin, wenn das nicht so ist.

Auf einem Server ist meist auch der Crawler sinnvoll – er läuft dort immer und erreicht das ganze Netz:
        powershell -ExecutionPolicy RemoteSigned -File .\installieren.ps1 -Crawler

6.3  LINUX (UBUNTU, DEBIAN, MINT, FEDORA, RHEL, openSUSE, ARCH)
---------------------------------------------------------------
 1. Terminal öffnen, in den Ordner  python  wechseln (Schritt 2).
 2. Agent einrichten:
        sudo sh installieren.sh
    Crawler einrichten:
        sudo sh installieren.sh --crawler
    Ohne die Datei mc4y-erkennung.json geben Sie Adresse und Schlüssel mit:
        sudo sh installieren.sh --adresse https://suite.ihre-firma.example/ --schluessel ABCD1234
 3. Sie geben Ihr Kennwort ein (es erscheinen keine Zeichen).
 4. Fehlt Python 3, fragt das Skript, ob es installiert werden soll. Es nennt dabei den richtigen Befehl
    für Ihr System:
        Ubuntu, Debian, Mint, Raspberry Pi OS   apt-get install -y python3
        Fedora, RHEL, Rocky, AlmaLinux          dnf install -y python3
        openSUSE, SLES                          zypper --non-interactive install python3
        Arch, Manjaro, EndeavourOS              pacman -S --noconfirm python
        Alpine                                  apk add python3
 5. Sie sehen jetzt:
        Fertig. Der Dienst mc4y-cmdb-agent läuft und startet beim Hochfahren.
        Protokoll: /etc/mc4y-cmdb/agent/protokoll.txt
        Probe der Verbindung: sudo python3 /opt/mc4y-cmdb-agent/mc4y_agent.py --pruefen

 Erst nachsehen, was geschehen würde? Dann:
        sh installieren.sh --probelauf
 Das ändert nichts und braucht keine root-Rechte.

6.4  RASPBERRY PI 4 UND 5
-------------------------
Genau wie 6.3. Raspberry Pi OS und Ubuntu bringen Python 3 mit; es ist nichts vorzubereiten.
Der Pi wird in der CMDB als Einplatinenrechner geführt und mit seinem Modellnamen gemeldet
(zum Beispiel „Raspberry Pi 5 Model B Rev 1.0“).

Ein Raspberry Pi ist ein guter Platz für den CRAWLER: Er läuft rund um die Uhr und braucht wenig Strom.
        sudo sh installieren.sh --crawler

6.5  RASPBERRY PI 3 (MIT pi-hole)
---------------------------------
Wichtig: Auf einem Raspberry Pi 3 läuft das aktuelle Ubuntu nicht mehr vernünftig – der Rechner ist dafür
zu schwach. Das ist kein Problem für den Agenten:

 * Nehmen Sie dort  Raspberry Pi OS  (32 oder 64 Bit). Es bringt ein aktuelles Python 3 und systemd mit.
 * Läuft auf dem Gerät  pi-hole,  ist alles vorhanden, was gebraucht wird – pi-hole setzt selbst auf
   Raspberry Pi OS auf. Installieren Sie Agent oder Crawler einfach daneben:
        sudo sh installieren.sh
   oder
        sudo sh installieren.sh --crawler
 * Agent und Crawler kommen pi-hole nicht in die Quere: Sie öffnen keine Ports und horchen nicht auf
   Port 53 oder 80. Der Crawler fragt Geräte von außen ab, pi-hole beantwortet weiter die DNS-Anfragen.
 * Auf einem Pi 3 ist der Crawler etwas langsamer. Nehmen Sie dort lieber kleine Netze (ein /24) und
   lassen Sie den Durchlauf nicht öfter als stündlich laufen (in der Suite einstellbar).

 Prüfen Sie zuerst, was vorhanden ist:
        python3 --version        (3.8 oder neuer? dann passt es)
        cat /etc/os-release      (zeigt Raspberry Pi OS bzw. Debian)

6.6  macOS AB 12
----------------
 1. Terminal öffnen (Befehlstaste + Leertaste, „Terminal“ eingeben, Eingabetaste).
 2. In den Ordner  python  wechseln (Schritt 2, mit ditto und xattr entpacken).
 3. Starten – immer mit  bash  davor, nicht per Doppelklick:
        bash installieren-macos.command
    Für den Crawler:
        bash installieren-macos.command --crawler
 4. Das Skript holt sich selbst die Administratorrechte. Sie sehen:
        Es werden Administratorrechte benoetigt. Bitte das Kennwort eingeben (keine Zeichen sichtbar).
    Tippen Sie Ihr Kennwort und drücken Sie die Eingabetaste. Es erscheinen keine Punkte – das ist normal.
 5. Sie sehen jetzt:
        Fertig. Der Dienst laeuft und startet beim Anmelden am Mac.

 Fehlt Python, sagt das Skript es und nennt den Weg (python.org oder Homebrew). Danach erneut starten.

6.7  ANDROID (TERMUX)
---------------------
 1. Installieren Sie  Termux  und  Termux:API  aus F-Droid (https://f-droid.org).
 2. In Termux:
        pkg update
        pkg install python termux-api unzip
        termux-setup-storage          (Android fragt nach Zugriff auf Dateien – erlauben)
 3. Paket holen und entpacken:
        cd ~
        curl -LO https://www.my-coaching4you.de/downloads/experimentell/software/mc4y-erkennung.zip
        unzip mc4y-erkennung.zip -d mc4y-erkennung
        cd mc4y-erkennung/python
 4. Einrichten:
        bash installieren-termux.sh --adresse https://suite.ihre-firma.example/ --schluessel ABCD1234
 5. Sie sehen jetzt eine Meldung, dass der Durchgang über den Termux-Zeitplan läuft.

 Auf Android gibt es nur den Agenten, keinen Crawler.

6.8  HOME ASSISTANT (EIGENES BETRIEBSSYSTEM)
--------------------------------------------
Für Home Assistant OS (die fertige Abbilddatei) gibt es eine eigene Integration. Sie brauchen dort
weder Python noch ein Installationsskript.

 1. Laden Sie  mc4y-cmdb-homeassistant.zip  herunter (Link in Abschnitt 2) und entpacken Sie es.
 2. Sie sehen einen Ordner  custom_components  mit dem Unterordner  mc4y_cmdb.
 3. Kopieren Sie den Ordner  mc4y_cmdb  in den Ordner  config/custom_components  Ihrer Home-Assistant-
    Installation. Wege dorthin:
      * Add-on „File editor“ (am einfachsten): links im Menü öffnen, Ordner anlegen, Dateien hochladen.
      * Add-on „Samba share“: \\<Adresse-von-Home-Assistant>\config im Windows-Explorer öffnen.
      * Add-on „Advanced SSH & Web Terminal“: Dateien per scp kopieren.
    Gibt es  config/custom_components  noch nicht, legen Sie den Ordner an.
 4. Starten Sie Home Assistant neu:  Einstellungen › System › oben rechts ⋮ › Neu starten.
 5. Gehen Sie auf  Einstellungen › Geräte & Dienste › ＋ Integration hinzufügen,  suchen Sie
    „MC4Y CMDB“ und wählen Sie es aus.
 6. Tragen Sie die Adresse Ihrer Suite und den Einrichtungsschlüssel ein.
 7. Sie sehen jetzt die Integration mit dem Hinweis, wann zuletzt gemeldet wurde.

 Die Integration meldet den Home-Assistant-Rechner und die Geräte, die Home Assistant verwaltet.

6.9  VIELE WINDOWS-RECHNER AUF EINMAL
-------------------------------------
Wenn Sie den Agenten auf viele Windows-Rechner bringen wollen, nehmen Sie den Verteiler. Er richtet die
Rechner aus der Ferne ein (über WinRM) – Sie müssen nicht an jedes Gerät.

 1. In der Suite:  Verwaltung › CMDB › 📡 Erkennung › „Geräte verbinden“.
 2. Dort finden Sie den Download  mc4y-verteiler.zip  und die Datei  verteiler.json.
 3. Entpacken, dann  Verteiler-starten.bat  doppelklicken. Es öffnet sich die Ansicht im Browser.
 4. Rolle wählen, Rechnernamen eintragen (einer je Zeile), Administratorkonto und Kennwort angeben,
    „Verbindung prüfen“, dann „Ausrollen“.

 Für Linux-, Raspberry-Pi- und Mac-Ziele kann der Verteiler SSH nutzen (Schlüsseldatei angeben).

 Statt des Verteilers können Sie das Paket auch einmal auf eine Netzfreigabe legen und an jedem Rechner
 von dort installieren. Tippen Sie den Pfad in der langen Form oben in die Adressleiste des Explorers
 (\\server\software\MC4Y-CMDB), nicht über einen zugeordneten Laufwerksbuchstaben wie Z: – Windows zeigt
 zugeordnete Laufwerke einem Programm mit Administratorrechten nicht. Die Installationsskripte rechnen
 einen Laufwerksbuchstaben selbst um; die lange Form ist der verlässlichere Weg.


7. SCHRITT 4: SO PRÜFEN SIE, OB ES GEKLAPPT HAT
------------------------------------------------
Jedes Programm hat eine eingebaute Probe. Sie sagt in Klartext, was erlaubt ist und was fehlt – und sie
verändert nichts.

WINDOWS (in einer PowerShell):
    & "C:\Program Files\Python313\python.exe" "C:\Program Files\MC4Y-CMDB-Agent\mc4y_agent.py" --pruefen
  Den genauen Befehl nennt der Installer am Ende; Sie können ihn von dort kopieren.

LINUX, RASPBERRY PI, macOS:
    sudo python3 /opt/mc4y-cmdb-agent/mc4y_agent.py --pruefen
  (Crawler:  …/mc4y-cmdb-crawler/mc4y_crawler.py --pruefen;  auf dem Mac liegt der Ordner unter
   /usr/local/mc4y-cmdb-agent)

Sie sehen dann zum Beispiel:

    Probe der Verbindung zur Suite
      Adresse:       https://suite.ihre-firma.example/
      Gastgeber:     suite.ihre-firma.example   Port: 443   HTTPS
      Proxy:         keiner (direkt)
      Name:          loest auf -> 192.168.10.20
      Verbindung:    offen (6 ms)
      Zertifikat:    anerkannt, gueltig bis Apr 26 12:00:00 2027 GMT
      Suite:         antwortet (Intervall 60 Minuten)
      Ergebnis:      in Ordnung

Steht dort etwas anderes, hilft Abschnitt 8 weiter – jede Zeile nennt den Grund.

Weitere nützliche Befehle:
    --status     zeigt Adresse, Kennung und Intervall
    --jetzt      meldet sofort (statt auf den Zeitplan zu warten)

Und in der Suite sehen Sie das Gerät unter  Verwaltung › CMDB › 📡 Erkennung  in der Liste der Agenten
bzw. Crawler, mit dem Zeitpunkt der letzten Meldung.


8. HÄUFIGE PROBLEME
-------------------

8.1  DER VIRENSCANNER SCHLÄGT AN
Seit Oktober 2026 laufen Agent und Crawler unter Windows mit Python und nicht mehr mit PowerShell. Der
Grund: Ein PowerShell-Programm, das als Systemkonto regelmäßig die installierte Software ausliest und
über das Netz verschickt, entspricht genau dem Verhaltensmuster von Schnüffelsoftware. Virenscanner mit
Verhaltensüberwachung (zum Beispiel Bitdefender) greifen dann ein – auch beim Aktualisieren.

Die heutige Fassung vermeidet dieses Muster: lesbare Python-Dateien, kein verborgener Prozessstart, kein
Nachladen aus dem Netz, kein Eintrag in den Autostart, kein verstecktes Fenster.

Schlägt Ihr Virenscanner trotzdem an:
 * Sehen Sie in seiner Quarantäne nach, welche Datei betroffen ist, und holen Sie sie zurück.
 * Nehmen Sie diese Ordner als Ausnahme auf:
       C:\Program Files\MC4Y-CMDB-Agent
       C:\Program Files\MC4Y-CMDB-Crawler
 * Eine Datei, die in Quarantäne war, lässt sich manchmal erst nach einem Neustart wieder überschreiben.
   Wenn die Installation das meldet, starten Sie den Rechner neu und wiederholen sie.
 * Sicherheitseinstellungen ändern bitte nur Sie selbst – dieses Paket fasst sie nicht an.

8.2  DIE FIREWALL SPERRT DIE VERBINDUNG
Die Probe (Abschnitt 7) sagt es deutlich:

      Verbindung:    GESPERRT - Keine Antwort von … - die Verbindung wird vermutlich von einer Firewall verworfen.

Gebraucht wird:
 * AGENT: ausgehend HTTPS zur Suite (Port 443 oder der Port in der Adresse). Eingehend nichts.
 * CRAWLER: zusätzlich in die zu durchsuchenden Netze:
     – ausgehend ICMP Echo („Ping“),
     – ausgehend TCP 22, 53, 80, 139, 443, 445, 515, 631, 3389, 5900, 8006, 9100, 23, 161,
     – ausgehend UDP 161 nur, wenn Sie eine SNMP-Community eingetragen haben.
 * SERVER MIT DER SUITE: eingehend HTTPS. Sonst nichts.

Antwortet ein Gerät nicht auf Ping, ist das kein Fehler – die Windows-Firewall verwirft Ping-Anfragen
standardmäßig. Der Crawler prüft deshalb immer auch die üblichen TCP-Ports und findet solche Geräte
trotzdem. In der CMDB steht dann beim Gerät, wie es gefunden wurde („Gefunden über: TCP 445“).

Haben Sie eine Einbruchserkennung (IDS/IPS): Der Crawler arbeitet gedrosselt, kann aber als Netzscan
auffallen. Sprechen Sie den Zeitplan mit Ihrer IT ab und tragen Sie den Crawler als bekannte Quelle ein.

Firewall-Regel unter Windows nachträglich anlegen:
        powershell -ExecutionPolicy RemoteSigned -File .\installieren.ps1 -Firewall

8.3  EIN PROXY IST DAZWISCHEN
Normalerweise findet das Programm den Proxy des Systems selbst. Die Probe zeigt, welcher benutzt wird.
Sie können ihn auch angeben:
        --proxy http://proxy.ihre-firma.example:3128
Oder ausdrücklich keinen benutzen (bei einer Suite im eigenen Netz):
        --proxy ""
Verlangt der Proxy eine Anmeldung, meldet die Probe „Der Proxy verlangt eine Anmeldung (HTTP 407)“.
Dann tragen Sie die Suite im Proxy als Ausnahme ein.

Steht in der Probe „Auf … antwortet etwas, aber nicht wie ein HTTPS-Server“, liegt meist ein
Anmeldeportal (Gast-WLAN) oder ein die Verschlüsselung aufbrechender Proxy dazwischen.

8.4  DAS ZERTIFIKAT WIRD NICHT ANERKANNT
Das passiert, wenn Ihre Suite ein selbst ausgestelltes Zertifikat benutzt. Die Probe sagt:

      Zertifikat:    NICHT anerkannt - self signed certificate

Zwei Wege:
 a) Das Zertifikat der Suite mitgeben – es liegt in der Suite unter  /zertifikat/mc4y-suite.cer:
        --cafile "C:\Program Files\MC4Y-CMDB-Agent\mc4y-suite.cer"
    Beim Installieren können Sie es direkt übergeben:
        .\installieren.ps1 -Zertifikat .\mc4y-suite.cer
    Der Installer nimmt es dann auch in die vertrauenswürdigen Stammzertifikate von Windows auf.
 b) Das Zertifikat allen Rechnern bekannt machen (unter Windows über eine Gruppenrichtlinie).

8.5  PYTHON FEHLT
    Windows: Der Installer richtet Python auf Wunsch über winget ein. Fehlt winget (oft auf Servern),
             von https://www.python.org/downloads/windows/ installieren („Install for all users“).
    Linux:   Das Skript nennt den Befehl für Ihr System und installiert es auf Wunsch (siehe 6.3).
    macOS:   https://www.python.org/downloads/macos/  oder  brew install python
    Prüfen:  python3 --version     bzw. unter Windows:  python --version

8.6  „EINRICHTUNGSSCHLÜSSEL UNGÜLTIG“
 * Der Schlüssel gilt für eine Rolle. Ein Schlüssel für „Agent“ richtet keinen Crawler ein.
 * Schlüssel können in der Suite gelöscht werden. Erzeugen Sie einen neuen (Schritt 1).
 * Achten Sie auf Leerzeichen am Anfang oder Ende, wenn Sie den Schlüssel von Hand eintippen.
 * Einfacher: die Datei  mc4y-erkennung.json  neben das Installationsskript legen.

8.7  KEIN systemd
Auf Systemen ohne systemd (zum Beispiel Alpine oder in einem Behälter) legt das Skript einen
cron-Eintrag an, der alle fünf Minuten einen Durchgang startet. Gibt es auch cron nicht, nennt das
Skript den Befehl, den Sie in Ihren eigenen Zeitplan aufnehmen können.


9. AKTUALISIEREN UND ENTFERNEN
------------------------------
AKTUALISIEREN: Neues Paket herunterladen, entpacken und die Installation einfach erneut ausführen. Die
Anmeldung an der Suite bleibt erhalten – das Gerät behält seine Kennung und seinen Verlauf in der CMDB.
Die früheren PowerShell-Dateien werden dabei entfernt.

ENTFERNEN:
    Windows:      powershell -ExecutionPolicy RemoteSigned -File .\deinstallieren.ps1
                  (Crawler:  … .\deinstallieren.ps1 -Crawler)
    Linux/Pi:     sudo sh deinstallieren.sh            (bzw. --crawler)
    macOS:        bash deinstallieren-macos.command    (bzw. --crawler)
    Android:      bash deinstallieren-termux.sh
    Home Assistant: Integration löschen, dann den Ordner mc4y_cmdb entfernen und neu starten.

Das Gerät meldet sich dabei bei der Suite ab. Die Einstellungen bleiben liegen, damit eine erneute
Installation dieselbe Kennung benutzt. Sollen sie weg:
    Windows:  .\deinstallieren.ps1 -EinstellungenLoeschen
    Linux:    sudo sh deinstallieren.sh --einstellungen-loeschen

Was in der CMDB steht, bleibt. Dort können Sie das Gerät von Hand in den Papierkorb legen.


10. FÜR FACHLEUTE
-----------------
Dateien und Orte
    Windows   Programm   C:\Program Files\MC4Y-CMDB-Agent  (bzw. -Crawler)
              Daten      C:\ProgramData\MC4Y-CMDB\<rolle>\einstellungen.json, protokoll.txt
              Zeitplan   Geplante Aufgabe „MC4Y-CMDB-Agent“, Systemkonto, alle 5 Minuten + beim Start
    Linux     Programm   /opt/mc4y-cmdb-<rolle>/
              Daten      /etc/mc4y-cmdb/<rolle>/      (Rechte 0600)
              Dienst     systemd-Unit mc4y-cmdb-<rolle>.service
    macOS     Programm   /usr/local/mc4y-cmdb-<rolle>/
              Dienst     launchd  de.my-coaching4you.mc4y-cmdb-<rolle>
    Android   Programm   ~/mc4y-cmdb-<rolle>/, Zeitplan über termux-job-scheduler

Schalter (Agent und Crawler gleich)
    --adresse --schluessel --intervall <Minuten> --cafile <Datei> --proxy <URL|""> --name <Name>
    --einmal --jetzt --status --pruefen --abmelden --lang de|en
    Crawler zusätzlich: --community <SNMP-Community>

Schalter der Installationsskripte
    Windows   -Crawler -Adresse -Schluessel -Intervall -Puls -Community -Zertifikat -Python
              -OhnePython -Firewall -OhneFirewall -OhneStart -Probelauf -Still -Sprache de|en
    Linux     --crawler --adresse --schluessel --intervall --cafile --community --ohne-start
              --probelauf --ja --lang de|en
    macOS     wie Linux

Was gemeldet wird
    Format  mc4y-inventar  Fassung 1: system (Hersteller, Modell, Seriennummer, Kategorie, Domäne),
    bs, cpu, speicher, netzwerk (Name, MAC, IPv4/IPv6), datentraeger, partitionen, software, dienste,
    freigaben. KEINE Benutzernamen, Anmeldungen oder Dateiinhalte.
    Der Crawler meldet je Gerät: Adressen, MAC, Name (Reverse-DNS), offene Ports, Fundweg und – nur mit
    hinterlegter Community – SNMP sysName/sysDescr.

Woher die Angaben kommen (ohne Fremdpakete, nur Standardbibliothek)
    Windows   SMBIOS über GetSystemFirmwareTable, Registry, GetAdaptersAddresses, DeviceIoControl,
              Dienststeuerungs-Manager – kein WMI-Dienst, kein PowerShell, kein COM
    Linux     /sys/class/dmi, /proc, ip, dpkg/rpm/pacman, systemctl
    macOS     sysctl, ioreg, sw_vers, pkgutil, launchctl

Verhalten bei Störungen
    Nach einem Verbindungsfehler wartet das Programm 1, 2, 5, 10, 20, 30 und dann 60 Minuten. Derselbe
    Grund wird nur beim ersten Mal und danach alle zehn Versuche ins Protokoll geschrieben.

Zeitplan ändern
    In der Suite unter  Verwaltung › CMDB › 📡 Erkennung  je Teilnehmer („alle … Minuten melden“, „jetzt
    melden“). Der Takt der Aufgabe/des Dienstes bleibt davon unberührt (Vorgabe: alle 5 Minuten nachsehen).

Keine Voreinstellung, keine Telemetrie
    Die Pakete enthalten KEINE Suite-Adresse. Erst der Einrichtungsschlüssel (oder die Datei
    mc4y-erkennung.json aus Ihrer Suite) legt fest, wohin gemeldet wird. Es gibt keine Verbindung zu
    my-coaching4you.de, keine Update-Prüfung und keine Nutzungsstatistik. Die Daten bleiben in Ihrem Netz.
