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 .
Navigation dans le lecteur de fonction
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 gh
par .
Rename-Item -Path Function:help -NewName gh
Copie d’une fonction
Cette commande copie la prompt
fonction en oldPrompt
cré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 enConstant
.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 utiliserRemove-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: