Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Toutes les versions du module PowerShell Azure Resource Manager (AzureRM) sont obsolètes et hors support. Le module Az PowerShell est désormais le module PowerShell recommandé pour interagir avec Azure et Azure Stack Hub. Cet article explique comment bien démarrer avec le module Az PowerShell. Pour plus d’informations sur la migration vers le module Az PowerShell, consultez Migrer d’AzureRM vers Azure PowerShell Az dans Azure Stack Hub. Pour plus d’informations sur les fonctionnalités accrues des modules Az, qui ont été adoptés dans Azure global, consultez Présentation du module Azure Az PowerShell.
Version d’Azure Stack Hub | Version d’AzureStack PowerShell |
---|---|
2102 | 2.1.1 |
2108 | 2.2.0 |
2206 | 2.3.0 |
2301+ | 2.4.0 |
Pour plus d’informations sur les modules AzureStack, consultez PSGallery.
Cet article explique comment installer les modules d’administrateur Azure PowerShell Az et compatibles avec Azure Stack Hub à l’aide de PowerShellGet. Vous pouvez installer les modules Az sur les plateformes Windows, macOS et Linux.
Vous pouvez également exécuter les modules Az pour Azure Stack Hub dans un conteneur Docker. Pour obtenir des instructions, consultez Utiliser Docker pour exécuter PowerShell pour Azure Stack Hub.
Vous pouvez 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 2020-09-01-hybrid. Lorsque vous installez un profil, les modules PowerShell Azure Resource Manager correspondant au profil spécifié sont installés.
Vous pouvez installer des modules PowerShell Az compatibles Avec Azure Stack Hub dans des scénarios connectés à Internet, partiellement connectés ou déconnectés. Cet article vous guide tout au long des instructions détaillées pour ces scénarios.
Vérifier vos prérequis
Les modules Az sont pris en charge sur Azure Stack Hub avec la mise à jour 2002 ou ultérieure et tous les correctifs logiciels actuels installés. Pour plus d’informations, consultez les notes de publication d’Azure Stack Hub .
Les modules Azure PowerShell Az fonctionnent avec PowerShell 5.1 ou version ultérieure sur Windows, ou PowerShell Core 6.x et versions ultérieures sur toutes les plateformes. Vous devez installer la dernière version de PowerShell Core disponible pour votre système d’exploitation. Azure PowerShell n’a aucune autre configuration requise lors de l’exécution sur PowerShell Core.
Pour vérifier votre version de PowerShell, exécutez la commande suivante :
$PSVersionTable.PSVersion
Conditions préalables pour Windows
Pour utiliser Azure PowerShell dans PowerShell 5.1 sur Windows :
Mettez à jour vers Windows PowerShell 5.1 si nécessaire. Si vous êtes sur Windows 10, powerShell 5.1 est déjà installé.
Installez .NET Framework 4.7.2 ou version ultérieure.
Vérifiez que vous disposez de la dernière version de PowerShellGet. Exécutez les applets de commande suivantes à partir d'une invite de commandes élevée :
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 powershell -noprofile $PSVersionTable Uninstall-Module PowershellGet -AllVersions -Force -Confirm:$false Get-module PowershellGet Find-module PowershellGet Install-Module PowershellGet -MinimumVersion 2.2.3 -Force
Conditions préalables pour Linux et Mac
PowerShell Core 6.x ou version ultérieure est nécessaire. Suivez le lien pour obtenir des instructions.
Désinstaller les versions existantes des modules PowerShell Azure Stack Hub
Avant d’installer la version requise, veillez à désinstaller les modules Azure Stack Hub Azure Resource Manager ou Az PowerShell précédemment installés. Désinstallez les modules à l’aide de l’une des deux méthodes suivantes :
Pour désinstaller les modules Azure Resource Manager et Az PowerShell existants, 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 telle que « Le module est déjà utilisé », fermez les sessions PowerShell qui utilisent les modules et réexécutez ces applets de commande.
Si
Uninstall-Module
ce n’est pas le cas, supprimez tous les dossiers qui commencent par Azure, Az ou Azs des$env:PSModulePath
emplacements. Pour Windows PowerShell, les emplacements peuvent êtreC:\Program Files\WindowsPowerShell\Modules
etC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
. Pour PowerShell Core, les emplacements peuvent êtreC:\Program Files\PowerShell\7\Modules
etC:\Users\{yourusername}\Documents\PowerShell\Modules
. La suppression de ces dossiers supprime tous les modules Azure PowerShell existants.
Connecté : installer avec une connectivité Internet
Le module Azure Stack Az fonctionne avec PowerShell 5.1 ou version ultérieure sur une machine Windows, ou PowerShell 6.x ou version ultérieure sur une plateforme Linux ou macOS. L’utilisation des applets de commande PowerShellGet est la méthode d’installation par défaut. Cette méthode fonctionne de la même façon sur les plateformes prises en charge.
Exécutez la commande suivante à partir d’une session PowerShell pour mettre à jour PowerShellGet vers une version minimale de la version 2.2.3 :
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
Fermez votre session PowerShell, puis ouvrez une nouvelle session PowerShell afin que la mise à jour puisse prendre effet.
Exécutez les commandes suivantes pour installer les modules Az :
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module -Name Az.BootStrapper -Force Install-AzProfile -Profile 2020-09-01-hybrid -Force
Installez les modules AzureStack PowerShell :
Install-Module -Name AzureStack -RequiredVersion 2.4.0
Install-Module -Name AzureStack -RequiredVersion 2.3.0
Install-Module -Name AzureStack -RequiredVersion 2.2.0
Install-Module -Name AzureStack -RequiredVersion 2.1.1
Déconnecté : Installer sans connexion Internet
Dans un scénario déconnecté, vous téléchargez d’abord les modules PowerShell sur un ordinateur disposant d’une connectivité Internet. Ensuite, vous les transférez vers le Kit de développement Azure Stack (ASDK) pour l’installation.
Connectez-vous à un ordinateur disposant d’une connectivité Internet et utilisez les scripts suivants pour télécharger les packages Azure Resource Manager et Azure Stack Hub, en fonction de votre version d’Azure Stack Hub.
L’installation comporte cinq étapes :
- Installez Azure Stack Hub PowerShell sur une machine connectée.
- Activer des fonctionnalités de stockage supplémentaires.
- Transportez les packages PowerShell vers votre station de travail déconnectée.
- Démarrez manuellement le fournisseur NuGet sur votre station de travail déconnectée.
- Confirmez l’installation de PowerShell.
Installer Azure Stack Hub PowerShell
Le code suivant installe les modules Az à partir du dépôt en ligne digne de confiance :
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-module -Name PowerShellGet -MinimumVersion 2.2.3 -Force Import-Module -Name PackageManagement -ErrorAction Stop $savedModulesPath = "<Path that is used to save the packages>" Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name Az -Path $savedModulesPath -Force -RequiredVersion 2.0.1
Une fois les modules Az installés, procédez à l’installation des modules AzureStack :
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.4.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.3.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.2.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.1.1
Remarque
Sur les ordinateurs sans connexion Internet, nous vous recommandons d’exécuter l’applet de commande Disable-AzDataCollection
pour désactiver la collecte de données de télémétrie. Sinon, vous pouvez rencontrer une dégradation des performances des applets de commande. Cela s’applique uniquement aux machines sans connexion Internet.
Ajouter vos packages à votre station de travail
Copiez les packages téléchargés sur un périphérique USB.
Connectez-vous à la station de travail déconnectée et copiez les packages du périphérique USB vers un emplacement sur la station de travail.
Démarrez manuellement le fournisseur NuGet sur votre station de travail déconnectée. Pour obtenir des instructions, consultez Démarrer manuellement le fournisseur NuGet sur un ordinateur qui n’est pas connecté à Internet.
Définissez cet emplacement comme référentiel par défaut et installez les modules
AzureRM
etAzureStack
à partir de ce référentiel :# requires -Version 5 # requires -RunAsAdministrator # requires -Module PowerShellGet # requires -Module PackageManagement $SourceLocation = "<Location on the development kit that contains the PowerShell packages>" $RepoName = "MyNuGetSource" [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
Installez les modules Az.
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
Installer les modules AzureStackL
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.4.0 -Scope AllUsers
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.3.0 -Scope AllUsers
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.2.0 -Scope AllUsers
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.1.1 -Scope AllUsers
Confirmer l’installation de PowerShell
Confirmez l’installation en exécutant la commande suivante :
Get-Module -Name "Az*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable
Configurer PowerShell pour utiliser un serveur proxy
Dans les scénarios nécessitant un serveur proxy pour accéder à Internet, vous devez d’abord configurer PowerShell pour utiliser un serveur proxy existant :
Ouvrez une invite PowerShell avec élévation de privilèges.
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
Utiliser le module Az
Vous pouvez toujours utiliser les applets de commande et les exemples de code basés sur les modules AzureRM. Toutefois, vous devez modifier le nom des modules et des applets de commande. Les noms des modules ont été modifiés de telle sorte qu’Azure AzureRM
devienne Az
et le même pour les applets de commande. Par exemple, le AzureRM.Compute
module a été renommé en Az.Compute
.
New-AzureRMVM
est New-AzVM
, et Get-AzureStorageBlob
est maintenant Get-AzStorageBlob
.
Pour une discussion et des conseils plus approfondis sur le déplacement de scripts AzureRM vers Az et des informations sur les modifications majeures dans le module Az d'Azure Stack Hub, consultez Migrer d'AzureRM vers Azure PowerShell Az.
Problèmes connus
Erreur générée au moment de l’installation des modules Az
- Applicable : ce problème s’applique à 2002 et versions ultérieures
- Cause : lors de l’installation du module, une erreur est levée. Le message d’erreur commence :
Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'.
ou le message d’erreur peut inclure le texte suivant :PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
- Correction : exécutez l’applet de commande suivante dans la même session :
Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
Fermez votre session, puis démarrez une nouvelle session PowerShell avec élévation de privilèges. - Occurrence : Courant
Au moment de l’installation du module Az, une erreur relative aux droits d’administrateur est générée à tort
- Applicable : ce problème s’applique à 2002 et versions ultérieures
- Cause : lors de l’installation du module à partir d’une invite avec élévation de privilèges, une erreur est levée. L’erreur indique
Administrator rights required
. - Correction : fermez votre session et démarrez une nouvelle session PowerShell avec élévation de privilèges. Vérifiez qu’il n’existe aucun module Az.Accounts chargé dans la session.
- Occurrence : Courant
L'applet de commande New-AzVmss échoue avec le profil hybride 2020-09-01
- Applicable : ce problème s’applique au profil hybride 2020-09-01-hybrid.
- Cause : l’applet de commande New-AzVmss ne fonctionne pas avec le profil hybride 2020-09-01.
- Remédiation : utilisez un modèle pour créer un groupe de machines virtuelles. Vous trouverez un exemple de modèles Azure Stack Hub Resource Manager dans le référentiel GitHub AzureStack-QuickStart-Templates/101-vmss-windows-vm et vous trouverez des instructions sur l’utilisation des gestionnaires de ressources Azure Stack Hub avec Visual Studio Code.
- Occurrence : Courant
Erreur générée lors de l’exécution d’un script PowerShell
Applicable : ce problème s’applique à 2002 et versions ultérieures.
Cause : lors de l’exécution de scripts ou de commandes PowerShell à l’aide des modules spécifiques à Azure Stack Hub, vous aurez besoin que votre script ou commande soit disponible dans le module. L’erreur suivante peut s’afficher :
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.
Le module actuel est le module PowerShell Az, qui a remplacé le module AzureRM PowerShell. Si vous tentez d’exécuter un script qui appelle des commandes AzureRM lorsque le module Az est installé, votre script génère des erreurs. Ou si vous tentez d’exécuter un script qui appelle des commandes Az lorsque le module AzureRM est installé, votre script génère des erreurs.
Correction : désinstallez le module AzureRM et installez le module Az. Pour obtenir des instructions, consultez Le module Installer PowerShell Az pour Azure Stack Hub. Si vous utilisez Azure Stack Hub Tools, utilisez les outils Az. Clonez le référentiel d’outils à partir de la branche az ou téléchargez le AzureStack-Tools à partir de la branche az . Pour obtenir des instructions, consultez Télécharger les outils Azure Stack Hub à partir de GitHub
Occurrence : Courant
Erreur levée avec New-AzADServicePrincipal et New-AzADApplication
Applicable : environnements Azure Stack utilisant l’ID Microsoft Entra.
Cause : Azure Active Directory Graph a introduit un changement significatif pour restreindre les applications Active Directory aux sous-domaines du domaine vérifié dans l’annuaire. Avant la modification, cette restriction n'a été appliquée que pour les applications multi-locataires. Maintenant, cette restriction s’applique également aux applications monolocataires. La modification entraîne 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 devez utiliser un nom principal du service qui est un sous-domaine du locataire de l'annuaire. Par exemple, si le répertoire est
contoso.onmicrosoft.com
, le nom du principal de service doit être de la forme .<foo>.contoso.onmicrosoft.com
Utilisez l’applet de commande suivante :New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
Pour plus d’informations sur l’identité et l’utilisation de 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 une valeur valide
IdentifierUri
, puis créez le principal de service associant l’application à l’aide de l’applet de commande suivante :$app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Occurrence : Courant
Erreur : « Échec de l’authentification SharedTokenCacheCredential »
- Applicable : ce problème s’applique à toutes les versions prises en charge.
- Cause : une erreur d’authentification SharedTokenCacheCredential a échoué lors de l’installation de plusieurs versions d’AzAccounts avec le module PowerShell Azure Stack Hub version 2.1.1.
- Correction : Supprimez toutes les versions d’AzAccounts et installez uniquement la version 2.2.8 d’AzAccounts prise en charge.
- Occurrence : Courant