Forum › Foren › Customizing › Ausgabe von Seriennummer, Betriebssystem, BIOS-Version, etc.
Neue Docusnap-Version, neues Forum: Entdecken Sie unsere Docusnap Community.
Dieses Thema enthält 8 Antworten und 3 Teilnehmer. Es wurde zuletzt aktualisiert von Docusnap Support vor 1 Jahr, 1 Monat.
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.
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
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.
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
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.
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
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
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
*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}
Forums are currently locked.