about_Function_Provider

Nom du fournisseur

Fonction

Lecteurs

Function:

Capabilities

ShouldProcess

Description courte

Fournit l’accès aux fonctions définies dans PowerShell.

Description détaillée

Le fournisseur de fonctions PowerShell vous permet d’obtenir, d’ajouter, de modifier, d’effacer et de supprimer les fonctions et les filtres dans PowerShell.

Une fonction est un bloc de code nommé qui effectue une action. Quand vous tapez le nom de la fonction, le code de la fonction s'exécute. Un filtre est un bloc de code nommé qui établit les conditions d'une action. Vous pouvez taper le nom du filtre à la place de la condition, par exemple dans une Where-Object commande.

Le lecteur de fonction est un espace de noms plat qui contient uniquement les objets de fonction et de filtre. Ni les fonctions ni les filtres n'ont des éléments enfants.

Le fournisseur de fonctions prend en charge les applets de commande suivantes, qui sont abordées dans cet article.

Types exposés par ce fournisseur

Chaque fonction est une instance de la classe System.Management.Automation.FunctionInfo . Chaque filtre est une instance de la classe System.Management.Automation.FilterInfo .

Le fournisseur de fonctions expose son magasin de données dans le Function: lecteur. Pour utiliser des fonctions, vous pouvez modifier votre emplacement vers le Function: lecteur (Set-Location Function:). Vous pouvez également travailler à partir d’un autre lecteur PowerShell. Pour référencer une fonction à partir d’un autre emplacement, utilisez le nom du lecteur (Function:) dans le chemin d’accès.

Set-Location Function:

Pour revenir à un lecteur du système de fichiers, tapez le nom du lecteur. Par exemple, entrez :

Set-Location C:

Vous pouvez également utiliser le fournisseur de fonctions à partir de n’importe quel autre lecteur PowerShell. Pour référencer une fonction à partir d’un autre emplacement, utilisez le nom Function: du lecteur dans le chemin d’accès.

Remarque

PowerShell utilise des alias pour vous permettre d’utiliser des chemins d’accès de fournisseur familiers. Les commandes telles que dir et ls sont désormais des alias pour Get-ChildItem sont cd un alias pour Set-Location. et pwd est un alias pour Get-Location.

Obtention de fonctions

Cette commande obtient la liste de toutes les fonctions dans la session active. Vous pouvez utiliser cette commande à partir de n’importe quel lecteur PowerShell.

Get-ChildItem -Path Function:

Le fournisseur de fonctions n’a pas de conteneurs. Par conséquent, la commande ci-dessus a le même effet quand elle est utilisée avec Get-ChildItem.

Get-ChildItem -Path Function:

Vous pouvez récupérer la définition d’une fonction en accédant à la propriété Definition , comme indiqué ci-dessous.

(Get-Item -Path function:more).Definition

Vous pouvez également récupérer la définition d’une fonction à l’aide de son chemin d’accès du fournisseur préfixé par le signe dollar ($).

$function:more

Pour récupérer la définition d’une fonction qui a un tiret (-) dans le nom, encapsulez la valeur après les accolades de connexion dollar.

${function:Clear-Host}

Obtention des fonctions sélectionnées

Cette commande obtient la man fonction à partir du Function: lecteur. Il utilise l’applet Get-Item de commande pour obtenir la fonction. L’opérateur de pipeline (|) envoie le résultat à Format-Table. Le -Wrap paramètre dirige le texte qui ne tient pas sur la ligne sur la ligne suivante. Le -Autosize paramètre redimensionne les colonnes du tableau pour prendre en charge le texte.

Get-Item -Path man | Format-Table -Wrap -Autosize

Utilisation des chemins du fournisseur de fonctions

Ces commandes obtiennent toutes les deux la fonction nommée c:. La première commande peut être utilisée dans n'importe quel lecteur. La deuxième commande est utilisée dans le Function: lecteur. Comme le nom se termine par un signe deux-points, qui est la syntaxe pour un lecteur, vous devez qualifier le chemin d'accès avec le nom du lecteur. Dans le lecteur, vous pouvez utiliser l’un Function: ou l’autre format. Dans la deuxième commande, le point (.) représente l’emplacement actuel.

PS C:\> Get-Item -Path Function:c:
PS Function:\> Get-Item -Path .\c:

Création d'une fonction

Cette commande utilise l’applet New-Item de commande pour créer une fonction appelée Win32:. L'expression entre accolades est le bloc de script qui est représenté par le nom de la fonction.

New-Item -Path Function:Win32: -Value {Set-Location C:\Windows\System32}

Vous pouvez également créer une fonction en la tapant sur la ligne de commande PowerShell. Par exemple, tpe Function:Win32: {Set-Location C:\Windows\System32}. Si vous êtes dans le Function: lecteur, vous pouvez omettre le nom du lecteur.

Suppression d’une fonction

Cette commande supprime la more fonction de la session active.

Remove-Item Function:more

Modification d’une fonction

Cette commande utilise l’applet Set-Item de commande pour modifier la prompt fonction afin qu’elle affiche l’heure avant le chemin d’accès.

Set-Item -Path Function:prompt -Value {
  'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
  }

Renommer une fonction

Cette commande utilise l’applet Rename-Item de commande pour remplacer le nom de la help fonction ghpar .

Rename-Item -Path Function:help -NewName gh

Copie d’une fonction

Cette commande copie la prompt fonction en oldPromptcréant efficacement un nom pour le bloc de script associé à la fonction d’invite. Vous pouvez utiliser ceci pour enregistrer la fonction prompt d'origine si vous projetez de la changer. La propriété Options de la nouvelle fonction a la valeur None. Pour modifier la valeur de la propriété Options , utilisez Set-Item.

Copy-Item -Path Function:prompt -Destination Function:oldPrompt

Paramètres dynamiques

Les paramètres dynamiques sont des paramètres d’applet de commande qui sont ajoutés par un fournisseur PowerShell et sont disponibles uniquement lorsque l’applet de commande est utilisée dans le lecteur avec le fournisseur.

Options <[System.Management.Automation.ScopedItemOptions]>

Détermine la valeur de la propriété Options d’une fonction.

  • None: Aucune option. None est la valeur par défaut.
  • Constant: la fonction ne peut pas être supprimée et ses propriétés ne peuvent pas être modifiées. Constant est disponible uniquement lorsque vous créez une fonction. Vous ne pouvez pas modifier l’option d’une fonction existante en Constant.
  • Private: la fonction est visible uniquement dans l’étendue actuelle
  • (pas dans les étendues enfants).
  • ReadOnly: les propriétés de la fonction ne peuvent pas être modifiées, sauf à l’aide du -Force paramètre. Vous pouvez utiliser Remove-Item pour supprimer la fonction.
  • AllScope: la fonction est copiée dans toutes les nouvelles étendues créées.

Applets de commande prises en charge

Utilisation du pipeline

Les applets de commande du fournisseur acceptent l’entrée de pipeline. Vous pouvez utiliser le pipeline pour simplifier la tâche en envoyant des données de fournisseur d’une applet de commande à une autre applet de commande du fournisseur. Pour en savoir plus sur l’utilisation du pipeline avec des applets de commande de fournisseur, consultez les références d’applet de commande fournies dans cet article.

Obtenir de l’aide

Depuis Windows PowerShell 3.0, vous pouvez obtenir des rubriques d'aide personnalisées pour les applets de commande du fournisseur, qui expliquent comment ces applets de commande se comportent dans un lecteur du système de fichiers.

Pour obtenir les rubriques d’aide personnalisées pour le lecteur de système de fichiers, exécutez une commande Get-Help dans un lecteur de système de fichiers ou utilisez le -Path paramètre Get-Help pour spécifier un lecteur de système de fichiers.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path function:

Voir aussi