Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Search

    Primäre MAC Adresse in Report

    Betrieb
    3
    3
    512
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MaM last edited by

      Hallo zusmmane,

      ich möchte eine Übersicht der Rechner in meinem Netzwerk erstellen und habe dafür an den Report Manager gedacht.
      Ich möchte einen CSV-Export erstellen, indem jeder Rechner in einer Zeile aufgelistet wird, dazu seine primäre IP-Adresse und die entsprechende MAC Adresse und alle weiteren IP- und MAC Adressen in einem Feld jeweils durch Komma oder Semikolon getrennt.

      1. Primäre IP-Adresse geht über die Eigenschaft "Use Primary Host Adress", aber wie bekomme ich die dazugehörige MAC-Adresse?
      2. Kann ich bei Eigenschaften, die mehrere Werte enthalten eine Ausgabe erzeugen, sodass die einzelnen Werte durch Kommata getrennt in eine Ausgabezeile geschrieben werden?

      Vielen Dank für eure Hilfe!
      MaM

      1 Reply Last reply Reply Quote 0
      • J
        jkondek i-doit Kenner last edited by

        Hallo MaM,

        so einfach scheint das nicht zu gehen, habe jetzt auf SQL Ebene folgendes Statement zusammen gebaut, zumindest ist damit 1. erledigt:

        SELECT
        j1.isys_obj__id AS 'id',
        j1.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1',
        j4.isys_cats_net_ip_addresses_list__title AS 'LC__CATG__IP__PRIMARY_ADDRESS###47',
        j2.isys_catg_port_list__mac AS 'LC__CMDB__CATG__PORT__MAC###39'

        FROM isys_obj AS j1
        INNER JOIN isys_catg_port_list AS j2 ON j2.isys_catg_port_list__isys_obj__id = j1.isys_obj__id
        INNER JOIN isys_catg_ip_list AS j7 ON j1.isys_obj__id = j7.isys_catg_ip_list__isys_obj__id AND j7.isys_catg_ip_list__primary = 1 
        INNER JOIN isys_cats_net_ip_addresses_list AS j4 ON j7.isys_catg_ip_list__isys_cats_net_ip_addresses_list__id = j4.isys_cats_net_ip_addresses_list__id AND j7.isys_catg_ip_list__primary = 1 
        INNER JOIN isys_obj AS j6 ON j6.isys_obj__id = j4.isys_cats_net_ip_addresses_list__isys_obj__id

        WHERE TRUE
        AND j1.isys_obj__isys_obj_type__id != '60'
        AND j1.isys_obj__isys_obj_type__id = '5'
        AND j2.isys_catg_port_list__id = j7.isys_catg_ip_list__isys_catg_port_list__id

        Zu 2.:
        Nur auf SQL Ebene, per Abfrage Editor geht das nicht.

        Gruss,
        jkondek

        1 Reply Last reply Reply Quote 0
        • dkirsten
          dkirsten last edited by

          Hi,

          zu Punkt 1)

          Du musst im Report Manager einen Report im SQL Modus erstellen. Hier ist exemplarisch ein Report, der die Primären IP-Adressen und dazugehörigen Mac-Adressen aller Clients ausgibt:

          SELECT
          obj_main.isys_obj__id AS 'id',
          obj_main.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1',
          j4.isys_cats_net_ip_addresses_list__title AS 'LC__CATG__IP__PRIMARY_ADDRESS###47',
          j2.isys_catg_port_list__mac AS 'LC__CMDB__CATG__PORT__MAC###39'

          FROM isys_obj AS obj_main
          INNER JOIN isys_cmdb_status AS obj_main_status ON obj_main_status.isys_cmdb_status__id = obj_main.isys_obj__isys_cmdb_status__id
          LEFT JOIN isys_catg_ip_list AS j7 ON obj_main.isys_obj__id = j7.isys_catg_ip_list__isys_obj__id AND j7.isys_catg_ip_list__primary = 1
          LEFT JOIN isys_cats_net_ip_addresses_list AS j4 ON j7.isys_catg_ip_list__isys_cats_net_ip_addresses_list__id = j4.isys_cats_net_ip_addresses_list__id AND j7.isys_catg_ip_list__primary = 1
          LEFT JOIN isys_catg_port_list AS j2 ON j2.isys_catg_port_list__id = j7.isys_catg_ip_list__isys_catg_port_list__id
          LEFT JOIN isys_obj_type AS j10 ON j10.isys_obj_type__id = obj_main.isys_obj__isys_obj_type__id

          WHERE TRUE
          AND  ( (j10.isys_obj_type__id != '60' ) AND (j10.isys_obj_type__id != '60' ) ) AND ( (j10.isys_obj_type__id = '10' ) ) ORDER BY obj_main.isys_obj__title ASC ;

          Zu 2)

          auch das geht nur mit SQL. GROUP_CONCAT ist das Stichwort. Das ist allerdings nicht mal eben so gemacht…

          Viele Grüße,

          Daniel

          1 Reply Last reply Reply Quote 0
          • First post
            Last post