Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Powershell DMTF Datumsformat konvertieren

Frage Entwicklung Batch & Shell

Mitglied: Marabunta

Marabunta (Level 1) - Jetzt verbinden

25.11.2014, aktualisiert 26.11.2014, 993 Aufrufe, 2 Kommentare

Ich versuche "TimeGenerated" vom Dmtf Format in ein lesbares YYYY-MM-DD HH:MM:SS umzuwandeln.



Der jetzige Code sieht so aus:

$objEvents = Get-Wmiobject -class Win32_NTLogEvent -computername $strMachine `
-filter "$strEventCode $strEventType TimeGenerated >= '$strDmtfDate'" |
Select-Object TimeGenerated, LogFile, SourceName, EventType, EventCode, Message
Sort-Object -property @{Expression={$_.TimeGenerated}; Ascending=$false}


if ($objEvents)
{
$objEvents | ConvertTo-Csv -NoTypeInformation -Delimiter ";" |
Out-File "$strCsvFile" -Append -Encoding Default


$objEvents | ConvertTo-HTML -title "EventlogReport $strLogDate" `
-body "<H4> $strOutput </H4>" `
-head $style `
-as Table |
Out-File "$strHtmlFile" -Append
}



##

Nach viel probieren sieht mein Testskript Ausgabe in der Konsole brauchbar aus, aber der Export übernimmt nicht alle Informationen?!...:

$time = [System.Management.ManagementDateTimeConverter]::ToDmtfDateTime((Get-Date).AddHours(-400))
$objEvents = Get-Wmiobject -class Win32_NTLogEvent -filter "EventType=1 and TimeGenerated>='$time'" |
select TimeGenerated, LogFile, SourceName, EventType, EventCode, Message |
Sort-Object -property @{Expression={$_.TimeGenerated}; Ascending=$false}

$konvtime=$objevents |select -expandproperty TimeGenerated | %{[System.Management.ManagementDateTimeconverter]::ToDateTime("$_")}
[int]$i="-1"
$Konvertiert=$konvtime |%{
$i=$i+1
$konvtime[$i]
$objEvents[$i].logfile
$objEvents[$i].sourcename
$objEvents[$i].eventtype
$objEvents[$i].eventcode
$objEvents[$i].message
}

$Konvertiert | ConvertTo-Csv -NoTypeInformation -Delimiter ";" |
Out-File "D:\test\out.csv" -Append -Force -Encoding Default

$Konvertiert | ConvertTo-HTML -title "EventlogReport $strLogDate" `
-body "<H4> $strOutput </H4>" `
-head $style `
-as Table |
Out-File "D:\test\out.html" -Append -Force

Mitglied: colinardo
LÖSUNG 25.11.2014, aktualisiert 26.11.2014
Moin,
dafür gibt es im WMI-Namespace eine Methode die du dafür nutzen kannst
01.
# Referenz zu einem WMI Object erzeugen (die Klasse ist egal) 
02.
$wmi = gwmi WIn32_Computersystem 
03.
 
04.
# Beispiel um ein Datum umzuwandeln 
05.
get-date $wmi.ConvertToDateTime((gwmi  Win32_NTLogEvent | select -First 1).TimeGenerated) -Format "yyyy-MM-dd HH:mm:ss"
Für deinen Code sähe das so aus:
01.
$objEvents = Get-Wmiobject -class Win32_NTLogEvent -computername $strMachine -filter "$strEventCode $strEventType TimeGenerated >= '$strDmtfDate'" | Select-Object @{n="TimeGenerated";e={get-date (gwmi Win32_Computersystem).ConvertToDateTime($_.TimeGenerated) -Format "yyyy-MM-dd HH:mm:ss"}}, LogFile, SourceName, EventType, EventCode, Message | Sort-Object TimeGenerated -Descending
aber warum nutzt du nicht die CMDLets Get-WinEvent oder Get-Eventlog ? Bei denen musst du das Datum nicht erst umwandeln und diese unterstützen ebenfalls das Auslesen von anderem Computern mit dem Parameter -Computername

Grüße Uwe
p.s irgendwie haben sich da ziemlich viele Leerzeilen am Ende deines Thread verlaufen

p.s.2 wäre auch schön wenn du deinen älteren Fragen mal Aufmerksamkeit schenken könntest, oder sie zumindest als gelöst markierst.
Bitte warten ..
Mitglied: Marabunta
25.11.2014 um 11:06 Uhr
im moment ist es nur eine kleine anpassung. falls mehr nötig wird und es sinnvoll erscheint kann man es sicher auch mit einem anderen cmdlet schreiben.
ich lasse es laufen und hoffe auf ein schönes Ergebnis in paar stunden.
Danke
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Frage zum Einsatz von Powershell, welche Version verwenden (3)

Frage von Penny.Cilin zum Thema Batch & Shell ...

Microsoft
Drucker Über Powershell installieren (9)

Frage von Asker06 zum Thema Microsoft ...

Batch & Shell
gelöst Powershell Skript Ordnerinhalt auflisten und per E-Mail verschicken (2)

Frage von xbast1x zum Thema Batch & Shell ...

Administrator.de Feedback
Neuer Bereich Powershell und erweitertes syntax highlighting (6)

Frage von Kraemer zum Thema Administrator.de Feedback ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(3)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Off Topic
gelöst Fachzeitschriften als E-Book oder hardcoded? (11)

Frage von KowaKowalski zum Thema Off Topic ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...