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 à 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 d’un chemin d’accès comme vous le feriez sur un disque dur. Vous pouvez utiliser l’une des applets de commande intégrées que le fournisseur prend en charge 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 qui fournissent l’accès à différents types d’objets.

  • Fournisseur d’alias
    • Disque- Alias:
    • Types d’objets - System.Management.Automation.AliasInfo
  • Fournisseur de certificats
    • Disque- Cert:
    • Types d’objets - Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
  • Fournisseur d’environnement
    • Disque- Env:
    • Types d’objets - System.Collections.DictionaryEntry
  • Fournisseur FileSystem
    • Lecteur - C: et d’autres en fonction du matériel
    • Types d’objets - System.IO.FileInfo, System.IO.DirectoryInfo
  • Fournisseur de fonctions
    • Disque- Function:
    • Types d’objets - System.Management.Automation.FunctionInfo
  • Fournisseur de Registre
    • Lecteur - HKLM:, HKCU:
    • Types d’objets - Microsoft.Win32.RegistryKey
  • Fournisseur de variables
    • Disque- Variable:
    • Types d’objets - System.Management.Automation.PSVariable
  • Fournisseur WSMan
    • Disque- WSMan:
    • Types d’objets - Microsoft.WSMan.Management.WSManConfigContainerElement

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

Get-PSProvider

Remarque

Les fournisseurs Certificate, Registry et WSMan ne sont disponibles que 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 à partir de la session active à l’aide de l’applet Remove-Module de commande. Cette applet de commande ne désinstalle pas le fournisseur, mais elle rend le fournisseur indisponible dans la session.

Vous pouvez également utiliser l’applet Remove-PSDrive de 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 façon pour gérer les différents types de données que les fournisseurs exposent. Après avoir 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 New-Item de commande crée un é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 path

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’ils étaient des 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 Get-PSDrive de commande. Par exemple, pour obtenir toutes les propriétés de la fonction : lecteur, tapez :

Get-PSDrive Function | Format-List *

Vous pouvez afficher et parcourir les données d’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 ou Get-ChildItem les Get-Item applets de commande. Tapez le nom du lecteur suivi d’un signe deux-points (:). Par exemple, pour afficher le contenu du Alias: lecteur, tapez :

Get-Item alias:

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

Get-ChildItem HKLM:\SOFTWARE\

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

Set-Location cert:

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

Get-ChildItem

Déplacement de 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 dans des é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 HKLM\Software Registre, tapez une Set-Location commande, par exemple :

Set-Location HKLM:\SOFTWARE\

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

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

Vous pouvez également utiliser des références relatives aux 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 lister les sous-clés de 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 parcourir une hiérarchie de fournisseurs.

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

Accueil du fournisseur

Les fournisseurs disposent également d’un emplacement de résidence . Cet emplacement est partagé par tous PSDrives soutenus par le fournisseur. Il peut être récupéré en consultant 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 Home. C’est 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 commande et Get-ChildItem aux Get-Item applets de commande. Vous ne pouvez utiliser ce paramètre que 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

Apprentissage sur les fournisseurs

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

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