Schlagwort-Archive: PowerShell

Zwischenablage in PowerShell nutzen

Mit dem PowerShell cmdlet für die Zwischenablage werden erweiterte Anwendungen erlaubt, aus der PowerShell kann nun nicht nur Inhalt in die Zwischenablage Clipboard kopiert werden, es ist auch das hinzufügen von Inhalt von bereits in der Zwischenablage vorhandenen Inhalt möglich.powershell

Durch das PowerShell Command Set-Clipboard wird ein Text in die Zwischenablage kopiert.

Der eben kopierte Text kann mit Get-Clipboard abgerufen werden.

Mit dem Parameter -Append wird eine Textzeile zur vorhandenen hinzugefügt.

Diese mit Get-Clipboard wieder abgefragt wird.

Folgende Zeile löscht den Inhalt in der Zwischenablage wieder.

Und es geht noch mehr, möchte man Dateien und Ordner die kopiert werden sollen aus der Zwischenablage abrufen, gibt folgendes Command die Ausgabe.

Ebenfalls nützlich ist es, den Text Inhalt von Dateien, direkt ohne die Datei zu öffnen in die Zwischenablage zu kopieren, beispielsweise Scripts oder Source Code.

Get-Content lässt den Inhalt von test.bat in die Zwischenablage kopieren.

Compare-Object vergleicht den Inhalt und kopiert diesen ins Clipboard.

Der default von Compare-Object ist not case sensitive, mit dem Parameter -CaseSensitive wird gross/klein Schreibung unterschieden.

Hilfe und Beispiele zur Anwendung gibt es mit Get-Help.

 

Text aus Zwischenablage einfügen

Beim Text einfügen aus der Zwischenablage wird oft die Formatierung mit übernommen, dies hauptsächlich in Office Anwendungen wie Word, Outlook oder OneNote. PureText von Steve P. Miller ist ein kleines Dienstprogramm, das alle Textformatierungen aus der Zwischenablage entfernt und optional den resultierenden reinen Text mit einem einzigen Hotkey in das aktive Fenster einfügt.

Hast Du jemals Text von einer Webseite oder einem Word-Dokument kopiert und wolltest diesen als einfachen Text in eine andere Anwendung einfügen, ohne die gesamte Formatierung von der Originalquelle mit zu übernehmen?

PureText macht es einfach. Kopiere einfach den gewünschten Bereich in die Zwischenablage, klicke auf das PureText-Symbol in der Taskleiste und füge ihn in eine beliebige Anwendung ein. Besser noch, es kann ein PureText-Hotkey konfiguriert werden, um den Text zu konvertieren und einzufügen. Der eingefügte Text ist komplett frei von Formatierungen.

Nach dem Ausführen von PureText wird in der Taskleiste neben der Uhr ein PT -Symbol angezeigt. Mit klick auf das Symbol wird die Formatierung aus dem Text entfernt, der sich gerade in der Zwischenablage befindet. Mit der rechten Maustaste auf das Symbol klicken, zeigt ein Menü mit weiteren Optionen.

Der einfachste Weg, PureText zu verwenden, besteht darin, einfach einen Hotkey zu verwenden, um Text einzufügen, anstatt den Standard-STRG + V-Hotkey zu verwenden, der in den meisten Windows-Anwendungen vorhanden ist. Um PureText zu konfigurieren, klicke mit der rechten Maustaste auf das Taskleistensymbol PT und wähle Optionen aus dem Pop-up-Menü. Der Standard-Hotkey ist dieser kann geändert werden. Im Fenster Optionen kann PureText auch so konfiguriert werden, dass es bei jedem Start von Windows ausgeführt wird.

Was PureText machen will und nicht tun möchte.

PureText entfernt nur umfangreiche Formatierungen von Text. Dazu gehören Schriftart, Schriftstil (fett, kursiv usw.), Schriftfarbe, Absatzformate (links / rechts / zentriert), Ränder, Zeichenabstand, Aufzählungszeichen, Index, hochgestellt, Tabellen, Diagramme, Bilder, eingebettete Objekte usw. Es ändert jedoch nicht den eigentlichen Text. Neue Zeilen, Zeilenumbrüche, Tabulatoren oder andere Leerstellen werden nicht entfernt oder repariert. Es wird nicht Word-Wrap reparieren oder Absätze bereinigen. Wenn der Quellcode einer Webseite in die Zwischenablage kopiert wird, werden nicht alle HTML-Tags entfernt. Wenn ein Text von einer tatsächlichen Webseite kopiert wird (nicht die Quelle der Seite), wird die Formatierung entfernt.

PureText entspricht dem Öffnen von Notepad, PASTE, gefolgt von einem SELECT-ALL und dann einem COPY. Der Vorteil von PureText besteht darin, all diese Aktionen mit einem einzigen Hotkey auszuführen und das Ergebnis automatisch in das aktuelle Fenster einzufügen.

PureText kann aus dem Windows Store geladen werden.

Text in Hex Konverter mit PowerShell

ASCII Text in Hexadezimale Zeichen Konverter gibt es als Online Tool im Internet viele. Sollen sensible Daten beim Konvertieren im Internet nicht preisgegeben werden, empfiehlt sich die Umwandlung auf dem eigenen Rechner. Dazu braucht man nicht einmal ein Programm zu installieren, einfach zu bewerkstelligen ist es mit PowerShell.

PowerShell öffnen und folgenden Befehl ausführen:

Mit Notepad die Code Zeilen einfügen und speichern:

PowerShell beenden und neu öffnen, nun kann der Befehl text2hex ausgeführt werden.

Die Umwandlung von Decimal to Binary, Decimal to Hexadecimal und Hexadecimal to Decimal.

 

OpenSSH on Windows

OpenSSH ist das führende Konnektivitätstool für die Remote-Anmeldung mit dem SSH-Protokoll in Unix/Linux Umgebungen. OpenSSH verschlüsselt den Datenverkehr, darüber hinaus bietet OpenSSH eine große Auswahl an sicheren Tunneling-Funktionen, mehrere Authentifizierungsmethoden und anspruchsvolle Konfigurationsoptionen.

Für die Remoteverwaltung in heterogenen Netzwerken, haben Windows und Unix/Linux nicht viel gemeinsames. Unter Unix/Linux ist der Remote-Zugriff per SSH ein Standard für Datentransfer, Remote-Terminal sowie Port-Forwarding für Remote-X. Unter Windows ist ein wirklicher Standard noch nicht erreicht, neben WinRM, PowerShell-Remote, RDS und RSAT gibt es einige mehr. Hinzugekommen ist nun auch ein Port des freien OpenSSH Client/Server Tools, dies ermöglicht weitere Integration und Verwaltung von Windows und Linux/Unix Umgebungen.

Die OpenSSH Suite ist auf Github verfügbar und besteht aktuell aus folgenden Tools:

  • Remote-Operationen werden mit ssh, scp und sftp durchgeführt
  • Key Management mit ssh-add, ssh-keygen
  • Die Service-Seite besteht aus sshd, sftp-server und ssh-agent
Win32 OpenSSH Installation

Nach dem Download das Zip-Archive in C:\Program Files\OpenSSH entpacken.

Starte PowerShell als Administrator und wechsle in den Pfad C:\Program Files\OpenSSH und führe folgende Aktion aus.

Die SSH-Host-Schlüssel generieren mit allen Schlüssel die sshd für Key-auth erwartet.

Die Firewall auf Windows Server für SSH erweitern.

Bei der Windows Workstation werden eingehende SSH Verbindungen wie folgt erlaubt.

Der SSH-Agent hält den privaten Schlüssel im Arbeitsspeicher.

Nun können SSH Verbinden aufgebaut werden.

openSSH-client

Den SSH Daemon Auto-start (Boot) aktivieren.

Ein Schlüsselpar wird wie folgt generiert.

 

 

PowerShell Loop Hands-On

Beim programmieren kommen oft Arrays und Schlaufen-(Loops) zur Anwendung, so auch beim arbeiten mit PowerShell Scripts. In folgendem Beispiel werden 4 Array Werte angelegt, diese mittels der ID wieder aufgerufen werden.

Ein Array erstellt man mit folgendem Befehl:

Mit For-Schleife Array Werte ausgeben:

Die Länge des Arrays, bzw. die Anzahl der gespeicherten Werte, wird mit $array.length ausgelesen. Die Variable ($i) dient als Zähler, um zu Zählen wann die Schleife verlassen werden soll. Dem Zähler wird ein Startwert zugewiesen ($i=0). Der Startwert soll bei jedem Durchlauf der Schleife um 1 erhöhen ($i++) bis der Endwert erreicht ist. Der Endwert ist die Länge des Array ($array.length). Bei der Überprüfung des Endwert gibt es eine Bedingung: solange $i kleiner der Anzahl der Werte ($i -lt $array.length) ist.

powershellFor loop

Die For-Schleife: for ($i=0; $i -lt $array.length; $i++)
Startwert $i=0: Die Variable $i startet mit dem Wert 0
ist $i kleiner (-lt) $i -lt $array.length Bedingung: die For Schleife wird solange ausgeführt, solange diese Bedingung erfüllt ist: solange die Variable $i kleiner als $array.length ist, solange also $i kleiner 4 ist. Die Aktion beim Durchlauf der Schleife: $i++ bedeutet, den Wert der Variable $i um 1 erhöhen, bei jedem Durchlauf der Schleife wird $i um 1 grösser: 0 .. 1 .. 2 .. 3 …

while loop

Beispiel mit Startwert $i vor der Schleife definiert ($i=0)
while ($i -lt $array.length){
Innerhalb von while steht die Bedingung für den Durchlauf der Schleife, der Loop wid nicht verlassen, solange diese erfüllt ist:
$i -lt $array.length … solange $i kleiner $array.length ist
Die Variable $i wird innerhalb der Schleife jeweils um den Wert 1 erhöht: $i++

Endless Loop

while kann für eine Endlosschleife wie folgt verwendet werden: mit break kann die Endlosschleife wieder verlassen werden. Folgendes Beispiel durchläuft die Schleife bis break ausgeführt wird, dies geschieht wenn $i nicht mehr kleiner dem Wert 10 ist:

do loop

foreach

foreach ($i in $array)  Aufruf aller Werte des Array ($array). Die Variable $i enthält bei jedem Durchlauf den aktuell ausgelesenen Wert.

Operators

-eq  ist gleich
-ne  ist nicht gleich
-gt  ist grösser als
-ge  ist grösser oder gleich
-lt  ist kleiner als
-le  ist kleiner oder gleich