Dela via


Installera PowerShell Az- och Azure Stack-moduler för Azure Stack Hub

Viktig

Alla versioner av Azure Resource Manager (AzureRM) PowerShell-modulen är inaktuella och har inte stöd. Modulen Az PowerShell är nu den rekommenderade PowerShell-modulen för interaktion med Azure och Azure Stack Hub. Den här artikeln beskriver hur du kommer igång med Az PowerShell-modulen. Information om hur du migrerar till Az PowerShell-modulen finns i Migrera från AzureRM till Azure PowerShell Az i Azure Stack Hub. Mer information om de ökade funktionerna i Az-modulerna, som har antagits i globala Azure, finns i Introduktion till Azure Az PowerShell-modulen.

Azure Stack Hub-version AzureStack PowerShell-version
2102 2.1.1
2108 2.2.0
2206 2.3.0
2301+ 2.4.0

Mer information om AzureStack-moduler finns i PSGallery.

Den här artikeln beskriver hur du installerar Azure PowerShell Az och kompatibla Azure Stack Hub-administratörsmoduler med hjälp av PowerShellGet-. Du kan installera Az-modulerna på Windows-, macOS- och Linux-plattformar.

Du kan också köra Az-modulerna för Azure Stack Hub i en Docker-container. Anvisningar finns i Använda Docker för att köra PowerShell för Azure Stack Hub.

Du kan använda API-profiler för att ange kompatibla slutpunkter för Azure Stack Hub-resursprovidrar.

API-profiler är ett sätt att hantera versionsskillnader mellan Azure och Azure Stack Hub. En API-versionsprofil är en uppsättning Azure Resource Manager PowerShell-moduler med specifika API-versioner. Varje molnplattform har en uppsättning API-versionsprofiler som stöds. Azure Stack Hub stöder till exempel en specifik profilversion, till exempel 2020-09-01-hybrid. När du installerar en profil installeras De Azure Resource Manager PowerShell-moduler som motsvarar den angivna profilen.

Du kan installera Azure Stack Hub-kompatibla PowerShell Az-moduler i Internetanslutna, delvis anslutna eller frånkopplade scenarier. Den här artikeln beskriver de detaljerade instruktionerna för dessa scenarier.

1. Kontrollera dina förutsättningar

Az-moduler stöds på Azure Stack Hub med uppdatering 2002 eller senare och med alla aktuella snabbkorrigeringar installerade. Mer information finns i versionsanteckningar för Azure Stack Hub.

Azure PowerShell Az-modulerna fungerar med PowerShell 5.1 eller senare i Windows eller PowerShell Core 6.x och senare på alla plattformar. Du bör installera den senaste versionen av PowerShell Core tillgänglig för operativsystemet. Azure PowerShell har inga andra krav vid körning på PowerShell Core.

Kör kommandot för att kontrollera din PowerShell-version:

$PSVersionTable.PSVersion

Krav för Windows

Så här använder du Azure PowerShell i PowerShell 5.1 i Windows:

  1. Uppdatera till Windows PowerShell 5.1- om det behövs. Om du använder Windows 10 har du redan PowerShell 5.1 installerat.

  2. Installera .NET Framework 4.7.2 eller senare.

  3. Kontrollera att du har den senaste versionen av PowerShellGet. Kör följande cmdletar från en upphöjd fråga:

    [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
    

Förutsättningar för Linux och Mac

PowerShell Core 6.x eller senare version krävs. Följ länk för instruktioner.

Avinstallera befintliga versioner av Azure Stack Hub PowerShell-modulerna

Innan du installerar den version som krävs måste du avinstallera alla tidigare installerade Azure Stack Hub Azure Resource Manager- eller Az PowerShell-moduler. Avinstallera modulerna med någon av följande två metoder:

  • Om du vill avinstallera de befintliga Azure Resource Manager- och Az PowerShell-modulerna stänger du alla aktiva PowerShell-sessioner och kör följande cmdletar:

    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
    

    Om du stöter på ett fel som "Modulen används redan" stänger du PowerShell-sessioner som använder modulerna och kör dessa cmdletar igen.

  • Om Uninstall-Module inte lyckades tar du bort alla mappar som börjar med Azure, Azeller Azs från de $env:PSModulePath platserna. För Windows PowerShell kan platserna vara C:\Program Files\WindowsPowerShell\Modules och C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules. För PowerShell Core kan platserna vara C:\Program Files\PowerShell\7\Modules och C:\Users\{yourusername}\Documents\PowerShell\Modules. Om du tar bort dessa mappar tas alla befintliga Azure PowerShell-moduler bort.

Ansluten: Installera med Internetanslutning

Azure Stack Az-modulen fungerar med PowerShell 5.1 eller senare på en Windows-dator eller PowerShell 6.x eller senare på en Linux- eller macOS-plattform. Att använda PowerShellGet-cmdletar är den föredragna installationsmetoden. Den här metoden fungerar på samma sätt på de plattformar som stöds.

  1. Kör följande kommando från en PowerShell-session för att uppdatera PowerShellGet till minst version 2.2.3:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
    
  2. Stäng PowerShell-sessionen och öppna sedan en ny PowerShell-session så att uppdateringen kan träda i kraft.

  3. Kör följande kommandon för att installera Az-moduler:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    Install-Module -Name Az.BootStrapper -Force
    Install-AzProfile -Profile 2020-09-01-hybrid -Force
    
  4. Installera AzureStack PowerShell-modulerna:

    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
    

Frånkopplad: Installera utan internetanslutning

I ett frånkopplat scenario laddar du först ned PowerShell-modulerna till en dator som har internetanslutning. Sedan överför du dem till Azure Stack Development Kit (ASDK) för installation.

Logga in på en dator med internetanslutning och använd följande skript för att ladda ned Azure Resource Manager- och Azure Stack Hub-paketen, beroende på din version av Azure Stack Hub.

Installationen består av fem steg:

  1. Installera Azure Stack Hub PowerShell på en ansluten dator.
  2. Aktivera ytterligare lagringsfunktioner.
  3. Transportera PowerShell-paketen till den frånkopplade arbetsstationen.
  4. Starta NuGet-providern manuellt på den frånkopplade arbetsstationen.
  5. Bekräfta installationen av PowerShell.

Installera Azure Stack Hub PowerShell

  1. Följande kod installerar Az-moduler från den tillförlitliga onlinelagringsplatsen:

    [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
    
  2. När Az-modulerna har installerats fortsätter du med att installera AzureStack-modulerna:

    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
    

Not

På datorer utan internetanslutning rekommenderar vi att du kör cmdleten Disable-AzDataCollection för att inaktivera insamlingen av telemetridata. Annars kan du uppleva en prestandaförsämring av cmdletarna. Detta gäller endast för datorer utan internetanslutning.

Lägga till dina paket på din arbetsstation

  1. Kopiera de nedladdade paketen till en USB-enhet.

  2. Logga in på den frånkopplade arbetsstationen och kopiera paketen från USB-enheten till en plats på arbetsstationen.

  3. Starta NuGet-providern manuellt på den frånkopplade arbetsstationen. Anvisningar finns i Starta NuGet-providern manuellt på en dator som inte är ansluten till Internet.

  4. Registrera den här platsen som standardlagringsplats och installera modulerna AzureRM och AzureStack från den här lagringsplatsen:

     # 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
    
  5. Installera Az-modulerna.

     Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
    
  6. Installera AzureStack-moduler

    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
    

Bekräfta installationen av PowerShell

Bekräfta installationen genom att köra följande kommando:

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

Konfigurera PowerShell för att använda en proxyserver

I scenarier som kräver att en proxyserver har åtkomst till Internet konfigurerar du först PowerShell för att använda en befintlig proxyserver:

  1. Öppna en PowerShell-prompt med administratörsbehörighet.

  2. Kör följande kommandon:

    #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
    

Använda Az-modulen

Du kan fortfarande använda cmdletar och kodexempel baserat på AzureRM-moduler. Du måste dock ändra namnet på modulerna och cmdletarna. Modulnamnen ändrades så att AzureRM och Azure blir Azoch samma för cmdletar. Modulen AzureRM.Compute har till exempel bytt namn till Az.Compute. New-AzureRMVM är New-AzVMoch Get-AzureStorageBlob är nu Get-AzStorageBlob.

En mer ingående diskussion och vägledning för att flytta AzureRM-skript till Az, samt information om betydande ändringar i Azure Stack Hubs Az-modul, finns i Migrera från AzureRM till Azure PowerShell Az.

Kända problem

Fel uppstod när Az-modulerna skulle installeras

  • Tillämpligt: Det här problemet gäller för 2002 och senare
  • Orsak: När du installerar modulen utlöses ett fel. Felmeddelandet börjar: Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'. Eller så kan felmeddelandet innehålla följande text: PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
  • Reparation: Kör följande cmdlet i samma session:
    Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
    Stäng sessionen och starta en ny upphöjd PowerShell-session.
  • Förekomst: Vanligt

När du installerar Az-modulen visas felaktigt ett felmeddelande om att administratörsbehörigheter krävs.

  • Tillämpligt: Det här problemet gäller för 2002 och senare
  • Orsak: När du installerar modulen från en kommandotolk med höjda rättigheter utlöses ett fel. Felmeddelandet lyder: Administrator rights required.
  • Reparation: Stäng sessionen och starta en ny upphöjd PowerShell-session. Kontrollera att det inte finns någon befintlig Az. Kontomodulen lästes in i sessionen.
  • Förekomst: Vanligt

Cmdlet-New-AzVmss misslyckas när du använder hybridprofilen 2020-09-01

  • Tillämpligt: Det här problemet gäller för hybridprofilen 2020-09-01.
  • Orsak: Cmdleten New-AzVmss fungerar inte med hybridprofilen 2020-09-01.
  • Reparation: Använd en mall för att skapa en skala för virtuella maskiner. Du hittar ett exempel på Azure Stack Hub Resource Manager-mallarna på GitHub-lagringsplatsen AzureStack-QuickStart-Templates/101-vmss-windows-vm och du hittar instruktioner om hur du använder Azure Stack Hub Resource Managers med Visual Studio Code-.
  • Förekomst: Vanligt

Fel som uppstod när ett PowerShell-skript kördes

  • Tillämpligt: Det här problemet gäller för 2002 och senare.

  • Orsak: När du kör skript eller PowerShell-kommandon med hjälp av Azure Stack Hub-specifika moduler måste skriptet eller kommandot vara tillgängligt i modulen. Du kan se följande fel:

    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.
    

    Den aktuella modulen är PowerShell Az-modulen, som har ersatt PowerShell AzureRM-modulen. Om du försöker köra ett skript som anropar AzureRM-kommandon när Az-modulen är installerad utlöser skriptet fel. Eller om du försöker köra ett skript som anropar Az-kommandon när AzureRM-modulen är installerad utlöser skriptet fel.

  • Reparation: Avinstallera AzureRM-modulen och installera Az-modulen. Anvisningar finns i Installera PowerShell Az-modulen för Azure Stack Hub. Om du använder Azure Stack Hub Tools använder du Az-verktygen. Klona verktygslagringsplatsen från grenen az eller ladda ned AzureStack-Tools från grenen az. Anvisningar finns i Ladda ned Azure Stack Hub-verktyg från GitHub

  • Förekomst: Vanligt

Fel med New-AzADServicePrincipal och New-AzADApplication

  • Tillämpligt: Azure Stack-miljöer med Microsoft Entra-ID.

  • Orsak: Azure Active Directory Graph införde en brytande ändring för att begränsa IdentifierUri för att Active Directory-applikationer ska vara underdomäner till en verifierad domän i katalogen. Före ändringen tillämpades den här begränsningen endast för appar med flera klientorganisationer. Nu gäller den här begränsningen även för appar för enskilda klientorganisationer. Ändringen resulterar i följande fel: Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running.

  • Reparation: Du kan kringgå den här begränsningen på två sätt.

    • Du måste använda ett tjänstprincipnamn som är en underdomän för katalogklientorganisationen. Om katalogen till exempel är contoso.onmicrosoft.commåste tjänstens huvudnamn vara av typen <foo>.contoso.onmicrosoft.com. Använd följande cmdlet:

      New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
      

      Mer information om identitet och användning av tjänstens huvudnamn med Azure Stack Hub finns i Översikt över identitetsprovidrar för Azure Stack Hub.

    • Skapa Microsoft Entra-appen med en giltig IdentifierUri och skapa sedan tjänstens huvudnamn som associerar appen med hjälp av följande cmdlet:

      $app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Förekomst: Vanligt

Fel: "SharedTokenCacheCredential-autentiseringen misslyckades"

  • Tillämpligt: Det här problemet gäller för alla versioner som stöds.
  • Orsak: En SharedTokenCacheCredential-autentisering misslyckades fel utlöses när flera versioner av AzAccounts installerat med Azure Stack Hub PowerShell Module version 2.1.1.
  • Reparation: Ta bort alla versioner av AzAccounts och installera endast azaccounts version 2.2.8 som stöds.
  • Förekomst: Vanligt

Nästa steg