Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 1 livre papier acheté 
= la version en ligne automatiquement offerte. Cliquez ici

Les fournisseurs

Introduction

Windows PowerShell, en tant qu’environnement en ligne de commande et langage de script, est un moyen puissant permettant d’accéder à un certain nombre d’informations d’une importance plus ou moins élevée. Ces informations sont accessibles de diverses façons, car tout simplement, elles reposent sur des modèles de développement multiples. Qu’il s’agisse de WMI (Windows Management Instrumentation), COM (Component Object Model) ou même de technologies utilisant le langage SQL (Structured Query Language), l’accès direct aux informations peut se révéler ardu pour un administrateur dont la programmation de ces technologies n’est pas le métier.

Pour cette raison, comme PowerShell a été pensé d’abord pour les administrateurs et les ingénieurs système et réseau, accéder à ces informations y est plus aisé. Sur un plan technique, le mécanisme central dont il est question ici est celui des fournisseurs, dont l’existence dans l’environnement de Windows PowerShell facilite l’accès à des informations essentielles issues de sources nombreuses.

Nous définirons dans ce chapitre ce que recouvre la notion de fournisseurs dont la compréhension est indispensable pour ensuite mieux cerner ce qui permet leur utilisation, à...

Qu’est-ce qu’un fournisseur Windows PowerShell ?

Un fournisseur Windows PowerShell est un programme .NET facilitant l’accès à un magasin de données, et ce d’une manière cohérente et ordonnée. Les données exposées par un fournisseur Windows PowerShell sont disposées grâce à un lecteur, et l’utilisateur peut les parcourir comme s’il parcourait, par exemple, les données issues d’un système de fichiers.

L’objectif de la conjugaison de ces principes est de faciliter la lecture et l’écriture de données, mais en proposant des modes d’accès homogènes (utilisation de commandes et d’éléments de langage). Donc, face à des magasins de données différents, l’approche fournie par Windows PowerShell est quant à elle unifiée. Voici une liste de fournisseurs natifs de l’environnement Windows PowerShell :

Fournisseur

Description

Alias

Permet d’accéder aux alias.

Certificate

Il s’agit des certificats X509 pour les signatures.

Environment

Permet d’accéder aux variables d’environnement.

FileSystem

Permet d’accéder aux répertoires et aux fichiers du système d’exploitation.

Function

Permet d’accéder aux fonctions Windows PowerShell.

Registry

Permet d’accéder à la base de registre.

Variable

Permet d’accéder aux variables Windows PowerShell.

WSMan

Permet d’accéder aux informations de configuration WS-Management.

Tableau 4-1. Fournisseurs existant dans Windows PowerShell

Pour visualiser l’ensemble des fournisseurs existant dans une session Windows PowerShell, il faut utiliser la cmdlet Get-PSProvider, sans paramètres :

PS> Get-PSProvider 
 
Name        Capabilities                       Drives 
----        ------------                       ------ 
Alias       ShouldProcess                      {Alias} 
Environment ShouldProcess                      {Env} ...

Les PSDrives

Le mot PSDrive est un terme technique désignant le lecteur, tel que mentionné précédemment. Les PSDrives ont un comportement similaire aux lecteurs de systèmes de fichiers que l’on peut rencontrer traditionnellement dans d’autres environnements (Windows Command Prompt, Korn Shell, etc.). Un PSDrive est rattaché à un fournisseur, et celui-ci n’est accessible que par le biais d’un PSDrive.

L’existence des PSDrives remonte au commencement de Windows PowerShell ; plus que cela, le principe de fonctionnement des PSDrives fut un des premiers principes essentiels participant à l’écosystème de Windows PowerShell : tout magasin de données doit pouvoir être accessible de manière extrêmement cohérente et homogène.

Dans la section précédente, la sortie produite par la cmdlet Get-PSProvider a mis en évidence une colonne nommée Drives. La colonne Drives, comme l’indique son nom, liste les lecteurs disponibles dans la session active. Il s’agit là d’informations sur la relation fournisseur-lecteur, mais un niveau supplémentaire en la matière peut être franchi grâce à la cmdlet Get-PSDrive :

PS> Get-PSDrive  
 
Name     Used (GB) Free (GB) Provider    Root 
----     --------- --------- --------    ---- 
Alias                        Alias 
C           244,52    660,39 FileSystem  C:\ 
Cert                         Certificate \ 
D                            FileSystem  D:\ 
Env                          Environment 
F           722,20    209,28 FileSystem  F:\ 
Function                     Function 
G             2,60           FileSystem  G:\ 
HKCU                         Registry    HKEY_CURRENT_USER 
HKLM...