Wichtige PowerShell-Funktionen, die Sie beherrschen sollten

Advertisement

PowerShell ist ein unverzichtbares Tool für Windows 11-Administratoren. Die leistungsstarken Skripting-Funktionen machen die Systemverwaltung effizienter, insbesondere bei sich wiederholenden Aufgaben, die automatisiert werden müssen.

Advertisement

Als modernes Befehlszeilenframework führt PowerShell Befehle aus und ermöglicht die Erstellung komplexer Skripte, die Zeit und Aufwand sparen können. Mit nur wenigen Skriptzeilen können Administratoren verschiedene Prozesse, wie z. B. die Benutzerverwaltung, die Berichterstellung und die Systemüberwachung, einfach automatisieren.

PowerShell Key Features

Flexible Skriptsprache

PowerShell ist eine Programmiersprache, die mit einer einfachen Syntax erstellt wurde, ähnlich wie C#, sodass Benutzer problemlos Skripts für die Automatisierung erstellen können. Mit seinen flexiblen Funktionen hilft Ihnen PowerShell, administrative Aufgaben, einschließlich komplexer, effizienter zu verwalten.

Advertisement

Wichtige Scripting-Elemente

1. Variabel

Variablen in PowerShell speichern Daten. Sie können eine Variable mit einem $-Zeichen gefolgt vom Variablennamen deklarieren.

Advertisement
$UserName = “John Doe”

Diese Variablen können verschiedene Datentypen speichern, einschließlich Zeichenfolgen, Zahlen und Objekte.

2. Operator

PowerShell bietet verschiedene Arten von Operatoren:

  • Operator Aritmatika: Zum Ausführen mathematischer Operationen wie Addition (+), Subtraktion (-), Multiplikation (*) und Division (/).
  • Operator Logika: Enthält -and, -or und -not für logische Operationen.
  • String Manipulation: Verwenden Sie Operatoren wie +, um Zeichenfolgen zu verknüpfen.

Beispiele für die Verwendung arithmetischer Operatoren:

$Result = 5 + 10

3. Control Flow

Die Ablaufsteuerung organisiert die logische Ablaufsteuerung im Skript. PowerShell unterstützt mehrere Steuerungsstrukturen:

  • If Statement: Zur Konditionierung.
  • For Loop: Für Iterationen, die auf einer bestimmten Zahl basieren.
  • While Loop: Für Iterationen, solange bestimmte Bedingungen erfüllt sind.

Beispiele für die Verwendung von if statement:

if ($Result -gt 10) {
Write-Host “Result is greater than 10”
}

Dynamische Ausgabeformatierung

Einer der Vorteile von PowerShell ist die Möglichkeit, die Ausgabeanzeige so einzustellen, dass die Ergebnisse leicht verständlich und relevant sind. Diese Funktion ist sehr nützlich, insbesondere wenn Sie Berichte erstellen oder Daten aus dem System anzeigen möchten.

Einstellungen für das Ausgabeformat für leicht lesbare Ergebnisse

Standardmäßig legt PowerShell die Ausgabeansicht des Cmdlet-Objekts automatisch entsprechend seinem Datentyp fest. Sie können das Format jedoch vollständig an Ihre Bedürfnisse anpassen. Zum Festlegen der Ausgabeansicht in PowerShell gibt es folgende Möglichkeiten:

1. Format-Tabelle

Zeigt Daten in Form von Tabellen an.

Get-Process | Format-Table Name, Id, CPU   -AutoSize

In dieser Ausgabe wird eine Liste der Prozesse mit automatisch gekürzten Spalten angezeigt.

2. Format-Liste

Zeigt Daten in einer vertikalen Liste an, um detailliertere Details zu erhalten.

Get-Service | Where-Object Status -eq “Running” | Format-List Name, DisplayName, Status

Die Ausgabe enthält Details zum ausgeführten Dienst in einem Listenformat.

3. Formatweit

Nützlich für die Anzeige einer einzelnen Datenspalte, die mit einer bestimmten Breite formatiert ist.

Get-Command | Format-Wide -Property Name -Column 4

Dies ist hilfreich, wenn Sie nur eine bestimmte Eigenschaft hervorheben möchten.

Verwendung des String-Formats für automatisierte Berichte

Mit der Zeichenfolgenformatierung können Sie bei Bedarf Variablenwerte in den formatierten Text einfügen. Dies ist sehr nützlich für die Erstellung automatisierter Berichte.

Beispiel:

$Date = Get-Date -Format “dd-MM-yyyy”
$TotalProcesses = (Get-Process).Count
$Report = “System Report -  $DatenTotal Active Processes: $TotalProcesses”
Write-Output $Report

Ausgabe:

System Report - 16-12-2024
Total Active Processes: 127

PowerShell-Standardanpassung für relevantere Ausgaben

Standardmäßig formatiert PowerShell die Ausgabe basierend auf den integrierten Einstellungen. Sie können diese Einstellungen anpassen, um relevantere Daten anzuzeigen:

1. Hinzufügen einer benutzerdefinierten Formatierung für Objekte

Verwenden Sie XML-Dateien, um die benutzerdefinierten Formate zu definieren, die Sie auf bestimmte Objekte anwenden möchten.

Update-FormatData -PrependPath “CustomFormat.ps1xml”

2. Speichern der Ausgabe in einer Datei

Sie können die Ausgabe in eine Textdatei oder eine CSV-Datei leiten, um einen strukturierteren Bericht zu erstellen.

Get-Process | Select-Object Name, CPU  | Export-Csv -Path “ProcessReport.csv” -NoTypeInformation

3. Ausgabe in GridView

Verwenden Sie für eine interaktivere Datenverwaltung Out-GridView.

Get-Service | Out-GridView -Title “Layanan Aktif”

Interaktives Assistenzsystem

PowerShell verfügt über ein interaktives Hilfesystem, das detaillierte Informationen zu Cmdlets, Parametern und Beispielen enthält. Dieses System ist sehr nützlich für Administratoren und Benutzer, um PowerShell-Befehle schnell zu verstehen und zu verwenden.

Get-Help-Funktion  zum schnellen Verstehen von Cmdlets

Mit dem Cmdlet Get-Help können Sie direkt über die PowerShell-Konsole auf die Dokumentation des Cmdlets oder der Funktion zugreifen. Auf diese Weise müssen Sie sich nicht auf externe Verweise verlassen, um Cmdlets zu verstehen.

Get-Help Get-Process

Mit diesem Befehl werden Informationen zum Cmdlet Get-Process angezeigt, einschließlich der Beschreibung, der Parameter und der Verwendungssyntax.

Sie können auch den Parameter -Examples verwenden, um ein praktisches Beispiel für die Verwendung von Cmdlets anzuzeigen:

Get-Help Get-Process -Examples

Abrufen von Details zu Get-Process-Cmdlets

Wenn Sie ausführliche Informationen zu den Parametern eines Cmdlets benötigen, z. B. Get-Process, können Sie die Parameter -Detailed oder -Full  verwenden, um die vollständigen Details anzuzeigen.

Get-Help Get-Process -Detailed

Wenn Sie eine sehr vollständige Dokumentation benötigen, verwenden Sie:

Get-Help Get-Process -Full

Die beiden obigen Befehle enthalten eine vollständige Beschreibung, einschließlich einer Beschreibung der Parameter, der empfangenen Eingaben und der generierten Ausgabe.

So aktualisieren Sie die Hilfe mit update-help auf die neueste Version

PowerShell ermöglicht es Ihnen, Ihre Hilfedateien zu aktualisieren, damit sie für die neuesten Cmdlets und Features relevant bleiben. Dies ist besonders wichtig, wenn man bedenkt, dass PowerShell ständig weiterentwickelt wird.

Update-Help

Mit diesem Befehl werden die neuesten Hilfedateien für alle installierten Module heruntergeladen und installiert. Stellen Sie sicher, dass Ihr Gerät mit dem Internet verbunden ist, bevor Sie diesen Befehl ausführen.

Wenn Sie die Hilfe für ein bestimmtes Modul aktualisieren möchten, verwenden Sie Folgendes:

Update-Help -Module Microsoft.PowerShell.Management

Standardmäßig enthält PowerShell nur minimale Hilfedateien, um die Größe der Installation zu reduzieren. Durch Ausführen von Update-Help können Sie die vollständige Dokumentation für die Cmdlets und Module herunterladen.

PowerShell-Module und -Befehle

PowerShell verwendet das Modulkonzept, um Cmdlets und zugehörige Funktionen in einem einzigen, strukturierten Paket zu gruppieren. Module ermöglichen es Benutzern, die PowerShell-Funktionalität zu erweitern, indem sie bei Bedarf benutzerdefinierte Cmdlets und Skripts hinzufügen.

Module sind Sammlungen von Cmdlets, Funktionen, Variablen und Konfigurationsdateien, die zum Erweitern der Funktionen von PowerShell verwendet werden. Module können Cmdlets für bestimmte Aufgaben enthalten, z. B. Systemverwaltung, Netzwerke oder Anwendungen von Drittanbietern.

Jedes Modul kann mithilfe des Befehls Import-Module in eine PowerShell-Sitzung importiert werden. Dieses Modul kann es einfach machen, verschiedene Anwendungen oder administrative Aufgaben zu verwalten, ohne komplexe Skripte neu schreiben zu müssen.

Modul-Quelle

Module für PowerShell können aus einer Vielzahl von Quellen stammen:

1. Modul Bawaan Windows 11

Windows 11 wird mit Standardmodulen geliefert, mit denen Sie verschiedene Systemfunktionen wie Dateiverwaltung, Netzwerk und Dienste verwalten können.

Beispiele für die integrierten Module von Windows 11 sind das Microsoft.PowerShell.Management-Modul, das Cmdlets zum Verwalten von Prozessen und Diensten bereitstellt, und das Microsoft.PowerShell.Utility, das Hilfsfunktionen für die Datenmanipulation enthält.

2. Modul dari PowerShell Gallery dan Komunitas

PowerShell Gallery ist das offizielle Repository für PowerShell-Module, das von der Community und Entwicklern erstellt wurde. Sie können mithilfe der Cmdlets Find-Module und Install-Module aus dem PowerShell-Katalog nach Modulen suchen und diese installieren.

Beispiel für die Suche nach und die Installation von Modulen aus dem PowerShell-Katalog:

Find-Module -Name Az -Repository PSGallery
Install-Module -Name Az -Force

Modul Az ist ein Beispiel für ein Modul, das zum Verwalten von Azure-Diensten mithilfe von PowerShell verwendet wird.

3. Modul Kustom yang Dibuat oleh Pengguna

Benutzer können auch benutzerdefinierte Module erstellen und freigeben, um die spezifischen Anforderungen einer Organisation oder eines Projekts zu erfüllen. Diese Module können benutzerdefinierte Skripte und Funktionen enthalten, die von Benutzern geschrieben wurden, um bestimmte Aufgaben zu automatisieren.

Laden von Modulen mit Import-Module

Verwenden Sie das Cmdlet Import-Module, um Module zu laden, die bereits installiert oder in einem bestimmten Verzeichnis verfügbar sind. Nachdem das Modul geladen wurde, können Sie die Cmdlets und Funktionen, die sich in diesem Modul befinden, in Ihrer PowerShell-Sitzung verwenden.

Beispiel für das Laden eines eingebauten Moduls oder eines vorinstallierten Moduls:

Import-Module Microsoft.PowerShell.Management

So laden Sie ein Modul aus einem lokalen Verzeichnis oder einem benutzerdefinierten Modul:

Import-Module “C:\Path\To\Your\Module\MyCustomModule.psm1”

Wenn Sie sicherstellen möchten, dass importierte Module in jeder PowerShell-Sitzung verfügbar sind, können Sie diesen Befehl der PowerShell-Profildatei hinzufügen.

Neueste Artikel