Sie sind hier

Skripteigenschaft

Eintrag zuletzt aktualisiert am: 05.10.2006

Bezug: Microsoft PowerShell/Extended Type System

Eine Skripteigenschaft (ScriptProperty) ist eine berechnete Eigenschaft, also eine Information die nicht in dem Objekt selbst gespeichert ist. Dabei muss die Berechnung nicht notwendigerweise eine mathematische Berechnung sein; die kann auch den Zugriff auf die Eigenschaften eines untergeordneten Objekts sein. Der Befehl

Get-Process | select-object name, product

listet alle Prozesse auf mit den Produkten, zu denen der Prozess gehört. Dies ist sinnvoll zu wissen, wenn man auf seinem System einen Prozess sieht, denn man nicht kennt und von dem man befürchtet, dass es sich um einen Schädling handeln könnte.

Die Information über das Produkt steht nicht in dem Prozess (Windows listet diese Information im Taskmanager ja auch nicht auf), aber in der Datei, die den Programmcode für den Prozess enthält. Das .NET Framework bietet über die MainModule.FileversionInfo.ProductName einen Zugang zu dieser Information.

Anstelle des Befehls

Get-Process | select-object name, Mainmodule.FileVersionInfo.ProductName

bietet Microsoft durch die Skripteigenschaft eine Abkürzung an. Diese Abkürzung ist definiert in der Datei types.ps1xml im Installationsverzeichnis der PowerShell.

Die Skripteigenschaften gibt es nicht im .NET Framework; sie sind eine Eigenart der PowerShell.