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 IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershell: Zeilennummer einer Textdatei auslesen

Mitglied: NogNog

NogNog (Level 1) - Jetzt verbinden

01.04.2020 um 13:25 Uhr, 224 Aufrufe, 4 Kommentare

Guten Tag Zusammen


Ich habe eine Frage bezüglich Zeilennummern in Textdateien.
Ich habe ein Logfile bei dem steht, ob ein Produkt aktiviert ist.
Da dieses Script jeden Monat ausgeführt wird, kann es vorkommen, dass im gleichen Logfile steht (Auf Datum achten):
"
19.02.2020 16:16:04; The product is already activated.
19.03.2020 16:16:04; Error
"
Nun möchte ich mit einem Script dieses Logfile durchsuchen, ob das Produkt aktiv ist. Jedoch kann ich nicht einfach nach dem String "The product is already activated" suchen, da es unten im File vielleicht einen Error gab oder umgekehrt.

Wie kann man nun herausfinden ob es nicht mehr aktiviert ist oder doch aktiviert? Kann man die Zeilennummer eines Textfiles herauslesen, damit ich die Zeilennummern vergleichen kann?


Schon mal ein Danke für die Hilfe.

Grüss

NogNog
Mitglied: NordicMike
LÖSUNG 01.04.2020 um 14:19 Uhr
Das Textfile wird keine Zeilennummern haben, zumindest nicht in Deinem Beispiel. Du kannst nach Datum sortieren. Oder, wenn Du Dich darauf verlassen kannst, dass der letzte Eintrag immer unten ist, einfach den letzten Eintrag auslesen und die anderen ignorieren.
Bitte warten ..
Mitglied: TK1987
LÖSUNG 01.04.2020, aktualisiert um 14:30 Uhr
Moin,

Zitat von NogNog:
Wie kann man nun herausfinden ob es nicht mehr aktiviert ist oder doch aktiviert?
Es wird nach Error und nach The product is already activated. am Zeilenende gesucht, die Ergebnisse werden dann nach Zeilennummer sortiert und der letzte Fund wird ausgegeben.

Gruß Thomas
Bitte warten ..
Mitglied: NogNog
02.04.2020 um 09:17 Uhr
Danke viel Mal für die Hilfe. Ich hätte noch eine Frage. Wie kann ich nun in einem "if" schauen ob es "Error" oder "Product is already activated." ist?

Beispiel:
$state1 = select-string -Path 'C:\Pfad\zum\Logfile.log' -Pattern 'Error$|The product is already activated.$' | sort -Property LineNumber | select -Last 1

if($state1 -eq "The product is already activated."){
$result1 = "Produkt ist aktiviert." | out-file -FilePath $logfile
}
else{
$result2 = "Produkt ist nicht aktiviert." | out-file -FilePath $logfile
}


Das Problem ist, dass die Ausgabe vom $state1 nicht nur "Error" oder "The product is already activated." ist. Die Ausgabe wäre zum Beispiel: "19.02.2020 16:16:04; The product is already activated."
Bitte warten ..
Mitglied: TK1987
02.04.2020, aktualisiert um 12:12 Uhr
Moin,

Zitat von NogNog:
Wie kann ich nun in einem "if" schauen ob es "Error" oder "Product is already activated." ist?

Das Problem ist, dass die Ausgabe vom $state1 nicht nur "Error" oder "The product is already activated." ist. Die Ausgabe wäre zum Beispiel: "19.02.2020 16:16:04; The product is already activated."
Dafür gibt es verschiedene Möglichkeiten, abhängig von dem was man gerade benötigt.

Wenn du wie in diesem Fall weisst, das immer die selbe Anzahl an Zeichen vor der Zeichenkette die du benötigst stehen, bietet sich z. B. Substring an
Eine weitere Möglichkeit, wäre zum beispiel, die Zeichenkette bei dem Semikolon zu trennen; und nur den 2. Teil (also index 1) auszugeben

Eine 3. Möglichkeit, ist mit Replace und Regex zu arbeiten.
Ps: Bitte Code-Tags für das Posten von Code nutzen.

Gruß Thomas
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Eingabe in Textdatei - Powershell
gelöst Frage von JedimeisterBatch & Shell3 Kommentare

Hallo Community ich stehe wieder einmal vor einem Problem ich möchte wenn das Skript ausgeführt wird und in der ...

Batch & Shell

Powershell - In Textdatei suchen und ersetzen

gelöst Frage von Raaja89Batch & Shell5 Kommentare

Hallo Zusammen, ich habe einen Textdatei mit vielen aufeinander folgendenden Leerzeichen und wo an diversen Stellen Überschriften stehen. Ungefähr ...

Windows Server

Powershell array zeilenweise in Textdatei ausgeben

gelöst Frage von Peter0816Windows Server6 Kommentare

Hallo, ich habe folgendes vor: $features = Get-WindowsFeature $features = $features.name und die Ausgabe am Bildschirm erscheint auch richtig: ...

Batch & Shell

PowerShell - Ordner auslesen und als Textdatei ausgeben

Frage von Pat.batBatch & Shell3 Kommentare

Hallo zusammen, ich wollte gerade ein kleines Skript schreiben, das einen Ordner ausliest und den Namen der Dateien in ...

Neue Wissensbeiträge
Windows Netzwerk

SCOM ( System Center Operations Manager ) um eine E-Mailschnittstelle erweitern

Anleitung von Juanito vor 19 StundenWindows Netzwerk

Einleitung System Center Operations Manager (SCOM) ist Microsoft's Lösung zum Überwachen von Servern. Dazu zählt die generelle Erreichbarkeit, Festplattenspeicher, ...

Humor (lol)
BioShield gegen 5G
Information von magicteddy vor 1 TagHumor (lol)3 Kommentare

Moin wer sich gegen die hochgefährlichen 5G schützen möchte wird hier fündig: 5GBioShield "gegen 5G-Strahlung" Ich glaube, ich sollte ...

Windows Server

ScheduledTasks mit einem Group-Managed-Service-Account (GMSA) ausführen

Anleitung von ToniHo vor 1 TagWindows Server

Hallo zusammen, wer schonmal versucht hat ein Group-Managed-Service-Account (GMSA) auf einem bestehenden ScheduledTask einzutragen, ist an der GUI vermutlich ...

Humor (lol)
Anti 5G USB Stick
Information von Ex0r2k16 vor 2 TagenHumor (lol)14 Kommentare

Perfekt für den Freitag, findet sich hier ein Businesspartner der mit mir zusammen einen Anti 6G Esoterik Stick rausbringt? ...

Heiß diskutierte Inhalte
Microsoft
USB-Ports sperren mit Software
Frage von trabajadorMicrosoft10 Kommentare

Hallo, gesucht wird eine Software, welche alle USB-Ports sperrt bis auf für Maus, Tastatur und einem Admin-USB-Stick. Verwendet wird ...

Festplatten, SSD, Raid
Wie Festplatte von altem Notebook sicher löschen
gelöst Frage von NilsholgerssonFestplatten, SSD, Raid10 Kommentare

Hallo, habe ein altes P3 Celeron 800 Notebook, dessen Festplatte ich sicher löschen möchte. Habe von der Ultimate Boot ...

Router & Routing
VPN Router hinter Glasfaser Router des ISP
gelöst Frage von TenerifeITRouter & Routing9 Kommentare

Hallo zusammen, ich habe bisher noch keine VPN Router eingerichtet und nun von einem Kunden 2 TP-Link TL-R600VPN Router ...

Windows 10
Virtualbox neueste Version W10pro 1909 nach Update auf 2004 Oberfläche hinüber bis fast ohne Funktion
Frage von UweGriWindows 109 Kommentare

Liebe profi Admins, zu Testzwecken hatte ich in einer VirtualBox neuste Ausführung ein W10 pro 1909 ohne Kummer laufen. ...