Top-Themen

Aktuelle Themen (A bis Z)

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 Ab bestimmten Datum sortieren Powershell

Mitglied: Dpole86

Dpole86 (Level 1) - Jetzt verbinden

26.11.2013 um 11:05 Uhr, 2708 Aufrufe, 12 Kommentare

Guten Morgen liebe Administratoren

Ich ersuche eure hilfe da ich mich auf fremden Gebiet befinde.
Bisher habe ich nur batch gescriptet will mich aber nun weiter wagen richtung Powershell.

Ich versuche gerade aus einer CSV die Daten ab einem bestimmten Datum zu Sortieren und
die Ausgabe danach als Email zu verschicken.

Ich habe mich in Powershell etwas eingelesen und fand den Befehl import-Csv
dadurch kann ich die CSV importieren und auch nach Datum Sortieren

Wie Sortiere ich allerdings nach einem Bestimmten datum ?

Grüß eRoman

Mitglied: Snowman25
26.11.2013, aktualisiert um 11:18 Uhr
Zitat von Dpole86:
Guten Morgen liebe Administratoren
Hallo Dpole86

Wie Sortiere ich allerdings nach einem Bestimmten datum ?
Wie meinst du das? Willst du, dass alles bevor einem festgelegtem Datum ignoriert wird? oder abgeschnitten?


Grüß eRoman
Gruß,
Snowman25
Bitte warten ..
Mitglied: Dpole86
26.11.2013 um 11:25 Uhr
Hi Snowman

Ich hätte gerne das ab einem Bestimmten Datum alles Ignoriert wird.

wir haben hier bei uns Rsync am Laufen um die Rechner synchron zu halten.

Das CSV welches ich gestern mit deiner Hiilfe aus dem Log erstellt habe, muss ich nun
so aufbereiten das wir jeden tag oder einmal in der woche eine mail bekommen mit dem Inhalt,
wo wir sehen, welcher Rechner sich länger nicht mehr am Rsync gemeldet hat.

so sieht die Datei bisher aus:

Client Date Time

Rechner NBAPS185 gemeldet am 2013/09/04 22:00:07
Rechner NBAPSV49 gemeldet am 2013/09/04 22:00:19
Rechner NBAPSV49 gemeldet am 2013/09/04 22:10:16
Rechner NBAPSV49 gemeldet am 2013/09/04 22:20:19
Rechner NBAPSV49 gemeldet am 2013/09/04 22:30:18
Rechner NBAPSV49 gemeldet am 2013/09/04 22:40:19
Rechner NBAPSV49 gemeldet am 2013/09/04 22:50:16
Rechner NBAPSV49 gemeldet am 2013/09/04 23:00:18
Rechner NBAPS164 gemeldet am 2013/09/05 0:03:27

Das Datum reicht von 04.09.2013 bis gestern.

Grüße Roman
Bitte warten ..
Mitglied: Daniel.Wenzel
26.11.2013 um 11:26 Uhr
Hallo Roman,

hier ist ein Link zu einem ziemlich guten PowerShell Blog:

https://blogs.technet.com/b/heyscriptingguy/archive/2012/01/10/order-you ...

Und hier findest du etwas zu der Syntax des "sort by" Objektes:

http://technet.microsoft.com/en-us/library/hh849912.aspx

Ich hoffe das hilft dir weiter.

Gruß
Daniel
Bitte warten ..
Mitglied: colinardo
26.11.2013, aktualisiert um 12:12 Uhr
Hallo Roman,
das ist kein Problem.
Beispiel: Wenn deine CSV-Datei z.B. so formatiert ist:
Client;DateTime 
NBAPS185;2013/09/04 22:00:07 
NBAPSV49;2013/09/04 22:00:19 
NBAPSV49;2013/09/04 22:10:16 
NBAPSV49;2013/09/04 22:20:19 
NBAPSV49;2013/09/04 22:30:18 
NBAPSV49;2013/09/04 22:40:19 
NBAPSV49;2013/09/04 22:50:16 
NBAPSV49;2013/09/04 23:00:18 
NBAPS164;2013/09/05 0:03:27
kannst du folgenden Code nutzen um alle Einträge die nicht älter als 7 Tage sind sortiert nach Client anzuzeigen:
01.
$csv = Import-CSV "C:\info.csv" -Delimiter ";" 
02.
$csv | ?{(get-date $_.DateTime) -gt (get-date).AddDays(-7)} | sort -Property Client
Grüße Uwe
Bitte warten ..
Mitglied: Dpole86
26.11.2013, aktualisiert um 13:52 Uhr
Hi Daniel Danke für die Links

Hi Uwe,

Super hat wunderbar geklappt.. Danke :D

Allerdings habe ich nun das Problem das ich Trotzdem mehrere Zeilen habe (insgesamt 1000)
somit ist das etwas unübersichtlich.

Ich müsste jetzt noch Doppelte Clients ausschliessen und nur den Letzen in dem Dokuemtn anzeigen lassen.

Kurz gesagt muss ich wissen welches Gerät sich wann das letzte mal gemeldet hat.

muss ich da mit foreach basteln?


Grüße Roman


Edit:

Habe bisher folgendes versucht:

$csv = Import-CSV "C:\win\bat\test.csv"
$csv | ?{(get-date $_.Date) -gt (get-date).AddDays(-7)} | sort -Property Date | measure -Maximum

gibt aus

Count : 548
Average :
Sum :
Maximum :
Minimum :
Property :

Count : 1
Average :
Sum :
Maximum : 11/26/2013 1:44:35 PM
Minimum :
Property :


habe auch versucht:

$csv = Import-CSV "C:\win\bat\test.csv"
$csv | ?{(get-date $_.Date) -gt (get-date).AddDays(-7)} | sort -Property Date |?{(foreach $_.Client) | measure -Maximum}

bringt aber viele viele Zeilen ^^

Edit:

Ich glaube ich habs hinbekommen.

Jetzt muss ich noch die Bat-datei anpassen :D
Bitte warten ..
Mitglied: Dpole86
26.11.2013 um 14:27 Uhr
So neues Problem.

Der Code

$csv = Import-CSV "C:\win\bat\test.csv"
$csv | ?{(get-date $_.Date) -gt (get-date).AddDays(-7)} | sort -Property Date |?{(foreach $_.Client) | measure -Maximum}

bringt das gleiche Ergebniss wie

$csv = Import-CSV "C:\win\bat\test.csv"
$csv | ?{(get-date $_.Date) -gt (get-date).AddDays(-7)} | sort -Property Date

mit dem unterschied das ersortiert.

ich habe aber weiterhin Einträge wie:

NBAPS99 2013/11/20 00:19:01
NBAPS166 2013/11/20 00:51:03
NBAPS99 2013/11/20 03:29:14

wie Prüfe ich das letze datum und die letze zeit eines Clients?
Bitte warten ..
Mitglied: colinardo
26.11.2013, aktualisiert um 15:18 Uhr
probiers mal mit dem -Unique Parameter, so wie deine Liste aussieht steht die aktuellste Zeit des Clients immer an letzter Stelle, dann geht das hier:
01.
$csv = Import-CSV "C:\CSVDatei.csv" -Delimiter ";" 
02.
$csv | ?{(get-date $_.DateTime) -gt (get-date).AddDays(-7)} | Sort-Object -Property Client -Unique
Grüße Uwe
Bitte warten ..
Mitglied: Dpole86
26.11.2013 um 14:39 Uhr
Sieht gut aus :D

ich glaube das war das Stichwort das ich gebruacht habe

Danke Uwe
Bitte warten ..
Mitglied: Dpole86
26.11.2013 um 15:00 Uhr
Hi Uwe.

Leider ist das Problem noch nicht ganz behoben.
Zwar bekomme ich jetzt eine Liste wo der REchner jeweils nur 1 mal auftaucht, Allerdings ist das Meldedatum nicht richtig

Beispiel hat sich NBAPS77 am 04.11.2013 letztes mal gemeldet. Das aber kann nicht sein da es mein Rechner ist und ich mich immer wieder daran melde ^^

habs mit
|?{(foreach $_.Date)} -unique
versucht aber das geht irgendwie nicht
Bitte warten ..
Mitglied: colinardo
26.11.2013 um 15:05 Uhr
wie sieht deine CSV-Liste genau aus und welchen Delimiter verwendest du, formatiere die Liste mal so wie ich es oben geschrieben habe, dann geht das. Und bitte benutze Tags zum formatieren deines Codes hier im Forum. Merci.
Wahrscheinlich verwendest du als Delimiter Leerzeichen und hast Datum und Zeit getrennt voneinander in jeweils einer Spalte aufgeführt.
Bitte warten ..
Mitglied: Dpole86
26.11.2013 um 15:11 Uhr
Hi colinardo

Muss ich den Delimiter mitnehmen?

Ja das ist richtig. Bei mir ist das Datum und die Zeit in jeweils einer Spalte.

Mein code sieht so aus:

01.
  
02.
$csv = Import-CSV "C:\win\bat\test.csv" 
03.
$csv | ?{(get-date $_.Date) -gt (get-date).AddDays(-7)} | Sort-Object -Property Client -unique
Probiert habe ich es gerade eben mit


01.
  
02.
$csv = Import-CSV "C:\win\bat\test.csv" 
03.
$csv | ?{(get-date $_.Date) -lt (get-date).AddDays(-7)} | Sort-Object -Property Client -unique
Allerdings ist da das letze Meldedatum am 24.09.2013

Grüße Roman
Bitte warten ..
Mitglied: colinardo
26.11.2013, aktualisiert um 18:47 Uhr
So hier noch mal zum Abschluss die Lösung für Roman:
bei einer so formatierten CSV-Datei:
"Client","Date","Time" 
"NBAPS77", 2013/09/04,"17:52:53" 
"NBAPS71", 2013/09/04,"18:00:09" 
"NBAPS79", 2013/09/04,"20:00:46" 
"NBAPS164", 2013/09/04,"20:27:56" 
"NBAPS99", 2013/09/04,"20:59:39" 
"NBAPS185", 2013/09/04,"21:00:08" 
"NBAPS128", 2013/09/04,"21:10:18" 
"NBAPS185", 2013/09/04,"22:00:07" 
"NBAPS164", 2013/09/05,"00:03:27" 
"NBAPS79", 2013/09/05,"00:24:40" 
"NBAPS99", 2013/09/05,"00:43:38"
erhalten wir mit folgendem Code:
01.
$csv = Import-CSV "C:\Temp\test.csv" -Delimiter "," 
02.
$csv | ?{(get-date $_.Date) -gt (get-date).AddDays(-7)} | sort Client,Date,Time -Descending | group Client | %{$_.Group[0]}
die Einträge mit dem jeweils aktuellste Datum. Doppelte Einträge in der Spalte "Client" werden also herausgefiltert und nur der Eintrag mit dem jeweils aktuellsten Datum erhalten.
Die Ausgabe sähe dann also für obige Daten so aus:
Client    Date        Time        
------    ----        ----        
NBAPS99   2013/09/05  00:43:38    
NBAPS79   2013/09/05  00:24:40    
NBAPS77   2013/09/04  17:52:53    
NBAPS71   2013/09/04  18:00:09    
NBAPS185  2013/09/04  22:00:07    
NBAPS164  2013/09/05  00:03:27    
NBAPS128  2013/09/04  21:10:18   
Bitte warten ..
Ähnliche Inhalte
Windows Server
Windows Updates nach Datum sortieren
Frage von RG2525Windows Server2 Kommentare

Hallo, Ich muss auf einem Windows Server 2008 R2 ca. 130 ausstehende Updates installieren. Alle Updates auf einmal zu ...

Batch & Shell
(Batch) Datum Sortier-Mechanismus
gelöst Frage von clragonBatch & Shell19 Kommentare

Hallo zusammen. Ich bin schon etwas länger am Batch schreiben, und war schon oft uneingeloggt hier, und jetzt hab ...

VB for Applications

Textdatei zeilenweise nach Datum sortieren

gelöst Frage von GurkenhobelVB for Applications2 Kommentare

Hallo Gemeinde, mehrere umfangreiche Textdateien, in denen zeilenweise wichtige Daten und Termine eingetragen sind, sollen zeilenweise nach dem Datum ...

Batch & Shell

Wenn bestimmtes Datum dann bestimmte Datei kopieren

gelöst Frage von rohu2007Batch & Shell31 Kommentare

Hallo Zusammen, ich komme leider nicht weiter. Ich möchte eine Datei kopieren, wenn ein bestimmtes Datum eintrifft. Das heutige ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 21 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++24 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...