THEMA
    about_methods

KURZBESCHREIBUNG
    Beschreibt die Methoden zum Ausführen von Objektaktionen in 
    Windows PowerShell.
 

DETAILBESCHREIBUNG
    In Windows PowerShell werden die Elemente in Datenspeichern oder 
    der Zustand des Computers durch strukturierte Auflistungen von 
    Informationen dargestellt, die als Objekte bezeichnet werden. 
    Wenn Sie z. B. auf eine Datei in Windows PowerShell zugreifen, 
    arbeiten Sie nicht mit der eigentlichen Datei. Stattdessen 
    arbeiten Sie mit einem FileInfo-Objekt, einem Typ von Objekt, das 
    als Proxy der Datei verwendet wird.


    Die meisten Objekte enthalten Methoden. Eine Methode besteht aus 
    einer Reihe von Anweisungen, die eine bestimmte Aktion angeben, 
    die für das betreffende Objekt ausgeführt werden kann. Das 
    FileInfo-Objekt enthält z. B. die CopyTo-Methode, mit der Sie die 
    vom Objekt dargestellte Datei kopieren können.


    Wenn Sie eine Liste von Methoden und Methodendefinitionen 
    anzeigen möchten, die einem bestimmten Objekt zugeordnet sind, 
    können Sie das Cmdlet "Get-Member" verwenden. Wenn Sie das Cmdlet 
    verwenden möchten, muss das Objekt jedoch bereits in einer 
    bestimmten Form vorhanden sein: Es muss durch eine Variable 
    dargestellt werden, als Objekt vorliegen, das beim Angeben eines 
    Befehls als Argument für den Befehl "Get-Member" erstellt wurde, 
    oder aber als Objekt über eine Pipeline übergeben werden. 
    Angenommen, der Variablen "$a" wurde ein Zeichenfolgenwert 
    zugewiesen. Dies bedeutet, dass die Variable einem Zeichenfolgenob
    jekt zugeordnet ist. Eine Liste mit den Methoden eines Objekts 
    können Sie anzeigen, indem Sie an der Windows PowerShell-Eingabeau
    fforderung den folgenden Befehl eingeben:


        Get-Member -inputobject $a -membertype method


    Wenn Sie die Methoden und Methodendefinitionen anzeigen möchten, 
    die einem über die Pipeline übergebenen Objekt zugeordnet sind, 
    geben Sie den Befehl "Get-Member" in der Pipeline an, wie im 
    folgenden Beispiel gezeigt:


        Get-ChildItem c:\final.txt | Get-Member -membertype method


    Methoden werden am häufigsten aufgerufen, indem der Methodenname 
    nach einem Objektverweis (z. B. einer Variablen oder einem Ausdruck) 
    angegeben wird. Sie müssen den Objektverweis und die Methode durch 
    einen Punkt voneinander trennen. Darüber hinaus müssen Sie 
    unmittelbar nach dem Methodennamen die Argumente in Klammern 
    einschließen, die an die Methode übergeben werden sollen. 


    Wenn in einer Methodensignatur keine Argumente übergeben werden, 
    müssen Sie dennoch ein Paar leerer Klammern angeben.


    Im folgenden Befehl wird mit der GetType-Methode der dem 
    Zeichenfolgenobjekt "$a" zugeordnete Datentyp zurückgegeben:


        $a.GetType()


    Mit der GetType-Methode wird der Datentyp für ein beliebiges Objekt 
    zurückgegeben, und eine Variable stellt immer ein Objekt dar. Der Typ 
    des Objekts hängt vom Typ der Daten ab, die in der jeweiligen 
    Variablen gespeichert sind.


    Jeder in Windows PowerShell ausgeführten Aktion sind Objekte 
    zugeordnet, unabhängig davon, ob Sie eine Variable deklarieren 
    oder Befehle in der Pipeline miteinander kombinieren.
    Daher können Methoden in einer Vielzahl von Situationen verwendet 
    werden. Sie können mit einer Methode beispielsweise eine Aktion 
    für einen Eigenschaftenwert ausführen, wie im folgenden Beispiel 
    gezeigt:


        (Get-ChildItem c:\final.txt).name.ToUpper()


    In diesem Fall ist das Objekt, für das die ToUpper-Methode 
    aufgerufen wird, das Zeichenfolgenobjekt, das der name-Eigenschaft 
    zugeordnet ist. (Dieses Beispiel wird nur erfolgreich ausgeführt, 
    wenn die Datei "Final.txt" im Stammverzeichnis des Laufwerks "C:" 
    vorhanden ist.) Die Name-Eigenschaft ist eigentlich eine Eigenschaft 
    des vom Befehl Get-ChildItem zurückgegebenen FileInfo-Objekts. Dies 
    veranschaulicht nicht nur die objektorientierten Prinzipien von 
    Windows PowerShell, sondern zeigt auch, wie Methoden für jedes 
    verfügbare Objekt aufgerufen werden können.


    Dieselben Ergebnisse wie im letzten Beispiel können Sie mit einer 
    Variablen zum Speichern der Ausgabe des Befehls "Get-ChildItem" 
    erzielen, wie im folgenden Beispiel gezeigt wird:


        $a = (Get-ChildItem c:\final.txt).name
        $a.ToUpper()


    Auch in diesem Befehl wird die ToUpper-Methode des Zeichenfolgenob
    jekts verwendet, das der Variablen mit dem vom Befehl 
    "Get-ChildItem" zurückgegebenen Dateinamen zugeordnet ist.


    In einigen Fällen ist für eine Methode ein Argument erforderlich, 
    das das Ziel der Methode angibt. Das FileInfo-Objekt enthält 
    beispielsweise die MoveTo-Methode, mit der eine Datei aus einem 
    Verzeichnis in ein anderes verschoben werden kann. Die Methode 
    erfordert ein Argument, mit dem der Zielspeicherort für die Datei 
    angegeben wird. Im folgenden Befehl wird gezeigt, wie das 
    betreffende Argument angegeben wird:


        (Get-ChildItem c:\final.txt).MoveTo("c:\techdocs\final.txt")


    Mit dem Befehl "Get-ChildItem" wird ein FileInfo-Objekt für die 
    Datei "Final.txt" zurückgegeben, und anschließend wird mit der 
    MoveTo-Methode dieses Objekts die Aktion initiiert, wobei der 
    neue Speicherort für die Datei angegeben wird.


    Die einer Methode zugeordneten Argumente finden Sie in der 
    entsprechenden Methodendefinition. Eine Methodendefinition 
    enthält eine oder mehrere Methodensignaturen (in Microsoft .NET 
    Framework auch als Überladung bezeichnet). Eine Methodensignatur 
    enthält den Namen der Methode und 0 oder mehr Parameter, die beim 
    Aufrufen der Methode angegeben werden müssen. Die Methodensignatur
    en werden in der Anzeige des Cmdlet "Get-Member" von der jeweils 
    vorherigen Signatur durch ein Komma getrennt. Die CopyTo-Methode 
    der FileInfo-Klasse enthält beispielsweise die folgenden beiden 
    Methodensignaturen:


        1. CopyTo(String destFileName)
        2. CopyTo(String destFileName, Boolean overwrite)


    Die erste Methodensignatur akzeptiert den Zieldateinamen 
    (einschließlich des Pfads), in den die Quelldatei kopiert werden 
    soll. Im folgenden Beispiel wird mit der ersten CopyTo-Methode 
    die Datei "Final.txt" in das Verzeichnis "C:\Bin" kopiert:


        (Get-ChildItem c:\final.txt).CopyTo("c:\bin\final.txt")


    Wenn die Datei im Zielverzeichnis bereits vorhanden ist, tritt 
    beim Ausführen der CopyTo-Methode ein Fehler auf, und in Windows 
    PowerShell wird die folgende Fehlermeldung ausgegeben:


        Ausnahme beim Aufrufen von "CopyTo" mit "1" Argument(en): "Die Datei 
        'c:\bin\final.txt' ist bereits vorhanden."


    In der zweiten Methodensignatur übergeben Sie wie im ersten 
    Beispiel den Zieldateinamen, Sie übergeben jedoch zusätzlich 
    einen booleschen Wert und geben damit an, ob eine im 
    Zielverzeichnis vorhandene Datei mit demselben Namen 
    überschrieben werden soll, wie im folgenden Beispiel gezeigt wird:


        (Get-ChildItem c:\final.txt).CopyTo("c:\bin\final.txt", $true)


    Beim Übergeben des booleschen Werts müssen Sie die Variable "$True" 
    verwenden, die von Windows PowerShell automatisch erstellt wird. Die 
    Variable "$True" enthält den booleschen Wert "True". (Entsprechend 
    enthält die Variable "$False" den booleschen Wert "False".)


SIEHE AUCH
    about_Objects
    Get-Member




Inhaltsverzeichnis