Nous ne mettons plus à jour ce contenu régulièrement. Consultez la page Politique de support Microsoft pour plus d’informations sur la prise en charge de ce produit, de ce service, de cette technologie ou de cette API.
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