thegreenhorn
Goto Top

Registrywert umwandeln in Datum und Uhrzeit

Hallo trotz intensiver Google suche und auch durchforsten des Forums habe ich leider noch keien Antwort für meine Fragestellung gefunden, oder war ich etwas blind ??

Ich bin zur Zeit dabei die Registry Remote auszuwerten, besonders interssiert mich natürlich der Virenscanner incl. den VDF Dateien (wir setzten im Hause Avira Professional ein)

In der Registry finde ich folgende Werte und muss gestehen das ich nicht weiss wie ich die per Script umwandeln kann.

vdfDat = 131727873
LastUpdate = 1265022034

Frage: Wie kann ich die Zahl umwandeln damit ich den passenden Wert, Datum und Uhrzeit erhalte.

Möchte es nicht über Excel machen sondern über ein kleines Script das den Wert dann sauber formartiert.

Danke für die Unterstützung

Gruß
TheGreenhorn

Content-ID: 134862

Url: https://administrator.de/contentid/134862

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

60730
60730 01.02.2010 um 15:28:28 Uhr
Goto Top
Servus,

so ganz banal pauschal...

Den Fund in der Registry heute "sichern" - morgen erneut neue Signaturen herunterladen und den betreffenden Wert in der Registry auslesen und dichern.

Den Unterschied, zwischen heute und morgen herausfinden und schon bist du mindestens einen Schritt näher.

Da mir aber weder Excel was in dem Zusammenhang sagt, noch der Hintergrund was du da "eigentlich" vorhast - bzw. ich mir bei Avira Pro nicht sicher bin, ob die nicht vom Werk aus schon eine Signaturverwaltung haben...

Nur soviel erstmal. btw: was das für Werte wären, die du da oben gepostet hast - wäre auch interessant. Reg Binary??

Gruß
TsukiSan
TsukiSan 01.02.2010 um 15:52:01 Uhr
Goto Top
Reg Binary??
oder Sekunden, kg, mm, Minuten?

Gruss
Tsuki
TheGreenhorn
TheGreenhorn 01.02.2010 um 16:31:19 Uhr
Goto Top
Hallo,

danke für die ersten Antworten. Es geht mir darum das ich gerne eine Auswertung über die VDF Stände und LastScan us.w. bei den Clients haben möchte.

Avira bietet zwar auch eine SMC Console an, jedoch ist das Reporting /Auswertung da drinnen für die Katz.

Da wir bereits eine Client Managmentsoftware einsetztenist das auslesen der Daten für sich sehr einfach.
Nur kann ich eben wirklich nichts mit den Werten anfangen.

Deshalb ja die Frage -)

Last Update vorhin:
LastUpdate = 1265022034
Last Update jetzt (ca. 16:20 Uhr)
LastUpdate = 1265037645

Differenz:=15611 Sekunden (so weit bin ich schon gekommen), als 4,33 Stunden

Das bedeutet also 01.02.2010 16:26 - 1265037645 müsste das Anfangsdatum geben gegen das ich dann rechnen muss, oder sehe ich das falsch ?

Nur wie rechne ich das in einem Script ?

Gruß

TheGreenhorn
Biber
Biber 01.02.2010 um 18:44:45 Uhr
Goto Top
Moin TheGreenhorn,

der Zeit/Datumswert, den du in der Registry vorfindest, ist ein so genannter Unix-Timestamp.
Oder weniger hochtrabend ausgedrückt - die Summe aller Sekunden, die seit dem 1.1.1970 vertröpfelt sind (+/- ein paar Stunden Lokale Zeitzone).

Überprüfen kannst du das auf ~zig Seiten im Netz - Suche nach "Unix-Timestamp umrechnen" oder ähnlich.
Einer der handelsüblichen Umrechner ist z.B hier (nur zur Überprüfung/Verifizierung).

Ebenso ist natürlich auch der Algorithmus kein Hexenwerk, und je nachdem, mit welchem Werkzeug du da rumdoktorst findest du auch entsprechende Vorlagen für ziemlich alle Hoch- und die meisten Heimwerkersprachen.

[Edit] Vereinfacht zur allgemeinen Annäherung:
Dein lustiger Wert [1265037645] würde überschlägig etwas übersichtlicher, wenn du ihn erstmal durch 86400 dividierst (60sec*60min*24h == 1 Tag)
Wenn du das mit der gefühlten durchschnittlichen Dauer eines Jahres multiplizierst (ich schlag mal vor so ca. 365,25 Tage) dann erhältst du als Ergebnis, dass
1265037645 / ( 86400*365,25) = 40,087 [Jahre]
... seit dem "Nullpunkt" 1.1.1970 vergangen sind.
Nur, damit es nicht so ganz abstrakt bleibt.
[/Edit]

So ganz genau habe ich deine Frage nicht einsortieren können, weil du schreibst "über ein kleines Script das den Wert dann sauber formartiert." und der Beitrag hängt allgemein in "Windows".... gibt es schon eine Art detaillierten Plan zur Umsetzung?

Grüße
Biber
TsukiSan
TsukiSan 02.02.2010 um 00:04:03 Uhr
Goto Top
und wenn man bibers Anregung nimmt und rechnet sich das letzte Datum um und noch etwas mit "Datedif" spielt
(hier nur mal ein Beispiel in VBS)
Ergebnis = DateDiff("s", "1.1.1970","02.02.2010")  
msgbox Ergebnis
dann hat man mit wenigen Zeilen das, was man möchte

Gruss
Tsuki
Biber
Biber 02.02.2010 um 09:39:15 Uhr
Goto Top
...beziehungsweise, ergänzend zu Tsuki Sans Beispiel

Ergebnis = DateAdd("s", 1265037645, "01.01.1970")  
Wscript.echo Ergebnis
' liefert: 01.02.10 15:20:45  

[Zu beachten ist die eine Stunde Abweichung, also 15:20h statt 16:20 wegen der nicht berücksichtigten Zeitzone.
Ob das bei der Anforderung hier überhaupt eine Rolle spielt, ob die Zeitzone aus der Registry/den Windows-Einstellungen ausgelesen werden muss oder "weil ich es weiß" einfach als Konstante draufgerechnet werden soll.... da will ich nicht vorgreifen.]

Grüße
Biber
TheGreenhorn
TheGreenhorn 02.02.2010 um 10:56:12 Uhr
Goto Top
Hallo Biber, hallo Tsuki und Co.

Danke für die tolle Unterstützung die die Ausführliche Erläuterungen.

Mit sauber formatieren, meinte ich das das Datum und Uhrzeit in dem Format 01.02.10 15:20:45 angezeigt wird.

Danke nochmals

Gruß

The Greenhorn (der Name steht zur Zeit noch für den Wissenstand, ändert sich aber, versprochen)