Skip to the main content.

PowerShell-Erfolgsrezepte – die Profi-Tipps für effektives Scripting

Gut für Performance und Debugging: Erweiterte Funktionen in PowerShell

In PowerShell steckt mehr, als man auf den ersten Blick sieht! Wusstest du, dass einfache Funktionen viele praktische Features wie $PSDefaultParameterValues oder ‑Verbose nicht unterstützen? In diesem Artikel erfährst du, warum du deine Funktionen auf das erweiterte Level heben solltest – und wie dir das [CmdletBinding()] und param() helfen, die volle PowerShell-Funktionalität zu nutzen. Höhere Zuverlässigkeit, weniger Debugging-Probleme!

 

Nutze standardmäßig 'Advanced Functions'

Viele wissen nicht, dass PowerShell zwei verschiedene Arten von Funktionen unterstützt:

  • einfache Funktionen (simple functions) und
  • fortgeschrittene Funktionen (advanced functions).

Nur fortgeschrittene Funktionen unterstützen alle PowerShell-Features, und wenn es keine spezifischen Gründe gibt, warum du explizit eine alte, einfache Funktion wünscht, solltest du sicherheitshalber immer gewährleisten, dass alle Ihre Funktionen fortgeschrittene Funktionen sind.

Der einfachste Weg, dies sicherzustellen, ist, das hier zu all deinen Funktionen hinzuzufügen:


[CmdletBinding()]
param() 


Wenn du Parameter definieren willst, fügen diese in den param()-Block ein. Wenn du spezielle Cmdlet-Funktionen definieren willst, füge sie zu [CmdletBinding()] hinzu. Versuche zum Beispiel Folgendes, um die Parameter ‑WhatIf und ‑Confirm hinzuzufügen:


[CmdletBinding(SupportsShouldProcess)]
param() 


Aus Sicht des Benutzers kannst du immer überprüfen, ob eine Funktion tatsächlich eine erweiterte Funktion ist: Sie unterstützt alle gängigen Parameter (z.B. ‑Verbose, ‑ErrorAction), während "einfache Funktionen" nur die Parameter unterstützen, die Sie selbst definiert haben.

Extra-Tipp: Einfachen Funktionen fehlen viele Eigenschaften, die auf den ersten Blick vielleicht nicht ersichtlich sind. Zum Beispiel sind sie nicht kompatibel mit $PSDefaultParameterValues. Vermeiden Sie einfache Funktionen, damit Sie nicht in schwer zu debuggende Edge-Case-Probleme aufgrund von nicht unterstützten internen Funktionen geraten.

 

 

 

Good2know

Ihr ultimatives PowerShell Cheat Sheet

Entfesseln Sie das volle Potenzial von PowerShell mit unserem praktischen Poster. Egal, ob Sie ein Anfänger oder ein erfahrener Profi sind, dieser Spickzettel ist so konzipiert, dass er Ihnen die wichtigsten und am häufigsten verwendeten Cmdlets zeigt.

Das Poster ist zum Download und in Papierform erhältlich.

PowerShell Poster 2023

Holen Sie sich hier Ihr Plakat!

 

 

Verwandte Links 

 

Zusammenhängende Posts

4 min read

Objekte in PowerShell: So bringst du Struktur in deine Skripte

Schluss mit unübersichtlichem Code! Entdecke, wie du in PowerShell Objekte erstellst, geordnete Hash-Tabellen nutzt und...

5 min read

PowerShell-Skripte zur Validierung und Transformation von Daten

Du hast genug von versteckten Fehlern in PowerShell-Skripten? Entdecke, wie Validierungs- und Transformationsattribute...

4 min read

Setze auf die PowerShell-Pipeline

Du willst deine PowerShell-Skripte schneller und flexibler gestalten? Erfahre hier, wie du die Pipeline mit...

Über den Autor: