PowerShell-Module, die meinen Workflow verändert haben

PowerShell-Module, die meinen Workflow verändert haben

Wenn Sie für einfache Dateiübertragungen oder die Erstellung von Excel-Berichten immer noch auf benutzerdefinierte PowerShell-Skripte angewiesen sind, ist es an der Zeit, Ihren Workflow zu optimieren. Vorgefertigte PowerShell-Module erledigen die meisten Routineaufgaben deutlich effizienter als manuell erstellte Skripte.

Um diese Module nutzen zu können, stellen Sie sicher, dass Sie mindestens PowerShell 5.1 verwenden. Viele Module sind plattformübergreifend mit PowerShell 7 kompatibel, andere sind möglicherweise auf Windows beschränkt. Aktivieren Sie unbedingt die Skriptausführung, indem Sie Ihre Ausführungsrichtlinie wie folgt anpassen:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force

Verwenden Sie bei der Installation von Modulen konsequent den Parameter -Scope CurrentUser, um die Notwendigkeit administrativer Berechtigungen zu vermeiden.

6 PSReadLine

PSReadLine ist standardmäßig in PowerShell enthalten und wird selbst von erfahrenen Benutzern oft nicht ausreichend genutzt. Dieses Modul verbessert Ihre Befehlszeilenerfahrung mit Funktionen wie Syntaxhervorhebung, Mehrzeilenbearbeitung und prädiktiven IntelliSense-Funktionen.

PowerShell-Terminal mit installiertem PSReadLine-Modul
Bildnachweis – selbst aufgenommen (Tashreef Shareef) – Keine Namensnennung erforderlich

Um die neueste Version von PSReadLine zu erhalten, verwenden Sie den folgenden Befehl:

Install-Module -Name PSReadLine -Scope CurrentUser -Force

Durch die Aktivierung von IntelliSense wird Ihr Befehlsverlauf verbessert und Sie erhalten während der Eingabe Vorschläge. Aktivieren Sie IntelliSense mit:

Set-PSReadLineOption -PredictionSource HistorySet-PSReadLineOption -PredictionViewStyle ListView

Nachdem bereits einige Befehle wie „ipconfig“ oder „Get-Service“ ausgeführt wurden, schlägt IntelliSense Ihnen beim Eintippen Optionen aus Ihrem Verlauf vor. Sie können mit den Pfeiltasten „ Nach oben“ und „Nach unten“ durch diese Vorschläge navigieren und Ihre Auswahl mit der Eingabetaste bestätigen.

5 Excel importieren

Mit über 14 Millionen Downloads ist ImportExcel eine beliebte Wahl für Benutzer, die Excel-Tabellen erstellen möchten, ohne Excel selbst zu benötigen – ideal für Serverumgebungen oder Automatisierungsskripte.

Importieren Sie das Excel-Modul im PowerShell-Terminal
Bildnachweis – selbst aufgenommen (Tashreef Shareef) – Keine Namensnennung erforderlich

Um ImportExcel zu installieren, geben Sie den folgenden Befehl ein:

Install-Module -Name ImportExcel -Scope CurrentUser

Dieses Modul kann Aufgaben von einfachen Exporten bis hin zu komplexeren Funktionen wie Pivot-Tabellen und bedingter Formatierung ausführen. Um beispielsweise Informationen zu laufenden Prozessen in eine formatierte Tabelle zu exportieren, verwenden Sie:

Get-Service | Where-Object {$_.Status -eq "Running"} |Export-Excel -Path "ServiceReport.xlsx" -AutoSize -TableStyle Medium9 -FreezeTopRow

Dieser Befehl sammelt alle aktiven Dienste und exportiert sie in eine Excel-Datei. Dabei werden die Spalten so formatiert, dass sie zum Inhalt passen, und die Kopfzeile wird der Einfachheit halber fixiert.

Von ImportExcel generierter Excel-Bericht
Bildnachweis – selbst aufgenommen (Tashreef Shareef) – Keine Namensnennung erforderlich

4 PSWriteHTML

Mit PSWriteHTML können Sie PowerShell-Ausgaben in HTML-Berichte mit Tabellen und Diagrammen umwandeln, ohne dass hierfür HTML-Codierungskenntnisse erforderlich sind.

PSWriteHTML-Modul-Exportbefehl
Bildnachweis – selbst aufgenommen (Tashreef Shareef) – Keine Namensnennung erforderlich

Installieren Sie das Modul mit dem Befehl:

Install-Module -Name PSWriteHTML -Scope CurrentUser

Um einen Systembericht zu erstellen, der die zehn Prozesse mit der höchsten CPU-Auslastung hervorhebt, verwenden Sie:

Import-Module PSWriteHTML;$procs = Get-Process | Select-Object Name, CPU, WorkingSet -First 10New-HTML -TitleText "System Report" -FilePath "Report.html" -ShowHTML {New-HTMLSection -HeaderText "Process Information" {New-HTMLTable -DataTable $procs -Filtering -Buttons @('copyHtml5', 'excelHtml5')}}

Das generierte HTML verfügt über JavaScript-gesteuerte Sortier-, Filter- und Exportfunktionen.

Exportergebnis des PSWriteHTML-Moduls
Bildnachweis – selbst aufgenommen (Tashreef Shareef) – Keine Namensnennung erforderlich

3 PSWindowsUpdate

Als beliebtestes Modul in der PowerShell Gallery mit über 33 Millionen Downloads bietet PSWindowsUpdate Cmdlets, die speziell für die Verwaltung des Windows Update-Clients entwickelt wurden.

PSWindowsUpdate PowerShell-Modul
Bildnachweis – selbst aufgenommen (Tashreef Shareef) – Keine Namensnennung erforderlich

Installieren Sie es mit dem folgenden Befehl:

Install-Module -Name PSWindowsUpdate -Scope CurrentUser

Dieses Modul bietet Cmdlets für eine umfassende Windows-Update-Verwaltung – ideal für die Automatisierung von Aufgaben. Prüfen Sie mehrere Server gleichzeitig auf ausstehende Updates mit:

$Servers = 'SERVER01', 'SERVER02', 'SERVER03'Invoke-Command -ComputerName $Servers -ScriptBlock {Import-Module PSWindowsUpdate<|image_sentinel|>Get-WindowsUpdate -MicrosoftUpdate | Select-Object @{n='Computer';e={$env:COMPUTERNAME}}, KB, Title, Size, IsDownloaded, IsInstalled, RebootRequired} | Sort-Object Computer, KB | Format-Table -AutoSize

Dadurch werden ausstehende Updates auf Ihren Servern schnell angezeigt. Sie können bestimmte Updates installieren, problematische ausblenden oder Installationen bequem planen. Verwenden Sie den Parameter -AcceptAll, um Bestätigungsaufforderungen zu umgehen.

2 Terminal-Icons

Optimieren Sie Ihr PowerShell-Terminalerlebnis mit Terminal-Icons, die Dateien in Verzeichnislisten erkennbare Symbole hinzufügen. Jeder Dateityp wird mit einem eigenen Symbol und einer eigenen Farbe dargestellt, was die Sichtbarkeit und Navigation verbessert.

Terminal-Icons PowerShell-Modul
Bildnachweis – selbst aufgenommen (Tashreef Shareef) – Keine Namensnennung erforderlich

Führen Sie zur Installation Folgendes aus:

Install-Module -Name Terminal-Icons -Scope CurrentUser

Dieses Modul verbessert die Ausgabe von Get-ChildItem. Um die Symbole nach der Installation anzuzeigen, verwenden Sie:

Import-Module Terminal-Icons

Beim Ausführen von Get-ChildItem oder dessen Aliasen wird jeder Dateityp mit dem entsprechenden Symbol und der entsprechenden Farbe angezeigt. PowerShell-Skripte zeigen das PowerShell-Logo und Ordner die entsprechenden Ordnersymbole an. Dieses optische Upgrade verbessert nicht nur die Optik Ihres Terminals, sondern erleichtert auch die schnelle Identifizierung von Dateien beim Navigieren zwischen Registerkarten. Bitte beachten Sie, dass für die korrekte Darstellung der Symbole die Installation einer Nerd-Schriftart erforderlich ist.

Terminal-Icons PowerShell-Modul mit Get-ChildItem
Bildnachweis – selbst aufgenommen (Tashreef Shareef) – Keine Namensnennung erforderlich

1 Transferetto

Transferetto ist ein PowerShell-Modul, das die Interaktion mit FTP, FTPS und SFTP vereinfacht. Anstatt sich in. NET-Klassen zu vertiefen oder Tools von Drittanbietern zu verwenden, bietet es intuitive, PowerShell-native Cmdlets.

Transferetto PowerShell-Modul
Bildnachweis – selbst aufgenommen (Tashreef Shareef) – Keine Namensnennung erforderlich

Um Transferetto zu installieren, verwenden Sie:

Install-Module -Name Transferetto -Scope CurrentUser

Der Arbeitsablauf ähnelt stark dem von Datenbankmodulen: Verbinden, Aufgaben ausführen und trennen:

$Client = Connect-FTP -Server "ftp.example.com" -Credential (Get-Credential)Send-FTPFile -Client $Client -LocalPath "C:\Reports\Report1.xlsx" -RemotePath "/uploads/"Disconnect-FTP -Client $Client

Über die Grundfunktionen hinaus bietet Transferetto SSL-Konfigurationen, Verschlüsselungsmethoden, Optionen zur Zertifikatsvalidierung und den Befehl Request-FTPConfiguration, mit dem Sie Ihre Serververbindungseinstellungen automatisch testen können.

Darüber hinaus ist es nicht auf einzelne Dateien beschränkt; Sie können ganze Verzeichnisse mit Send-FTPDirectory hochladen oder sogar FXP-Übertragungen (Server-zu-Server-Dateikopien) durchführen. Dank der Unterstützung von SFTP und SSH können Sie außerdem Remote-Befehle in Verbindung mit Ihren Dateiübertragungen ausführen.

Da Transferetto sowohl mit Windows PowerShell 5.1 als auch mit PowerShell 7+ funktioniert, bleiben Ihre Skripte auf allen Windows-, Linux- und macOS-Plattformen funktionsfähig, ohne dass Änderungen erforderlich sind.

Selbst wenn Sie PowerShell nur für grundlegende Aufgaben verwenden, können Sie Ihre Effizienz steigern, indem Sie sich mit verschiedenen Modulen vertraut machen. Module wie PSReadLine beschleunigen die Eingabe mit prädiktiven Vorschlägen, ImportExcel ermöglicht die einfache Tabellenverwaltung ohne Excel und Terminal-Icons verbessern die Lesbarkeit Ihrer Terminaloberfläche.

In der PowerShell Gallery steht eine große Auswahl an Modulen zur Verfügung.Überprüfen Sie vor der Installation unbedingt deren Kompatibilität und Updateverlauf. Beginnen Sie mit ein oder zwei Modulen, die Ihre wichtigsten Anforderungen erfüllen, und erweitern Sie Ihr Toolkit schrittweise, sobald Sie mit der Nutzung vertraut sind.

Quelle & Bilder

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert