Forum Foren Customizing Ausgabe von Seriennummer, Betriebssystem, BIOS-Version, etc.

Ausgabe von Seriennummer, Betriebssystem, BIOS-Version, etc.

Dieses Thema enthält 8 Antworten und 3 Teilnehmer. Es wurde zuletzt aktualisiert von  Docusnap Support vor 8 Monate, 3 Wochen.

Ansicht von 9 Beiträgen - 1 bis 9 (von insgesamt 9)
  • Teilnehmer
    Beiträge: 4

    Guten Morgen miteinander,

    ich möchte gerne für unsere Systemgruppen einen bericht generieren, welcher unter anderem auch die Informationen der Datenblätter enthält, also hauptsächlich Modelltyp, Seriennr., Architektur, Betriebssystemversion, BIOS-Datum und AD-Beschreibung des Computers.

    Jetzt habe ich mir die Abfrage aus dem vorhandenen Bericht kopiert und in dem neuen Bericht angepasst. So weit bin ich:

    select tDomains.DomainID, tDomains.DomainName, tHosts.HostID, tHosts.HostName, tHosts.ADSContainer,
    tDocu.ScanDate, tDocu.Archiv, tDocu.SnapShotID,
    (    select TypeText from tDocuWindows, tLanguageTypes, tLanguageTypeText
    where tDocuWindows.HostLanguage = tLanguageTypes.TypeName and
    tLanguageTypes.TypeID = tLanguageTypeText.TypeID and
    tDocuWindows.DocuID = {PrimaryKey} and tLanguageTypeText.LanguageID = {LanguageID}) as HostLanguageText,
    AccountName, tAccounts.AccountID, tDocuWindows.*
    from tAccounts, tDomains, tHosts, tDocu, tDocuWindows, tHostGroupMembers, tDevices
    where tDevices.DocuID = tDocu.DocuID and tDocu.HostID = tHosts.HostID
    and Archiv = 0
    and tHosts.HostID = tHostGroupMembers.HostID and tHostGroupMembers.HostGroupID = {PrimaryKey}

    Dies gibt mir jedoch mehrere hundert Seiten aus mit allen Computern, jedoch nicht beschränkt auf die jeweilige Systemgruppe.

    Was ist falsch am Statement? Ich bin leider kein SQL-Experte.

    Vielen Dank schon mal für die aufschlussreichen Beiträge.

    Teilnehmer
    Beiträge: 88

    Hallo,

    alternativ würde ich ihnen ein IT-Konzept nahelegen, welches sie mit einem CONNECT-Paket befüllen lassen. Dadurch ist man immer flexibler als mit einem starren Report, Vorrausgesetzt CONNECT ist in der Lizenz enthalten (Premium/Ultimate).

     

    Workshop’s zum Thema bieten wir gern an.

     

    Frank Oehlschlägel

    Docusnap MVP

     

    frank.oehlschlaegel@alpha2000.de

    http://www.alpha2000.de

    Teilnehmer
    Beiträge: 4

    Guten Morgen,

    danke für das Feedback und Angebot, aber Connect kommt in diesem Fall eher weniger in Frage aufgrund dessen das der Export etwas zu starr ist. Unsere Lizenz enthält Connect. Es geht uns aber eher um die Erweiterung des Standardberichtes „Systemgrupen Hardware Aufstellung“, dem wir die genannten Daten hinzufügen möchten, zusätzlich zu den vorhandenen Daten wie RAM, SCSI, GPU.

    Keymaster
    Beiträge: 1673

    Hallo,

     

    vielen Dank für Ihren Beitrag im Docusnap Forum.

     

    Ihre Anforderung ist das Erweitern eines bereits bestehenden Systemgruppen-Berichts um zusätzliche Informationen.

    Das von Ihnen verfasste Statement inkludiert zweimal den {PrimaryKey} – einmal als tDocuWindows.DocuID sowie ein weiteres Mal als tHostGroupMembers.HostGroupID.

    Dies ist aus logsicher Sicht nicht möglich, da die Variable {PrimaryKey} beim Ausführen des Berichtes den jeweiligen Wert des darüberliegenden Objekts zugewiesen bekommt, dieser kann nicht zeitgleich eine DocuID sowie eine HostGroupID sein.

     

    Unser Konfigurationshandbuch bietet weiter Informationen zu diesem Thema PrimaryKey sowie weitere Themen:

    https://www.docusnap.com/hilfe/docusnap-x/konfiguration/docusnap-berichte-designer-grundlagen.html

     

    Generell ist das Anpassen von Berichten immer mit einem gewissen Aufwand verbunden.

    In Ihrem Falle ist eine detailliertere Klärung im Support sinnvoll.

    Je nach Umfang können wir hier weiter unterstützen oder Ihre Anforderung per Dienstleistung lösen.

    Ich bitte Sie daher ein Ticket zu eröffnen:

    a) Per E-Mail an: support@docusnap.com

    b) Per Telefon unter: +49 8033 6978 – 4444

     

    Mit freundlichen Grüßen

    Ihr Docusnap Support

    Teilnehmer
    Beiträge: 4

    Sehr geehrte Damen und Herren,

    das war leider nicht Ziel der Anfrage. Danke für den Hinweis mit dem zweiten primary Key.

    Wir zahlten 3 Jahre lang für den DocuSnap Support, da wir diesen bisher nicht brauchten ist er Ende vergangenen Jahres ausgelaufen, da wir es nicht als nötig angesehen haben diesen zu verlängern. Das soll jetzt aber auch nicht Bestandteil dieser Anfrage hier sein. Wenn sich noch eine Lösung aus der Community heraus findet, dann gut, ansonsten vergessen wir das einfach und machen den Abgleich andersweitig.

    Vielen Dank dennoch.

    Keymaster
    Beiträge: 1673

    Guten Tag,

     

    selbstverständlich werden wir Ihr Anliegen gemeinsam lösen. Das untenstehende Statement beinhaltet von den SQL Joins die korrekte Schreibweise. Es sollten alle Tabelle enthalten sein, welche die benötigten Felder enthalten (Modelltyp, Seriennummer, Architektur, Betriebssystemversion, BIOS-Datum und AD Beschreibung). Wenn Sie andere / weitere Felder ausgeben lassen möchten, kann das SELECT Statement um diese erweitert werden:

     

    SELECT tHostGroups.HostGroupID, tHostGroups.HostGroupName,

    tHostGroupMembers.HostGroupMemberID,

    tDomains.DomainID, tDomains.DomainName,

    tHosts.HostID, tHosts.HostName,

    tHosts.ADSContainer,

    tDocu.DocuID, tDocu.ScanDate,

    tADSObjectMultiValue.ADSObjectValue AS Beschreibung

    FROM tHostGroups

    INNER JOIN tHostGroupMembers ON tHostGroups.HostGroupID = tHostGroupMembers.HostGroupID

    INNER JOIN tHosts ON tHostGroupMembers.HostID = tHosts.HostID

    INNER JOIN tDomains ON tDomains.DomainID = tHosts.DomainID

    INNER JOIN tDocu ON tHosts.HostID = tDocu.HostID

    INNER JOIN tDocuWindows ON tDocu.DocuID = tDocuWindows.DocuID

    LEFT OUTER JOIN tADSObject ON tADSObject.Name = tHosts.HostName AND tADSObject.SchemaName = ‚computer‘

    LEFT OUTER JOIN tADSObjectValue ON tADSObjectValue.ADSObjectID = tADSObject.ADSObjectID AND ADSPropertyID = ‚1‘

    LEFT OUTER JOIN tADSProperty ON tADSProperty.ADSPropertyID = tADSObjectValue.ADSPropertyID

    LEFT OUTER JOIN tADSObjectMultiValue ON tADSObject.ADSObjectID = tADSObjectMultiValue.ADSObjectID

    LEFT OUTER JOIN tADSDocu ON tADSDocu.DocuID = tADSObject.DocuID

    WHERE tADSDocu.Archiv = 0 AND tDocu.Archiv = 0

     

     

    Mit freundlichen Grüßen

    Ihr Docusnap Support

    Teilnehmer
    Beiträge: 4

    Hallo,

    vielen Dank für das neue Statement, jedoch gibt es damit ein Problem.

    Übernehme ich das Statement so wie es ist, so werden keine der genannten Spalten ausgelesen (siehe Screenshot).

    Erweitere ich die Abfrage um diverse tDocuWindows Felder, dann wird zwar alles ausgegeben, aber eben auch alles. Sprich auch Computer die eigentlich gar nicht zur Systemgruppe gehören.

    So sieht das Statement nach der „Erweiterung“ aus.

    SELECT tHostGroups.HostGroupID, tHostGroups.HostGroupName,
    tHostGroupMembers.HostGroupMemberID,
    tDomains.DomainID, tDomains.DomainName,
    tHosts.HostID, tHosts.HostName,
    tHosts.ADSContainer,
    tDocu.DocuID, tDocu.ScanDate,
    tADSObjectMultiValue.ADSObjectValue AS Beschreibung,
    tDocuWindows.OS, tDocuWindows.SerialNumber, tDocuWindows.OSArchitecture, tDocuWindows.BiosReleaseDate
    FROM tHostGroups
    INNER JOIN tHostGroupMembers ON tHostGroups.HostGroupID = tHostGroupMembers.HostGroupID
    INNER JOIN tHosts ON tHostGroupMembers.HostID = tHosts.HostID
    INNER JOIN tDomains ON tDomains.DomainID = tHosts.DomainID
    INNER JOIN tDocu ON tHosts.HostID = tDocu.HostID
    INNER JOIN tDocuWindows ON tDocu.DocuID = tDocuWindows.DocuID
    LEFT OUTER JOIN tADSObject ON tADSObject.Name = tHosts.HostName AND tADSObject.SchemaName = ‚computer‘
    LEFT OUTER JOIN tADSObjectValue ON tADSObjectValue.ADSObjectID = tADSObject.ADSObjectID AND ADSPropertyID = ‚1‘
    LEFT OUTER JOIN tADSProperty ON tADSProperty.ADSPropertyID = tADSObjectValue.ADSPropertyID
    LEFT OUTER JOIN tADSObjectMultiValue ON tADSObject.ADSObjectID = tADSObjectMultiValue.ADSObjectID
    LEFT OUTER JOIN tADSDocu ON tADSDocu.DocuID = tADSObject.DocuID
    WHERE tADSDocu.Archiv = 0 AND tDocu.Archiv = 0

    Anhänge:
    1. spalten.png

    Keymaster
    Beiträge: 1673

    Guten Tag,

     

    vielen Dank für Ihre Rückmeldung. Ist es machbar, dass Sie sich bei unserer Docusnap Support Hotline (+49 8033 6978 4444) melden oder eine kurze E-Mail an support@docusnap.com übersenden, damit wir das Verhalten über eine Fernwartung, in Form eines Tickets uns anschauen können.

     

    Die finale Lösung von dieser Thematik würden wir selbstverständlich hier nochmals darunter schreiben, damit jeder das SQL Statement einsehen kann, falls es in Zukunft benötigt wird.

     

     

    Vielen Dank und mit freundlichen Grüßen

    Ihr Docusnap Support

    Keymaster
    Beiträge: 1673

    *Nachtrag*:

    In dem oben genannten Statement hatte ein weiterer Filterwert gefehlt, welcher gezielt die Systemgruppen anspricht. Das finale Statement lautet daher wie folgt:

    SELECT tHostGroups.HostGroupID, tHostGroups.HostGroupName,

    tHostGroupMembers.HostGroupMemberID,

    tDomains.DomainID, tDomains.DomainName,

    tHosts.HostID, tHosts.HostName,

    tHosts.ADSContainer,

    tDocu.DocuID, tDocu.ScanDate,

    tADSObjectMultiValue.ADSObjectValue AS Beschreibung

    FROM tHostGroups

    INNER JOIN tHostGroupMembers ON tHostGroups.HostGroupID = tHostGroupMembers.HostGroupID

    INNER JOIN tHosts ON tHostGroupMembers.HostID = tHosts.HostID

    INNER JOIN tDomains ON tDomains.DomainID = tHosts.DomainID

    INNER JOIN tDocu ON tHosts.HostID = tDocu.HostID

    INNER JOIN tDocuWindows ON tDocu.DocuID = tDocuWindows.DocuID

    LEFT OUTER JOIN tADSObject ON tADSObject.Name = tHosts.HostName AND tADSObject.SchemaName = ‚computer‘

    LEFT OUTER JOIN tADSObjectValue ON tADSObjectValue.ADSObjectID = tADSObject.ADSObjectID AND ADSPropertyID = ‚1‘

    LEFT OUTER JOIN tADSProperty ON tADSProperty.ADSPropertyID = tADSObjectValue.ADSPropertyID

    LEFT OUTER JOIN tADSObjectMultiValue ON tADSObject.ADSObjectID = tADSObjectMultiValue.ADSObjectID

    LEFT OUTER JOIN tADSDocu ON tADSDocu.DocuID = tADSObject.DocuID

    WHERE tADSDocu.Archiv = 0 AND tDocu.Archiv = 0

    AND tHostGroupMembers.HostGroupID = {PrimaryKey}

Ansicht von 9 Beiträgen - 1 bis 9 (von insgesamt 9)

Du musst angemeldet sein, um auf dieses Thema antworten zu können.