RUBRIQUE
    about_methods

DESCRIPTION COURTE
    Décrit comment utiliser certaines méthodes pour exécuter des 
    actions sur des objets dans Windows PowerShell.
 

DESCRIPTION LONGUE
    Windows PowerShell utilise des collections structurées d'informations, 
    appelées " objets ", pour représenter les éléments de magasins de 
    données ou l'état de l'ordinateur. Par exemple, lorsque vous accédez 
    à un fichier dans Windows PowerShell, vous ne travaillez pas avec 
    le fichier réel. En fait, vous travaillez avec un objet FileInfo, 
    c'est-à-dire un type d'objet qui joue le rôle du proxy du fichier.


    La plupart des objets incluent des méthodes. Une méthode est un jeu 
    d'instructions qui spécifient une action particulière que vous pouvez 
    entreprendre avec cet objet. Par exemple, l'objet FileInfo inclut une 
    méthode appelée CopyTo, qui vous permet de copier le fichier
    représenté par l'objet.


    Pour afficher une liste des méthodes et des définitions de méthode 
    associées à un objet particulier, vous pouvez utiliser l'applet de 
    commande Get-Member. Toutefois, pour utiliser l'applet de commande, 
    l'objet doit déjà exister sous une forme ou une autre, qu'il soit 
    représenté par une variable, créé lorsque vous spécifiez une commande 
    en tant qu'argument de la commande Get-Member ou existe sous forme 
    d'objet passé via un pipeline. Par exemple, supposez qu'une valeur 
    de chaîne ait été affectée à la variable $a, ce qui signifie que 
    la variable est associée à un objet chaîne. Pour afficher une 
    liste des méthodes de cet objet, entrez la commande suivante à 
    l'invite de commandes de Windows PowerShell :


        Get-Member -inputobject $a -membertype method


    Si vous souhaitez connaître les méthodes et définitions de 
    méthode associées à un objet passé via le pipeline, utilisez une 
    commande Get-Member dans le pipeline, comme le montre l'exemple 
    suivant :


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


    Le moyen le plus courant pour appeler une méthode consiste à 
    spécifier le nom de cette méthode après une référence d'objet 
    (comme une variable ou une expression). Vous devez utiliser un 
    point pour séparer la référence d'objet de la méthode. De plus, 
    vous devez faire suivre immédiatement le nom de la méthode de 
    parenthèses dans lesquelles figureront les arguments à passer à 
    la méthode. 


    Si aucun argument n'est passé dans une signature de méthode, 
    vous devez tout de même utiliser un jeu de parenthèses vides.


    Par exemple, la commande suivante utilise la méthode GetType 
    pour retourner le type de données associé à l'objet chaîne $a :


        $a.GetType()


    La méthode GetType retourne le type de données de tout objet, et une 
    variable représente toujours un objet. Le type d'objet dépend du type 
    de données stocké dans cette variable.


    Chaque action que vous exécutez dans Windows PowerShell est 
    associée à des objets, que vous déclariez une variable ou 
    combiniez des commandes en pipeline. Les méthodes peuvent par 
    conséquent être utilisées dans diverses situations. Par exemple, 
    vous pouvez utiliser une méthode pour agir sur la valeur d'une 
    propriété, comme le montre la commande suivante :


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


    Dans ce cas, l'objet sur lequel la méthode ToUpper est appelée 
    est l'objet chaîne associé à la propriété name. (Notez que le fichier 
    Final.txt doit exister à la racine du lecteur C: pour que cet exemple 
    fonctionne.) La propriété Name est une propriété de l'objet FileInfo 
    retournée par la commande Get-ChildItem. Cet exemple illustre non 
    seulement la nature orientée objet de Windows PowerShell, mais aussi 
    la façon dont les méthodes peuvent être appelées sur tout objet 
    accessible.


    Le résultat du dernier exemple peut aussi être obtenu à l'aide d'une 
    variable qui stocke la sortie de la commande Get-ChildItem, comme le 
    montre l'exemple suivant :


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


    La commande utilise là encore la méthode ToUpper de l'objet 
    chaîne associé à la variable, qui contient le nom de fichier 
    retourné par la commande Get-ChildItem.


    Dans certains cas, une méthode nécessite un argument afin de 
    cibler son action. Par exemple, l'objet FileInfo inclut la 
    méthode MoveTo, qui permet de déplacer un fichier. Cette méthode 
    requiert un argument qui spécifie l'emplacement cible du fichier. 
    La commande suivante montre comment inclure cet argument :


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


    La commande Get-ChildItem retourne un objet FileInfo pour le fichier 
    Final.txt, puis utilise la méthode MoveTo de cet objet pour initialiser 
    l'action et spécifier le nouvel emplacement du fichier.


    Pour déterminer les arguments associés à une méthode, examinez la 
    définition de la méthode en question. Une définition de méthode 
    contient une ou plusieurs signatures de méthode (également appelées 
    " surcharges " dans le Microsoft .NET Framework). Une signature de méthode 
    contient le nom d'une méthode et de zéro à plusieurs paramètres que 
    vous devez fournir lorsque vous appelez la méthode. Chaque signature 
    de méthode est séparée de la précédente par une virgule dans 
    l'affichage de l'applet de commande Get-Member. Par exemple, 
    la méthode CopyTo de la classe FileInfo contient les deux signatures 
    de méthode suivantes :


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


    La première signature de méthode prend le nom du fichier de 
    destination (chemin d'accès compris) dans lequel copier le 
    fichier source. Dans l'exemple suivant, la première méthode 
    CopyTo est utilisée pour copier le fichier Final.txt dans 
    le répertoire C:\Bin :


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


    Si le fichier existe déjà à l'emplacement de destination, la 
    méthode CopyTo échoue et Windows PowerShell signale l'erreur 
    suivante :


        Exception lors de l'appel de " CopyTo " avec " 1 " argument(s) : 
        " Le fichier c:\bin\final.txt existe déjà. ".


    Dans la seconde signature de méthode, vous passez le nom du fichier 
    de destination exactement comme vous l'avez fait dans le premier cas, 
    mais vous passez également une valeur booléenne pour spécifier si 
    vous souhaitez qu'un fichier du même nom existant à l'emplacement 
    de destination soit remplacé, comme le montre l'exemple suivant :


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


    Lorsque vous passez la valeur booléenne, vous devez utiliser la 
    variable $True, créée automatiquement par Windows PowerShell. La 
    variable $True contient la valeur booléenne " true ". (Comme vous 
    vous y attendez sans doute, la variable $False contient la valeur 
    booléenne " false ".)


VOIR AUSSI
    about_Objects
    Get-Member





Table des matières