about_Providers

Description courte

Décrit comment les fournisseurs PowerShell fournissent l’accès aux données et aux composants qui ne seraient pas facilement accessibles au niveau de la ligne de commande. Les données sont présentées dans un format cohérent qui ressemble à un lecteur du système de fichiers.

Description longue

Les fournisseurs PowerShell sont des programmes .NET qui fournissent l’accès aux magasins de données spécialisés pour faciliter l’affichage et la gestion. Les données s’affichent dans un lecteur et vous accédez aux données dans un chemin d’accès comme vous le feriez sur un disque dur. Vous pouvez utiliser n’importe quelle applet de commande intégrée prise en charge par le fournisseur pour gérer les données dans le lecteur du fournisseur. Vous pouvez également utiliser des applets de commande personnalisées conçues spécialement pour les données.

Les fournisseurs peuvent également ajouter des paramètres dynamiques aux applets de commande intégrées. Ces paramètres sont disponibles uniquement lorsque vous utilisez l’applet de commande avec les données du fournisseur.

Fournisseurs intégrés

PowerShell inclut un ensemble de fournisseurs intégrés que vous pouvez utiliser pour accéder aux différents types de magasins de données.

Fournisseur Lecteur(s) OutputType
Alias Alias: System.Management.Automation.AliasInfo
Certificat Cert: Microsoft.PowerShell.Commands.X509StoreLocation
System.Security.Cryptography.X509Certificates.X509Certificate2
Environnement Env: System.Collections.DictionaryEntry
FileSystem C: (*) System.IO.FileInfo
System.IO.DirectoryInfo
Fonction Fonction : System.Management.Automation.FunctionInfo
Registre HKLM : HKCU : Microsoft.Win32.RegistryKey
Variable Variable : System.Management.Automation.PSVariable
WSMan WSMan : Microsoft.WSMan.Management.WSManConfigContainerElement

(*) Les lecteurs FileSystem varient sur chaque système.

Vous pouvez également créer vos propres fournisseurs PowerShell et installer des fournisseurs que d’autres personnes développent. Pour répertorier les fournisseurs disponibles dans votre session, tapez :

Get-PSProvider

Notes

Les fournisseurs Certificate, Registry et WSMan sont uniquement disponibles sur la plateforme Windows.

Installation et suppression de fournisseurs

Les fournisseurs sont généralement installés via des modules PowerShell. L’importation du module charge le fournisseur dans votre session. Vous ne pouvez pas désinstaller les fournisseurs intégrés. Vous pouvez désinstaller des fournisseurs chargés par d’autres modules.

Vous pouvez décharger un fournisseur de la session active à l’aide de l’applet de Remove-Module commande. Cette applet de commande ne désinstalle pas le fournisseur, mais rend le fournisseur indisponible dans la session.

Vous pouvez également utiliser l’applet de Remove-PSDrive commande pour supprimer n’importe quel lecteur de la session active. Ces données sur le lecteur ne sont pas affectées, mais le lecteur n’est plus disponible dans cette session.

Affichage des fournisseurs

Pour afficher les fournisseurs PowerShell sur votre ordinateur, tapez :

Get-PSProvider

La sortie répertorie les fournisseurs intégrés et les fournisseurs que vous avez ajoutés à la session.

Applets de commande du fournisseur

Les applets de commande suivantes sont conçues pour fonctionner avec les données exposées par n’importe quel fournisseur. Vous pouvez utiliser les mêmes applets de commande de la même manière pour gérer les différents types de données exposés par les fournisseurs. Une fois que vous avez appris à gérer les données d’un fournisseur, vous pouvez utiliser les mêmes procédures avec les données de n’importe quel fournisseur.

Par exemple, l’applet de New-Item commande crée un nouvel élément. Dans le C: lecteur pris en charge par le fournisseur FileSystem , vous pouvez utiliser New-Item pour créer un fichier ou un dossier. Dans les lecteurs pris en charge par le fournisseur de Registre , vous pouvez utiliser New-Item pour créer une clé de Registre. Dans le Alias: lecteur, vous pouvez utiliser New-Item pour créer un alias.

Pour plus d’informations sur l’une des applets de commande suivantes, tapez :

Get-Help <cmdlet-name> -Detailed

Applets de commande ChildItem

Applets de commande de contenu

Applets de commande d’élément

Applets de commande ItemProperty

Applets de commande d’emplacement

Applets de commande de chemin d’accès

Applets de commande PSDrive

Applets de commande PSProvider

Affichage des données du fournisseur

Le principal avantage d’un fournisseur est qu’il expose ses données de manière familière et cohérente. Le modèle de présentation des données est un lecteur de système de fichiers.

Le fournisseur vous permet d’afficher, de naviguer et de modifier des éléments dans le magasin de données comme s’il s’agissait de données dans un système de fichiers. Le magasin de données est accessible par le nom du lecteur qu’il prend en charge.

Le lecteur est répertorié dans l’affichage par défaut de l’applet Get-PSProvider de commande, mais vous pouvez obtenir des informations sur le lecteur du fournisseur à l’aide de l’applet de Get-PSDrive commande. Par exemple, pour obtenir toutes les propriétés du lecteur Function : , tapez :

Get-PSDrive Function | Format-List *

Vous pouvez afficher et parcourir les données dans un lecteur de fournisseur comme vous le feriez sur un lecteur de système de fichiers.

Pour afficher le contenu d’un lecteur de fournisseur, utilisez les applets de commande Get-Item ou Get-ChildItem. Tapez le nom du lecteur suivi d’un signe deux-points (:). Par exemple, pour afficher le contenu du lecteur Alias : , tapez :

Get-Item alias:

Vous pouvez afficher et gérer les données dans n’importe quel lecteur à partir d’un autre lecteur en incluant le nom du lecteur dans le chemin. Par exemple, pour afficher la clé de Registre HKLM\Software dans le lecteur HKLM : à partir d’un autre lecteur, tapez :

Get-ChildItem HKLM:\SOFTWARE\

Pour ouvrir le lecteur, utilisez l’applet de commande Set-Location. N’oubliez pas les deux-points lorsque vous spécifiez le chemin du lecteur. Par exemple, pour remplacer votre emplacement par le répertoire racine du lecteur Cert :, tapez :

Set-Location cert:

Ensuite, pour afficher le contenu du lecteur Cert :, tapez :

Get-ChildItem

Déplacement dans des données hiérarchiques

Vous pouvez parcourir un lecteur de fournisseur comme vous le feriez pour un disque dur. Si les données sont organisées dans une hiérarchie d’éléments au sein d’éléments, utilisez une barre oblique inverse (\) pour indiquer un élément enfant. Utilisez le format suivant :

drive:\location\child-location\...

Par exemple, pour remplacer votre emplacement par la clé de Registre HKLM\Software, tapez une commande Set-Location, par exemple :

Set-Location HKLM:\SOFTWARE\

Si un élément du nom complet comprend des espaces, vous devez placer le nom entre guillemets doubles ("). L’exemple suivant montre un chemin d’accès complet qui comprend des espaces.

"C:\Program Files\Internet Explorer\iexplore.exe"

Vous pouvez également utiliser des références relatives à des emplacements. Un point (.) représente l’emplacement actuel. Par exemple, si vous êtes dans la clé de HKLM:\Software\Microsoft Registre et que vous souhaitez répertorier les sous-clés du Registre dans la HKLM:\Software\Microsoft\PowerShell clé, tapez la commande suivante :

Get-ChildItem .\PowerShell

En outre, les points doubles (..) font référence au répertoire ou au conteneur directement au-dessus de votre emplacement actuel. Vous pouvez utiliser des points doubles (..) pour naviguer dans une hiérarchie de fournisseur.

PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>

Page d’accueil du fournisseur

Les fournisseurs ont également un emplacement d’accueil . Cet emplacement est partagé par tous PSDrives les fournisseurs. Il peut être récupéré en affichant la propriété Home du fournisseur.

Get-PSProvider | Format-Table Name, Home
Name        Home
----        ----
Registry
Alias
Environment
FileSystem  C:\Users\username
Function
Variable
Certificate

Le fournisseur FileSystem est le seul fournisseur qui a une valeur par défaut pour Accueil. Il s’agit de la même valeur que $Home. Pour plus d’informations, consultez about_Automatic_Variables.

Vous pouvez définir le répertoire d’accueil d’un fournisseur, pour la session active, à l’aide de sa propriété.

(Get-PSProvider FileSystem).Home = "C:\"

Le ~ caractère peut être utilisé pour représenter le répertoire de base du fournisseur. Si le fournisseur n’a pas d’emplacement d’accueil défini, une erreur s’affiche.

Cert:\> Set-Location ~
Set-Location : Home location for this provider isn't set. To set the home
location, call "(get-psprovider 'Certificate').Home = 'path'".
At line:1 char:1
+ Set-Location ~
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Set-Location],
                              PSInvalidOperationException
...

Recherche de paramètres dynamiques

Les paramètres dynamiques sont des paramètres d’applet de commande ajoutés à une applet de commande par un fournisseur. Ces paramètres sont disponibles uniquement lorsque l’applet de commande est utilisée avec le fournisseur qui les a ajoutés.

Par exemple, le Cert: lecteur ajoute le paramètre CodeSigningCert aux applets de Get-Item commande et Get-ChildItem . Vous pouvez utiliser ce paramètre uniquement lorsque vous utilisez Get-Item ou Get-ChildItem dans le Cert: lecteur.

Pour obtenir la liste des paramètres dynamiques pris en charge par un fournisseur, consultez le fichier d’aide du fournisseur. Tapez :

Get-Help <provider-name>

Par exemple :

Get-Help certificate

En savoir plus sur les fournisseurs

Bien que toutes les données du fournisseur apparaissent dans les lecteurs et que vous utilisiez les mêmes méthodes pour les parcourir, la similarité s’arrête là. Les magasins de données que le fournisseur expose peuvent être aussi variés que les emplacements Active Directory et Microsoft Exchange Server boîtes aux lettres.

Pour plus d’informations sur les fournisseurs PowerShell individuels, tapez :

Get-Help <ProviderName>

Par exemple :

Get-Help registry

Pour obtenir la liste des rubriques d’aide sur les fournisseurs, tapez :

Get-Help * -Category Provider

Voir aussi