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
Bereit, deine PowerShell-Enum-Kenntnisse zu erweitern? Entdecke, wie [Flags()] einfache Enums in leistungsstarke Binärkombinationen umwandelt, sodass du mehrere Einstellungen mit eleganter Präzision verwalten kannst – perfekt für Funktionsflags, Berechtigungssysteme und Konfigurationsverwaltung.
Einfache Enums definieren eine Liste zulässiger Werte, von denen der Benutzer genau einen auswählen kann. Wenn Enums als Flag-Array definiert sind, kann der Benutzer mehr als einen Wert auswählen:
[Flags()]
enum Features
{
BootLog
RealTimeProtection
Firewall
PhysicalAccess
Leash
}
[Features]$myFeatures = 'Firewall', 'Leash'
$myFeatures
Durch das Hinzufügen des Attributs [Flags()] zur Enum erhält jeder Enum-Eintrag nun seinen eigenen eindeutigen Bit-Wert, so dass der Benutzer beliebig viele Enum-Elemente kombinieren kann. Der Typ [Enum] kann hier etwas Licht ins Dunkel bringen. Hier listet er die definierten Enum-Namen auf:
Als Nächstes werden die zugewiesenen echten numerischen Werte angezeigt:
Wenn du mehrere Werte zuweist, werden Bit-Werte hinzugefügt:
Es gibt nur ein Problem: Die zugewiesenen Nummern sind fortlaufend und damit mehrdeutig - PhysicalAccess hat die ID 3, aber RealTimeProtection+Firewall zählt auch zu 3.
Wenn du [Flags()] verwendest, müssen den Enum-Elementen auch manuell eindeutige Werte zugewiesen werden:
[Flags()]
enum Features
{
BootLog = 1
RealTimeProtection = 2
Firewall = 4
PhysicalAccess = 8
Leash = 16
}
Jetzt hat jedes Element eine eindeutige ID:
Nun, mit eindeutigen IDs, kannst du Enums wie jede andere Zahl verwenden, um binäre Arithmetik zu betreiben:
Verwende den Operator "+=", um ein Element hinzuzufügen, und "-=", um es zu entfernen:
Auch um zu prüfen, ob ein bestimmter Wert in einer solchen Liste vorhanden ist, können binäre Operatoren wie -band und -bor verwendet werden:
Wir hatten viele tolle Gespräche im Scriptember, glückliche Gewinner bei den diversen Challenges und sagen Danke, ihr seid die Besten!
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.