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
- Clear-ItemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Rename-ItemProperty
- Set-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