Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Genaue Zeit mit get-date exportieren und erneut importieren

$
0
0

Hallo zusammen,

ich hoffe dass man mir hier mit meiner recht komplexen Frage weiterhelfen kann...

Folgende Situation: Ich bin momentan dabei ein Logging Framework für meine Powershellskripte zu schreiben und möchte ein Log schreiben, in dem das Datum und die genaue Zeit festgehalten wird. Das Framework besteht aus 2 PS Skripten. Das erste wird beim Aufruf des Skripts in der ersten Zeile eingetragen und aktiviert das Logging für das Skript, das zweite wird in die letzte Zeile eingetragen um einen weiteren Logeintrag zu generieren, in dem die Zeit festgehalten wird, die das Skript gelaufen ist. Die Übergabe der Startzeit an das beendende Skript wird durch eine Textdatei nach folgendem Muster erreicht:

"User A hat das Skript X gestartet: Donnerstag, 11. April 2013 11:06:53"

Dieser Wert lässt sich auch problemlos durch Stringzerlegung auslesen, mit get-date in ein Datum umwandeln und von einem neueren get-date abziehen um die Zeitdifferenz zu erhalten, aber diese Angabe ist mir leider zu ungenau. Wenn ich den normalen Output von get-date exportiere werden die Millisekunden nicht ausgespuckt. Wenn ich diese nun durch Stringmanipulation anhänge wird der String von get-date nicht mehr als gültiger String anerkannt. In PS selber ist es möglich die Daten als Ticks zu exportieren und wenn ich diesen Wert manuell als get-date($VariableMitDemTicksWert) aufrufe erhalte ich das richtige und genaue Datum, aber leider funktioniert dies nicht wenn ich die Daten erst in eine .txt Datei exportiere und dann erneut als String einlese.

Gibt es eine Möglichkeit das Datum in präziser Form(Entweder mit Millisekunden oder als Ticks) in eine Textdatei zu exportieren, diese dann später einzulesen und mit get-date in ein gültiges Datum umzuwandeln?

Ich erhalte immer nur folgende Fehlermeldung wenn die Ticks importiert werden:

Get-Date : Cannot bind parameter 'Date'. Cannot convert value "635012065831555606
" to type "System.DateTime". Error: "String was not recognized as a valid DateTime."
At E:\Sources\Administration\end-logging.ps1:31 char:18
+ $Start = get-date <<<< ("$Start")
    + CategoryInfo          : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.GetDateCommand

Gruß Christian


Viewing all articles
Browse latest Browse all 2314

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>