THEMA
    about_Properties

KURZBESCHREIBUNG
    Beschreibt, wie Objekteigenschaften in Windows PowerShell 
    verwendet werden. 


DETAILBESCHREIBUNG
    Windows PowerShell verwendet strukturierte Auflistungen von 
    Informationen, die als Objekte bezeichnet werden, um die Elemente 
    in Datenspeichern oder den Computerzustand darzustellen.
    In der Regel arbeiten Sie mit Objekten, die Teil von Microsoft 
    .NET Framework sind, Sie können jedoch auch benutzerdefinierte 
    Objekte in Windows PowerShell erstellen.


    Die Zuordnung zwischen einem Element und seinem Objekt ist sehr 
    nah. Wenn Sie ein Objekt ändern, ändern Sie das Element, das von 
    dem Objekt dargestellt wird. Wenn Sie beispielsweise eine Datei 
    in Windows PowerShell abrufen, erhalten Sie nicht die eigentliche Datei.
    Stattdessen wird ein FileInfo-Objekt abgerufen, das die Datei 
    darstellt. Wenn Sie das FileInfo-Objekt ändern, wird die Datei 
    ebenfalls geändert.


    Die meisten Objekte verfügen über Eigenschaften. Eigenschaften 
    sind die Daten, die mit einem Objekt verknüpft sind. In diesen 
    Daten wird das Objekt beschrieben. Das FileInfo-Objekt enthält 
    beispielsweise die Length-Eigenschaft, die die Größe der von dem 
    Objekt dargestellten Datei angibt.


  Objekteigenschaften

     Verwenden Sie zum Auflisten der Eigenschaften eines Objekts das 
     Cmdlet "Get-Member". Um beispielsweise die Eigenschaften eines 
     FileInfo-Objekts abzurufen, rufen Sie mit dem Cmdlet 
     "Get-ChildItem" das FileInfo-Objekt ab, das eine Datei 
     darstellt. Anschließend senden Sie das FileInfo-Objekt mit einem 
     Pipelineoperator (|) an Get-Member. Mit dem folgendem Befehl 
     wird die Datei "PowerShell.exe" abgerufen und an Get-Member 
     gesendet. Die automatische Variable "$Pshome" enthält den Pfad 
     zum Windows PowerShell-Installationsverzeichnis.

         get-childitem $pshome\powershell.exe | get-member


     Die Ausgabe des Befehls enthält die Elemente des FileInfo-Objekts. 
     Elemente umfassen sowohl Eigenschaften als auch Methoden. Wenn 
     Sie in Windows PowerShell arbeiten, haben Sie Zugriff auf alle 
     Elemente der Objekte.


     Um nur die Eigenschaften und nicht die Methoden eines Objekts 
     abzurufen, verwenden Sie den MemberType-Parameter des Cmdlets 
     "Get-Member" mit dem Wert von "property", wie im folgenden 
     Beispiel veranschaulicht.

         get-childitem $pshome\powershell.exe | get-member -membertype property

            TypeName: System.IO.FileInfo
        

         Name              MemberType Definition
         ----              ---------- ----------
         Attributes        Property   System.IO.FileAttributes Attribute {get;set;}
         CreationTime      Property   System.DateTime CreationTime {get;set;}
         CreationTimeUtc   Property   System.DateTime CreationTimeUtc {get;set;}
         Directory         Property   System.IO.DirectoryInfo Directory {get;}
         DirectoryName     Property   System.String DirectoryName {get;}
         Exists            Property   System.Boolean Exists {get;}
         Extension         Property   System.String Extension {get;}
         FullName          Property   System.String FullName {get;}
         IsReadOnly        Property   System.Boolean IsReadOnly {get;set;}
         LastAccessTime    Property   System.DateTime LastAccessTime {get;set;}
         LastAccessTimeUtc Property   System.DateTime LastAccessTimeUtc {get;set;}
         LastWriteTime     Property   System.DateTime LastWriteTime {get;set;}
         LastWriteTimeUtc  Property   System.DateTime LastWriteTimeUtc {get;set;}
         Length            Property   System.Int64 Length {get;}
         Name              Property   System.String Name {get;}

     Nachdem Sie die Eigenschaften gefunden haben, können Sie sie in 
     Windows PowerShell-Befehlen verwenden.


  Eigenschaftenwerte
    
     Auch wenn alle Objekte eines bestimmten Typs über die gleichen 
     Eigenschaften verfügen, beschreiben die Werte dieser 
     Eigenschaften das bestimmte Objekt. Beispielsweise verfügt jedes 
     FileInfo-Objekt über eine CreationTime-Eigenschaft, der Wert 
     dieser Eigenschaft unterscheidet sich jedoch je nach Datei.


     Die gängigste Möglichkeit zum Abrufen der Werte von 
     Eigenschaften eines Objekts besteht in der Verwendung der 
     DOT-Methode. Geben Sie einen Verweis auf das Objekt ein, 
     beispielsweise eine Variable, die das Objekt enthält, oder einen 
     Befehl, mit dem das Objekt abgerufen wird. Geben Sie 
     anschließend einen Punkt (.) und dann den Eigenschaftennamen ein.


     Der folgende Befehl zeigt beispielsweise den Wert der 
     CreationTime-Eigenschaft für die Datei "PowerShell.exe" an. Der 
     Befehl "Get-ChildItem" gibt ein FileInfo-Objekt zurück, das die 
     Datei "PowerShell.exe" darstellt. Der Befehl wird in Klammern 
     notiert, um sicherzustellen, dass er ausgeführt wird, bevor auf 
     Eigenschaften zugegriffen wird. Auf den Befehl "Get-ChildItem" 
     folgt ein Punkt, und anschließend wird der Name der 
     CreationTime-Eigenschaft notiert, wie nachfolgend dargestellt:

         C:\PS> (Get-ChildItem $pshome\powershell.exe).creationtime
         Dienstag, 18. März 2008, 00:07:52


     Sie können ein Objekt auch in einer Variablen speichern und dann 
     die Eigenschaften mit der DOT-Methode abrufen, wie im folgenden 
     Beispiel veranschaulicht wird:

         C:\PS> $a = Get-ChildItem $pshome\powershell.exe
         C:\PS> $a.CreationTime
         Dienstag, 18. März 2008, 00:07:52


     Sie können die Eigenschaftenwerte eines Objekts auch mit dem 
     Cmdlet "Select-Object" und mit dem Cmdlet "Format-List" 
     anzeigen. Select-Object und Format-List verfügen jeweils über 
     einen Property-Parameter. Mit dem Property-Parameter können Sie 
     eine oder mehrere Eigenschaften und ihre Werte angeben. Sie 
     können auch das Platzhalterzeichen (*) für alle Eigenschaften 
     angeben.


     Der folgende Befehl zeigt beispielsweise die Werte aller 
     Eigenschaften für die Datei "PowerShell.exe" an. 
 
 
         C:\PS> Get-ChildItem $pshome\powershell.exe | Format-List -property *

         PSPath            : Microsoft.PowerShell.Core\FileSystem::C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
         PSParentPath      : Microsoft.PowerShell.Core\FileSystem::C:\Windows\system32\WindowsPowerShell\v1.0
         PSChildName       : powershell.exe
         PSDrive           : C
         PSProvider        : Microsoft.PowerShell.Core\FileSystem
         PSIsContainer     : False
         VersionInfo       : File:             C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
                             InternalName:     POWERSHELL
                             OriginalFilename: PowerShell.EXE.MUI
                             File Version:     6.1.6570.1 
                             (fbl_srv_powershell(nigels).070711-0102)
                             FileDescription:  PowerShell.EXE
                             Product:          Microsoft® Windows® Operating System
                             ProductVersion:   6.1.6570.1
                             Debug:            False
                             Patched:          False
                             PreRelease:       False
                             PrivateBuild:     True
                             SpecialBuild:     False
                             Language:         Deutsch (Deutschland)

         BaseName          : powershell
         Mode              : -a---
         Name              : powershell.exe
         Length            : 160256
         DirectoryName     : C:\Windows\system32\WindowsPowerShell\v1.0
         Directory         : C:\Windows\system32\WindowsPowerShell\v1.0
         IsReadOnly        : False
         Exists            : True
         FullName          : C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
         Extension         : .exe
         CreationTime      : 18.3.2008 00:07:52
         CreationTimeUtc   : 18.3.2008 07:07:52
         LastAccessTime    : 19.3.2008 08:13:58
         LastAccessTimeUtc : 19.3.2008 15:13:58
         LastWriteTime     : 18.3.2008 00:07:52
         LastWriteTimeUtc  : 18.3.2008 07:07:52
         Attributes        : Archive
        

SIEHE AUCH
    about_Objects
    Get-Member
    Select-Object
    Format-List




Inhaltsverzeichnis