Powershell Ausgabe in csv-Format
Hi,
Ich habe ein Powershell Script, was mir die täglichen RDP-Verbindungen auf einigen Servern in einer Textdatei ausgibt:
Dabei kommt dann sowas raus:
Nun ist das zwar schön übersichtlich in der Textdatei, es soll aber jetzt in excel aufbereitet werden und da wäre es im csv-Format natürlich die Beste Lösung.
Wie bekomme ich die Ausgabe denn nun so hin, dass sie so dargestellt wird:
Danke schonmal
Ich habe ein Powershell Script, was mir die täglichen RDP-Verbindungen auf einigen Servern in einer Textdatei ausgibt:
$timestamp = Get-Date -Format 'yyyyMMdd'
$hostname = "<hostname>"
$Server = "<sserver>"
$Logon_Event = Get-WinEvent -FilterHashtable @{Logname='Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational';id=1149;StartTime=(Get-date).Date;EndTime=(get-date)} | select TimeCreated,@{n='Username';e={$_.Properties[0].Value}},@{n='Domain';e={$_.Properties[1].Value}},@{n='Client';e={$_.Properties[2].Value}},@{n='Computername';e={$hostname}} | format-table
$Logon_Event | Out-File "D:\log\rdp_connections_$($Server)_$($timestamp).log"
Dabei kommt dann sowas raus:
TimeCreated Username Domain Client Computername
----------- -------- ------ ------ ------------
06.11.2023 12:49:06 Kay <domain> 10.104.182.57 [<hostname>] <server>
06.11.2023 12:44:42 Kay <domain> 10.104.182.57 [<hostname>] <server>
06.11.2023 12:43:05 Kay <domain> 10.104.180.146 [<hostname>] <server>
06.11.2023 12:11:01 ahmed <domain> 10.104.180.146 [<hostname>] <server>
06.11.2023 11:39:16 Bianca <domain> 10.104.182.57 [<hostname>] <server>
06.11.2023 10:28:00 johannes <domain> 10.104.182.57 [<hostname>] <server>
06.11.2023 10:20:35 Kay <domain> 10.104.180.146 [<hostname>] <server>
06.11.2023 09:09:44 Florian <domain> 10.104.180.146 [<hostname>] <server>
Nun ist das zwar schön übersichtlich in der Textdatei, es soll aber jetzt in excel aufbereitet werden und da wäre es im csv-Format natürlich die Beste Lösung.
Wie bekomme ich die Ausgabe denn nun so hin, dass sie so dargestellt wird:
TimeCreated|Username|Domain|Client|Computername
06.11.2023 12:49:06 |Kay |<domain> |10.104.182.57 |[<hostname>] <server>
06.11.2023 12:44:42 |Kay |<domain> |10.104.182.57 |[<hostname>] <server>
06.11.2023 12:43:05 |Kay |<domain> |10.104.180.146 |[<hostname>] <server>
06.11.2023 12:11:01 |ahmed |<domain> |10.104.180.146 |[<hostname>] <server>
06.11.2023 11:39:16 |Bianca |<domain> |10.104.182.57 |[<hostname>] <server>
06.11.2023 10:28:00 |johannes |<domain> |10.104.182.57 |[<hostname>] <server>
06.11.2023 10:20:35 |Kay |<domain> |10.104.180.146 |[<hostname>] <server>
06.11.2023 09:09:44 |Florian |<domain> |10.104.180.146 |[<hostname>] <server>
Danke schonmal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 61998986920
Url: https://administrator.de/contentid/61998986920
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
3 Kommentare
Neuester Kommentar
Moin,
entweder, wie @slainte schon sagte, mit Export-Csv, Semikolon als Delimiter und UTF8-Kodierung - dann lässt sich die CSV so Problemlos in Excel öffnen.
Oder aber man nutzt ConvertTo-Csv mit Tabstop als Delimiter und speichert die Daten in die Zwischenablage. So kann man die Daten dann direkt in eine Arbeitsmappe in Excel einfügen
Gruß Thomas
entweder, wie @slainte schon sagte, mit Export-Csv, Semikolon als Delimiter und UTF8-Kodierung - dann lässt sich die CSV so Problemlos in Excel öffnen.
$Logon_Event | Export-Csv -Path "<Ausgabepfad>.csv" -Delimiter ';' -Encoding UTF8 -NoTypeInfomation
Oder aber man nutzt ConvertTo-Csv mit Tabstop als Delimiter und speichert die Daten in die Zwischenablage. So kann man die Daten dann direkt in eine Arbeitsmappe in Excel einfügen
$Logon_Event | ConvertTo-Csv -NoTypeInformation -Delimiter "`t" | Set-Clipboard
Gruß Thomas
Aber bitte nicht vergessen das
am Ende der Variablen $Logon_Event zu entfernen wenn man das ganze an Export-CSV oder ConvertTo-CSV piped.
Gruß Katrin
| format-table
Gruß Katrin