Installer le module PowerShell AzureRM pour Azure Stack Hub

Azure PowerShell Azure Resource Manager (AzureRM) fournit un ensemble d’applets de commande qui utilisent le modèle Azure Resource Manager pour gérer vos ressources Azure Stack Hub.

Important

Vous avez atteint une page web d’une version obsolète d’Azure Stack Hub PowerShell. Toutes les versions du module Azure Resource Manager (AzureRM) PowerShell sont obsolètes et ne sont pas prises en charge. Les modules AzureRM ne seront plus mis à jour dans les versions ultérieures d’Azure Stack Hub. Les modules Az doivent être utilisés pour les builds 2002 et ultérieures. Le profil hybride 2020-09-01 n’est pas pris en charge pour les modules AzureRM.

Le module Az PowerShell est maintenant le module PowerShell qui est recommandé pour interagir avec Azure et Azure Stack Hub. Pour commencer à utiliser le module PowerShell Az, consultez Installer le module PowerShell Az en préversion pour Azure Stack Hub. Pour découvrir comment migrer vers le module PowerShell Az, consultez Effectuer une migration depuis AzureRM vers Azure PowerShell Az dans Azure Stack Hub. Pour obtenir des informations sur les fonctionnalités améliorées des modules Az qui ont été adoptées globalement dans Azure, consultez Présentation du module Az Azure PowerShell.

Vous devez aussi utiliser des profils d’API pour spécifier les points de terminaison compatibles pour les fournisseurs de ressources Azure Stack Hub.

Les profils d’API permettent de gérer les différences de version entre Azure et Azure Stack Hub. Un profil de version d’API est un ensemble de modules PowerShell Azure Resource Manager avec des versions d’API spécifiques. Chaque plateforme cloud a un ensemble de profils de version d’API pris en charge. Par exemple, Azure Stack Hub prend en charge une version de profil spécifique telle que 2019-03-01-hybrid. Quand vous installez un profil, les modules PowerShell Azure Resource Manager qui correspondent au profil spécifié sont installés.

Vous pouvez installer des modules PowerShell compatibles avec Azure Stack Hub dans des scénarios connectés à Internet, partiellement connectés, ou déconnectés. Cet article vous guide dans les instructions détaillées de ces scénarios.

Vous pouvez également exécuter les modules Azure Resource Manager pour Azure Stack Hub dans un conteneur Docker. Pour obtenir des instructions, consultez Utiliser Docker pour exécuter PowerShell pour Azure Stack Hub.

1. Vérifier la configuration requise

Avant de commencer à utiliser Azure Stack Hub et le module PowerShell Azure Resource Manager, les conditions préalables suivantes doivent être réunies :

  • Version de PowerShell 5.1
    Pour vérifier votre version, exécutez $PSVersionTable.PSVersion et comparez la version Major. Si vous n’avez pas PowerShell 5.1, suivez les instructions d’installation de PowerShell.

    Remarque

    PowerShell 5.1 nécessite un ordinateur Windows.

  • Exécutez PowerShell dans une invite de commandes avec élévation de privilèges.

  • Accès à PowerShell Gallery
    Vous devez accéder à PowerShell Gallery. La galerie constitue le référentiel central pour le contenu PowerShell. Le module PowerShellGet contient des cmdlets pour la découverte, l’installation, la mise à jour et la publication des artefacts PowerShell. Les modules, les ressources DSC, les fonctionnalités de rôle, et les scripts de PowerShell Gallery et d’autres référentiels privés sont des exemples de ces artefacts. Si vous utilisez PowerShell dans un scénario déconnecté, vous devez récupérer des ressources d’un ordinateur disposant d’une connexion à Internet, et les stocker dans un emplacement accessible à votre ordinateur déconnecté.

Vérifiez que PSGallery est inscrit en tant que référentiel.

Remarque

Cette étape requiert un accès Internet.

Ouvrez une invite de commandes PowerShell avec élévation de privilèges et exécutez les applets de commande suivantes :

Install-module -Name PowerShellGet -Force
Import-Module -Name PackageManagement -ErrorAction Stop
Get-PSRepository -Name "PSGallery"

Si le référentiel n’est pas enregistré, ouvrez une session PowerShell avec élévation de privilèges, puis exécutez la commande suivante :

Register-PSRepository -Default
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted

3. Désinstaller les versions existantes des modules Azure Stack Hub PowerShell

Avant d’installer la version requise, vérifiez que vous avez désinstallé les modules PowerShell Azure Resource Manager Azure Stack Hub installés précédemment. Désinstallez les modules en appliquant l’une des deux méthodes suivantes :

  1. Pour désinstaller les modules PowerShell Az et Azure Resource Manager, fermez toutes les sessions PowerShell actives et exécutez les applets de commande suivantes :

    Get-Module -Name Azure* -ListAvailable | Uninstall-Module -Force -Verbose -ErrorAction Continue
    Get-Module -Name Azs.* -ListAvailable | Uninstall-Module -Force -Verbose -ErrorAction Continue
    Get-Module -Name Az.* -ListAvailable | Uninstall-Module -Force -Verbose -ErrorAction Continue
    

    Si vous rencontrez une erreur du type « Le module est déjà en cours d’utilisation », fermez les sessions PowerShell qui utilisent les modules, puis réexécutez le script ci-dessus.

  2. Supprimez tous les dossiers qui commencent par Azure, Az ou Azs. des dossiers C:\Program Files\WindowsPowerShell\Modules et C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules. La suppression de ces dossiers supprime tous les modules PowerShell existants.

4. Connecté : installer PowerShell pour Azure Stack Hub avec une connectivité Internet

Le profil de version d’API et les modules PowerShell pour Azure Stack Hub dont vous avez besoin varient selon la version d’Azure Stack Hub que vous exécutez.

Installer Azure Stack Hub PowerShell

Exécutez le script PowerShell suivant pour installer ces modules sur votre station de travail de développement :

Pour Azure Stack Hub 2002 ou version ultérieure :

Vous pouvez utiliser les modules AzureRM ou les modules en préversion Az. Pour utiliser les modules Az, Azure Stack Hub 2002 ou ultérieur est requis.

Pour utiliser les modules en préversion Az, suivez les instructions dans Installer le module PowerShell Az.

# Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet
Install-Module -Name AzureRM.BootStrapper

# Install and import the API Version Profile required by Azure Stack Hub into the current PowerShell session.
Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.8.3 

Pour Azure Stack Hub 1910 :

# Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet
Install-Module -Name AzureRM.BootStrapper

# Install and import the API Version Profile required by Azure Stack Hub into the current PowerShell session.
Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.8.0

Remarque

  • La version 1.8.0 du module Azure Stack Hub marque un changement cassant. Consultez les notes de publication pour plus d’informations.

Pour Azure Stack Hub 1908 ou version antérieure :

# Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet
Install-Module -Name AzureRM.BootStrapper

# Install and import the API Version Profile required by Azure Stack Hub into the current PowerShell session.
Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.7.2

Remarque

La version 1.7.2 du module Azure Stack Hub marque un changement cassant. Pour migrer à partir d’Azure Stack Hub 1.6.0, voir le Guide de migration.

Confirmer l’installation de PowerShell

Vérifiez l’installation en exécutant la commande suivante :

Get-Module -Name "Azure*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable

Si l’installation réussit, les modules AzureRm et AzureStack sont affichés dans la sortie.

5. Déconnecté : installer PowerShell sans connexion Internet

Dans un scénario hors connexion, téléchargez d’abord les modules PowerShell sur un ordinateur qui dispose d’une connexion Internet. Transférez-les ensuite vers le Kit de développement Azure Stack (ASDK) pour l’installation.

Connectez-vous à un ordinateur disposant d’une connexion Internet et utilisez le script suivant pour télécharger les packages Azure Resource Manager et Azure Stack Hub, selon votre version d’Azure Stack Hub.

L’installation comporte cinq étapes :

  1. Installez Azure Stack Hub PowerShell sur une machine connectée.
  2. Activez les fonctionnalités de stockage supplémentaire.
  3. Transportez les packages PowerShell vers votre station de travail déconnectée.
  4. Démarrez manuellement le fournisseur NuGet sur votre station de travail déconnecté.
  5. Confirmez l’installation de PowerShell.

Installer Azure Stack Hub PowerShell

Azure Stack Hub 2002 ou version ultérieure.

Vous pouvez utiliser les modules Azure Resource Manager ou les modules Az en préversion. Pour les modules Az, consultez les instructions dans Installer le module PowerShell Az.


Install-module -Name PowerShellGet -Force 
Import-Module -Name PackageManagement -ErrorAction Stop

$Path = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.3

Azure Stack Hub 1910.

Install-module -Name PowerShellGet -Force 
Import-Module -Name PackageManagement -ErrorAction Stop

$Path = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.0

Remarque

La version 1.8.0 du module Azure Stack Hub marque un changement cassant. Consultez les notes de publication pour plus d’informations.

Pour Azure Stack Hub 1908 ou version antérieure :

Install-module -Name PowerShellGet -Force 
Import-Module -Name PackageManagement -ErrorAction Stop

$Path = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.7.2

Remarque

La version 1.7.1 du module Azure Stack Hub marque un changement cassant. Pour migrer à partir d’Azure Stack Hub 1.6.0, voir le Guide de migration.

Remarque

Sur les ordinateurs sans connexion Internet, nous vous recommandons d’exécuter la cmdlet suivante pour désactiver la collecte des données de télémétrie. Les performances des cmdlets pourraient se dégrader si la collecte des données de télémétrie n’est pas désactivée. Cela s’applique uniquement aux ordinateurs sans connexion Internet

Disable-AzureRmDataCollection

Ajouter vos packages à votre station de travail

  1. Copiez les packages téléchargés sur un appareil USB.

  2. Connectez-vous à la station de travail déconnectée, puis copiez les packages du périphérique USB vers un emplacement sur la station de travail.

  3. Démarrez manuellement le fournisseur NuGet sur votre station de travail déconnecté. Pour plus d’instructions, consultez la section Démarrage manuel du fournisseur NuGet sur un ordinateur qui n’est pas connecté à Internet.

  4. Inscrivez cet emplacement en tant que dépôt par défaut, puis installez les modules Azure Resource Manager et AzureStack à partir de ce dépôt :

    # requires -Version 5
    # requires -RunAsAdministrator
    # requires -Module PowerShellGet
    # requires -Module PackageManagement
    
    $SourceLocation = "<Location on the development kit that contains the PowerShell packages>"
    $RepoName = "MyNuGetSource"
    
    Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
    Install-Module -Name AzureRM -Repository $RepoName
    
    Install-Module -Name AzureStack -Repository $RepoName
    

Confirmer l’installation de PowerShell

Vérifiez l’installation en exécutant la commande suivante :

Get-Module -Name "Azure*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable

6. Configurer PowerShell pour l’utilisation d’un serveur proxy

Dans les scénarios qui requièrent un serveur proxy pour accéder à Internet, commencez par configurer PowerShell pour l’utilisation d’un serveur proxy existant :

  1. Ouvrez une invite PowerShell avec élévation de privilèges.

  2. Exécutez les commandes suivantes :

    #To use Windows credentials for proxy authentication
    [System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
    
    #Alternatively, to prompt for separate credentials that can be used for #proxy authentication
    [System.Net.WebRequest]::DefaultWebProxy.Credentials = Get-Credential
    

Problème connu

Erreur de la méthode get_SerializationSettings

  • Cause : Le module PowerShell Az et les modules PowerShell Azure Resource Manager ne sont pas compatibles.

    L’erreur suivante indique que les modules Azure Resource Manager et les modules Az sont chargés dans la même session :

    >  Method 'get_SerializationSettings' in type 'Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient' from assembly 'Microsoft.Azure.Commands.ResourceManager.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does 
    not have an implementation.
    
  • Correction : Désinstallez les modules en conflit.

    Si vous souhaitez utiliser les modules Azure Resource Manager, désinstallez les modules Az. Et si vous souhaitez utiliser les modules Az, désinstallez le module Azure Resource Manager. Fermez votre session PowerShell et désinstallez soit les modules Az, soit les modules Azure Resource Manager.

    Vous trouverez des instructions à la section Désinstaller les versions existantes des modules Azure Stack Hub PowerShell.

Erreur levée avec NewAzureRMADServicePrincipal et NewAzureRMAdApplication

  • Applicable : environnements Azure Stack utilisant Microsoft Entra ID.

  • Cause : Azure Active Directory Graph a introduit un changement cassant afin de restreindre le IdentifierUri pour les applications Active Directory aux sous-domaines d’un domaine vérifié dans l’annuaire. Avant le changement, cette restriction était appliquée uniquement pour les applications mutualisées. Désormais, cette restriction s’applique également aux applications à locataire unique. Le changement produit l’erreur suivante : Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running.

  • Correction : vous pouvez contourner cette restriction de deux manières.

    • Vous pouvez utiliser un nom de principal de service correspondant à un sous-domaine du locataire d’annuaire. Par exemple, si l’annuaire est contoso.onmicrosoft.com, le nom du principal de service doit être au format <foo>.contoso.onmicrosoft.com. Utilisez l’applet de commande suivante :

      NewAzureRMADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
      

      Pour plus d’informations sur l’identité et l’utilisation des principaux de service avec Azure Stack Hub, consultez Vue d’ensemble des fournisseurs d’identité pour Azure Stack Hub.

    • Créez l’application Microsoft Entra en fournissant un valideIdentifierUri, puis créez le principal de service associant l’application à l’aide de l’applet de commande suivante :

      $app=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Occurrence : Courant

Étapes suivantes