Bien démarrer avec PowerShell Gallery

PowerShell Gallery est un référentiel de packages contenant des scripts, des modules et des ressources DSC téléchargeables et utilisables. Les cmdlets du module PowerShellGet permettent d’installer des packages à partir de PowerShell Gallery. Vous n’avez pas besoin de vous connecter pour télécharger des éléments de PowerShell Gallery.

Notes

Il est possible de télécharger un package directement depuis PowerShell Gallery, mais cette approche n’est pas recommandée. Pour plus d’informations, consultez Téléchargement manuel de package.

Pour rechercher des packages dans PowerShell Gallery, vous pouvez utiliser le contrôle Rechercher sur la page d’accueil de PowerShell Gallery, ou parcourir les pages Modules et Scripts de la page Packages. Une autre possibilité consiste à exécuter les cmdlets Find-Module, Find-DscResource et Find-Script, selon le type de package, avec -Repository PSGallery.

Vous pouvez filtrer les résultats de la galerie avec les paramètres suivants :

  • Name
  • AllVersions
  • MinimumVersion
  • RequiredVersion
  • Tag
  • Includes
  • DscResource
  • RoleCapability
  • Commande
  • Filtrer

Si vous êtes uniquement intéressé par la détection de ressources DSC spécifiques dans PowerShell Gallery, vous pouvez exécuter l’applet de commande Find-DscResource. Find-DscResource retourne des données sur les ressources DSC contenues dans la galerie. Étant donné que les ressources DSC sont toujours transmises dans le cadre d’un module, vous devez toujours exécuter Install-Module pour installer ces ressources DSC.

Maintenant que vous avez identifié un package qui vous intéresse, vous voulez probablement en savoir plus à son sujet. Pour cela, examinez la page correspondante sur PowerShell Gallery. Elle montre toutes les métadonnées chargées avec le package. Ces métadonnées, fournies par l’auteur du package, ne sont pas vérifiées par Microsoft. Le propriétaire du package est fortement associé au compte PowerShell Gallery utilisé pour publier le package ; il est plus fiable que le champ Auteur.

Si vous découvrez un package publié qui vous semble suspect, cliquez sur Signaler un abus dans la page du package.

Si vous exécutez Find-Module ou Find-Script, vous pouvez afficher ces données dans l’objet PSGetModuleInfo retourné. L’exemple suivant retourne les données dans le module PSReadLine dans Gallery.

Find-Module -Name PSReadLine -Repository PSGallery | Get-Member

Nous conseillons le processus suivant pour télécharger des packages de PowerShell Gallery :

Inspecter

Pour télécharger un package de PowerShell Gallery à des fins d’inspection, exécutez la cmdlet Save-Module ou la cmdlet Save-Script, selon le type de package. Elles permettent d’enregistrer le package localement sans l’installer et d’inspecter son contenu. N’oubliez pas de supprimer manuellement le package enregistré.

Certains de ces packages sont créés par Microsoft, d’autres par la communauté PowerShell. Microsoft vous recommande de passer en revue le contenu et le code des packages de cette galerie avant de les installer.

Si vous découvrez un package publié qui vous semble suspect, cliquez sur Signaler un abus dans la page du package.

Installer

Pour installer un package de PowerShell Gallery à des fins d’utilisation, exécutez la cmdlet Install-Module ou la cmdlet Install-Script, selon le type de package.

Install-Module installe le module dans $env:ProgramFiles\WindowsPowerShell\Modules par défaut. Cette opération nécessite un compte d’administrateur. Si vous ajoutez le paramètre -Scope CurrentUser, le module est installé dans $HOME\Documents\WindowsPowerShell\Modules.

Install-Script installe le script dans $env:ProgramFiles\WindowsPowerShell\Scripts par défaut. Cette opération nécessite un compte d’administrateur. Si vous ajoutez le paramètre -Scope CurrentUser, le script est installé dans $HOME\Documents\WindowsPowerShell\Scripts.

Par défaut, Install-Module et Install-Script installent la dernière version du package. Pour installer une version antérieure, ajoutez le paramètre -RequiredVersion.

Déployer

Pour déployer un package de PowerShell Gallery sur Azure Automation, cliquez sur Azure Automation, puis sur Déployer sur Azure Automation sur la page de détails du package. Vous êtes redirigé vers le portail de gestion Azure, où vous vous connectez en utilisant vos informations d’identification de compte Azure. Sachez que le déploiement de packages comportant des dépendances a pour effet de déployer toutes les dépendances sur Azure Automation. Pour désactiver le bouton « Déployer sur Azure Automation », ajoutez la balise AzureAutomationNotSupported aux métadonnées du package.

Pour plus d’informations sur Azure Automation, consultez la documentation Azure Automation.

Pour mettre à jour des packages installés sur PowerShell Gallery, exécutez la cmdlet Update-Module ou Update-Script. Quand elle est exécutée sans paramètre supplémentaire, Update-Module tente de mettre à jour tous les modules installés en exécutant Install-Module. Pour mettre à jour les modules de façon sélective, ajoutez le paramètre -Name.

De même, quand elle est exécutée sans paramètre supplémentaire, Update-Script tente également de mettre à jour tous les scripts installés en exécutant Install-Script. Pour mettre à jour les scripts de façon sélective, ajoutez le paramètre -Name.

Pour connaître les modules que vous avez installés à partir de PowerShell Gallery, exécutez l’applet de commande Get-InstalledModule. Cette commande liste tous les modules présents sur votre système qui ont été installés directement à partir de PowerShell Gallery.

De même, pour connaître les scripts que vous avez installés à partir de PowerShell Gallery, exécutez l’applet de commande Get-InstalledScript. Cette commande liste tous les scripts qui ont été installés sur votre système directement à partir de PowerShell Gallery.

Ces noms d’hôte doivent être ajoutés aux listes d’autorisation qui contrôlent l’accès à partir de votre réseau.

Hôtes requis pour la découverte et le téléchargement du package :

  • onegetcdn.azureedge.net - nom d'hôte CDN

Hôtes requis lors de l’utilisation du site web PowerShell Gallery :

  • devopsgallerystorage.blob.core.windows.net - nom d’hôte du compte de stockage
  • *.powershellgallery.com - site web
  • go.microsoft.com - service de redirection

Important

Depuis avril 2020, PowerShell Gallery ne prend plus en charge les versions 1.0 et 1.1 de Transport Layer Security (TLS). Si vous n'utilisez pas TLS 1.2 ou une version plus récente, vous recevez une erreur lorsque vous tentez d'accéder à PowerShell Gallery. Utilisez la commande suivante pour vous assurer que vous utilisez TLS 1.2 :

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

Pour plus d’informations, consultez l’annonce sur le blog PowerShell.