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...
PowerShell-Erfolgsrezepte – die Profi-Tipps für effektives Scripting
Müde von umständlichen PowerShell-Skripten? Erfahre hier, wie die direkte Zuweisung von Variablen deinen Code vereinfachen und die Leistung erheblich steigern kann.
Wenn du die Ergebnisse eines Befehls speichern willst, weist du diese natürlich einer Variablen zu:
$result = Get-Process
Wenn du jedoch die Ergebnisse einer Schleife speichern müssen, greifen viele Benutzer auf eine manuelle Array-Verarbeitung zurück:
# beginnend mit einem leeren Array
$Ergebnis = @()
$list = 'Tobias', 'Chrissy', 'Alex', 'Melinda', 'Jordan', 'Jeffrey'
foreach ($element in $liste)
{
# Ergebnisse manuell in Array einfügen
$result += "processing $element"
}
$result.count
$result
Warum nicht einfach das Ergebnis wieder einer Variablen zuweisen und PowerShell die gesamte Array-Verarbeitung überlassen?
$list = 'Tobias', 'Chrissy', 'Alex', 'Melinda', 'Jordan', 'Jeffrey'
$result = foreach ($element in $list)
{
# Nicht zugewiesene Informationen werden zu einem Rückgabewert
"processing $element"
}
$result.count
$result
Dies ist viel einfacher und außerdem etwa 100 Mal schneller.
Beachte, dass du einer Variablen alles Mögliche zuweisen kannst – ob es sich um einen Befehl, eine Kontrollstruktur wie eine Schleife oder sogar eine Bedingung handelt. Die meisten schreiben wie folgt:
$date = Get-Date
if ($date.Hour -lt 12)
{
$text = 'morning'
}
else
{
$text = 'evening'
}
"It is $text."
Warum das Ergebnis nicht einmalig einer Variablen zuweisen und direkt aus der Kontrollstruktur übernehmen:
$date = Get-Date
$text =
if ($date.Hour -lt 12)
{
'morning'
}
else
{
'evening'
}
"It is $text."
Entfessele das volle Potenzial von PowerShell mit unserem praktischen Poster. Egal, ob frischer Einsteiger oder erfahrener Profi, dieser Spickzettel ist so konzipiert, dass du schnell die wichtigsten und am häufigsten verwendeten Cmdlets findest.
Das Poster ist zum Download und in Papierform erhältlich.
Jan 7, 2025 by Aleksandar Nikolić und Dr. Tobias Weltner
Schluss mit unübersichtlichem Code! Entdecke, wie du in PowerShell Objekte erstellst, geordnete Hash-Tabellen nutzt und...
Dez 27, 2024 by Aleksandar Nikolić und Dr. Tobias Weltner
Du hast genug von versteckten Fehlern in PowerShell-Skripten? Entdecke, wie Validierungs- und Transformationsattribute...
Dez 20, 2024 by Aleksandar Nikolić und Dr. Tobias Weltner
Du willst deine PowerShell-Skripte schneller und flexibler gestalten? Erfahre hier, wie du die Pipeline mit...
Tobias Weltner und Aleksandar Nikolić haben gemeinsam die Blogpost-Reihe „Tobias&Aleksandars PowerShell-Tipps“ verfasst. Deshalb möchten wir euch beide hier vorstellen:
----------------------------
Aleksandar Nikolić ist ein Microsoft Azure MVP und Mitbegründer von PowerShellMagazine.com, der ultimativen Online-Ressource für PowerShell-Enthusiasten. Mit über 18 Jahren Erfahrung in der Systemadministration ist er ein angesehener Trainer und Redner, der rund um den Globus reist, um sein Wissen und seine Fähigkeiten über Azure, Entra und PowerShell weiterzugeben. Er hat auf IT-Veranstaltungen wie Microsoft Ignite, ESPC, NIC, CloudBrew, NTK und der PowerShell Conference Europe gesprochen.
----------------------------
Tobias ist ein langjähriger Microsoft MVP und war von Anfang an an der Entwicklung von PowerShell beteiligt. Er hat die PowerShell IDE „ISESteroids“ erfunden, zahlreiche Bücher über PowerShell für Microsoft Press und O'Reilly geschrieben, die PowerShell Conference EU (psconf.eu) gegründet und trägt derzeit als Mitglied der „Microsoft Cmdlet Working Group“ zur Weiterentwicklung der PowerShell bei. Tobias gibt sein Wissen als Berater in Projekten und als Trainer in Inhouse-Schulungen für zahlreiche Unternehmen und Agenturen in ganz Europa weiter.