Alle Beiträge von ENDLESSL00P

Giuseppe Casutt, Dipl.-HTL-Ing. bei A-Enterprise GmbH. Blog Author zu den Themen, Windows, VMware, Synology, Fortinet und Open Source. Tutorials und HowTos zu Problemlösungen und System Integration.

Zeichenfolge in Dateien und Unterverzeichnisse Suchen

Die Suche nach Text und Zeichenfolgen in Dateien und Unterverzeichnissen mit Resultat in Variablen zuweisen

Bei der Suche nach Zeichenfolgen in Dateien bedient man sich gebräuchlich des Windows Explorer oder Windows-Search, bei Linux Gnome Desktop ist es Nautilus oder Nemo, und Konqueror bei KDE, unter macOS nutzt man den Finder.

Bei der automatisierten verarbeitung durch Scripts und Batch-Prozesse helfen Command-Line Befehle. In diesem Post wird gezeigt, wie man bei der Suche von Zeichenfolge vorgehen kann, in Windows Command Prompt und in der Linux Shell.

Suchen in der Eingabeaufforderung

Bei der Windows Eingabeaufforderung (cmd) bietet sich der Befehl findstr an, wie folgendes Beispiel zeigt.

Soll nun das Resultat einer Variable zugewiesen werden, für die weiterverarbeitung in Scripts, kann dies in einer FOR-Schleife ermöglicht werden, folgende Zeilen werden in einer CMD-Datei gespeichert und ausgeführt.

Es wird mit echo die gesamte Zeile mit dem gesuchten Wort dolor ausgegeben, möchte man die Ausgabe nur auf die Zeichen eines Wortes eingrenzen, ist dies mit Variablen Parameter zu erreichen.

Ab dem Zeichen 20 ist unser Wort dolor, es ist 5 Zeichen lang.
Die CLI Eingabe findstr dolor bringt nun dolor zur Ausgabe die in der Datei doc.txt gefunden wurde.

Der Variable var wird die Ausgabe von findstr zugewiesen.

Suchen in der Linux Shell

In der Linux bash Console kommt grep und find zur Anwendung.

Die Textsuche mit grep gestaltet sich wie folgt, das Resultat wird der Variable var zugewiesen, und mit echo ausgegeben.

Es soll bei der Suche mit grep nicht die gesamte Zeile ausgegeben werden, sondern nur das dritte Wort.

Es gibt viele weitere möglichkeiten vorallem in der Linux bash, der Befehl find ist sehr umfrangreich und bietet mit xargs auch reguläre Ausdrücke und weitere commands zu übergabe, mit find –help erhält man sämtliche anwendungsmöglichkeiten. Hier soll lediglich ein Einstieg zur Anwendung und vorgensweise aufgezeigt werden.

Linux Terminal Character-Set Translation

Umlaute im Terminal werden falsch dargestellt

Arbeitet man mit PuTTY oder KiTTY stellt man oft fest, das Umlaute im Terminal falsch dargestellt werden, obwohl auf dem Remote Host die Codepage korrekte eingestellt ist.

Der Zeichensatz ist auf UTF-8 eingestellt.

Das dennoch die Umlaute nicht übersetzt werden, liegt an der Einstellung von PuTTY oder KiTTY, der Standard Wert ist hier auf ISO-8859-1:1998 (Latin-1, West Europe) voreingestellt.

Unter Window – Translation bei Remote character set kann die Codepage auf UTF-8 geändert werden.

Wird nun mit character set UTF-8 eine Terminal Session geöffnet, werden die Umlaute richtig ausgegeben.

Windows 10 beitreten zu AD-Domäne

Computer mit Windows 10 Version 1709 und höher, zu AD-Domäne beitreten diese nur SMBv1 unterstützt.

Wenn Windows 10 Computer versuchen, die Mitgliedschaft zu einer Domäne herzustellen, wird möglicherweise folgende Fehlermeldung angezeigt:

Sie können keine Verbindung mit der Dateifreigabe herstellen, da sie nicht sicher ist. Für diese Freigabe ist das veraltete Protokoll SMB1 erforderlich, das nicht sicher ist und Ihr System für Angriffe verwundbar machen kann. Für Ihr System ist SMB2 oder höher erforderlich. Weitere Informationen zur Behebung des Problems finden Sie unter https://go.microsoft.com/fwlink/?linkid=852747.

Quelle: https://support.microsoft.com/de-de/help/4034314/smbv1-is-not-installed-by-default-in-windows

Zusammenfassung

Unter Microsoft Corporation 151,63 -0,12 -0,08% Windows 10 Fall Creators Update und Windows Server, Version 1709 (RS3) und höher, ist das Netzwerkprotokoll Server Message Block Version 1 (SMBv1) nicht mehr standardmäßig installiert. Es wurde ab 2007 durch SMBv2 und neuere Protokolle abgelöst. Microsoft hat das SMBv1-Protokoll 2014 öffentlich verworfen.

Ursache

Die Unterstützung von SMB 1.0/CIFS-File Sharing wurde unter Windows 10 Fall Creators Update Version 1709 und höher deaktiviert. Das SMBv2-Protokoll wurde in Windows Vista und Windows Server 2008 eingeführt. Das SMBv3-Protokoll wurde in Windows 8 und Windows Server 2012 eingeführt.

Lösung

Um ein Windows 10 Computer zur Mitgliedschaft einer AD-Domäne herzustellen die nur SMBv1 unterstützt, ist das SMB Protokoll Version 1 erforderlich. Dazu wird SMB 1.0/CIFS-File Sharing wie folgt hinzugefügt und installiert.

Start > Ausführen: control appwiz.cpl,,2

Aktivieren der Unterstützung für die SMB 1.0/CIFS-Dateifreigabe, auf OK klicken um das SMBv1 Protokoll zu installieren, danach ist ein neustart erforderlich.

Aus der PowerShell ist die aktivierung, sowie deaktivierung ebenfalls möglich, dazu PowerShell als Administrator öffnen.

Status der aktivierten, bzw. deaktivierten SMB Protokolle mit dem PowerShell Command abfragen.

Die Ausgabe bei aktiviertem SMBv1 Protokoll erscheint wie folgt.

Möglicherweise muss SMBv1 in der Registrierung überprüft werden, durch folgenden Befehl in einem als Administrator geöffneten Command Prompt.

Die Ausgabe bei deaktiviertem SMBv1 Protokoll, standardmässig ist SMBv1 deaktiviert und hat kein Eintrag in der Registry.

Aktivieren mit REG ADD in einem Command Prompt als Administrator.