Installera PowerShell Az-modulen för Azure Stack Hub

Den här artikeln beskriver hur du installerar Azure PowerShell Az och kompatibla Azure Stack Hub administratörsmoduler med Hjälp av PowerShellGet. Az-modulerna kan installeras 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.

Om du vill installera PowerShell-resursmoduler (AzureRM) för Azure Stack Hub, se Installera PowerShell AzureRM-modul för Azure Stack Hub.

Viktigt

Det kommer troligen inte att finnas nya versioner av Modulen Azure Resource Modules. Modulerna för Azure-resursmoduler har endast stöd för kritiska korrigeringar. Framöver kommer det bara att finnas Az-versioner för Azure Stack Hub.

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

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. Till exempel stöder Azure Stack Hub profilversion, till exempel 2020-09-01-hybrid. När du installerar en profil installeras Azure Resource Manager PowerShell-moduler som motsvarar den angivna profilen.

Du kan installera Azure Stack Hub PowerShell Az-moduler i internetanslutna, delvis anslutna eller frånkopplade scenarier. Den här artikeln går igenom de detaljerade anvisningarna för dessa scenarier.

1. Kontrollera kraven

Az-moduler stöds på Azure Stack Hub med Update 2002 eller senare och med de aktuella snabbkorrigeringarna installerade. Mer information Azure Stack Hub finns i Azure Stack Hub viktig information.

Modulen Azure PowerShell Az fungerar med PowerShell 5.1 eller senare på Windows eller PowerShell Core 6.x och senare på alla plattformar. Du bör installera den senaste versionen PowerShell Core tillgänglig för ditt operativsystem. Azure PowerShell har inga andra krav när den körs på PowerShell Core.

Du kan kontrollera vilken PowerShell-version du har genom att köra kommandot:

$PSVersionTable.PSVersion

Krav för Windows

Använda Azure PowerShell i PowerShell 5.1 på Windows:

  1. Uppdatera vid behov till Windows PowerShell 5.1. Om du använder Windows 10 kan PowerShell 5.1 redan vara installerat.
  2. Installera .NET Framework 4.7.2 eller senare.
  3. Kontrollera att du har den senaste versionen av PowerShellGet. Kör följande cmdlets:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force

2. Förutsättningar för Linux och Mac

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

3. Avinstallera befintliga versioner av Azure Stack Hub PowerShell-moduler

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:

  1. Om du vill avinstallera Azure Resource Manager och Az PowerShell-moduler stänger du alla aktiva PowerShell-sessioner och kör följande cmdlets:

    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 får ett fel som "Modulen används redan" stänger du de PowerShell-sessioner som använder modulerna och kör skriptet ovan igen.

  2. Ta bort alla mappar som börjar med Azure , Az eller från Azs.C:\Program Files\WindowsPowerShell\ModulesC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules mapparna och . Om du tar bort de här mapparna tas alla befintliga PowerShell-moduler bort.

4. Ansluten: Installera med Internetanslutning

Modulen Azure Stack Az fungerar med PowerShell 5.1 eller högre på en Windows-dator eller PowerShell 6.x eller högre på en Linux- eller macOS-plattform. Att använda PowerShellGet-cmdletar är den installationsmetod som föredras. 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 gälla.

  1. Kör följande kommando från en PowerShell-session:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    Install-Module -Name Az.BootStrapper -Force
    Install-AzProfile -Profile 2020-09-01-hybrid -Force
    Install-Module -Name AzureStack -RequiredVersion 2.1.1 
    
  1. Kör följande kommando från en PowerShell-session:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    Install-Module -Name Az.BootStrapper -Force
    Install-AzProfile -Profile 2019-03-01-hybrid -Force
    Install-Module -Name AzureStack -RequiredVersion 2.0.2-preview -AllowPrerelease
    

Anteckning

Azure Stack Hub modulversion 2.0.2 är en stor ändring. Mer information finns i Migrera från AzureRM Azure PowerShell Az i Azure Stack Hub information.

Varning

Du kan inte ha både Azure Resource Manager (AzureRM) och Az-moduler installerade för PowerShell 5.1 för Windows samtidigt. Om du vill behålla Azure Resource Manager tillgängligt på datorn installerar du Az-modulen för PowerShell Core 6.x eller senare. För att göra det installerar du PowerShell Core 6.x eller senare och följer instruktionerna i PowerShell Core-terminalen.

5. 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 har fem steg:

  1. Installera Azure Stack Hub PowerShell på en ansluten dator.
  2. Aktivera ytterligare lagringsfunktioner.
  3. Transport av 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

Azure Stack Hub 2102 eller senare.

Du kan antingen använda Azure Resource Manager eller Az-moduler. Mer Azure Resource Manager finns i anvisningarna i Installera PowerShell AzureRM-modulen. Följande kod sparar moduler från den tillförlitliga onlinedatabasen https://www.powershellgallery.com/ .

[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 1.10.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.1.1

Azure Stack Hub 2008 eller tidigare.

Du kan antingen använda Azure Resource Manager eller Az-moduler. Mer Azure Resource Manager finns i anvisningarna i Installera PowerShell AzureRM-modulen. Följande kod sparar moduler från den tillförlitliga onlinedatabasen https://www.powershellgallery.com/ .

[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 0.10.0-preview
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.0.2-preview

Anteckning

På datorer utan Internetanslutning rekommenderar vi att du kör följande cmdlet för att inaktivera insamling av telemetridata. Du kan uppleva en prestandaförsämring av cmdletarna utan att telemetridatainsamlingen inaktiveras. Detta gäller endast för datorer utan Internetanslutningar

Disable-AzDataCollection

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 standarddatabas och installera modulerna AzureRM och från den här AzureStack 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

 Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.1.1 -Scope AllUsers

 Install-Module -Name Az -Repository $RepoName -RequiredVersion 1.10.0 -Scope AllUsers
# 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

Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.0.2-preview -AllowPrerelease -Scope AllUsers

Install-Module -Name Az -Repository $RepoName -RequiredVersion 0.10.0-preview -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

6. Konfigurera PowerShell att använda en proxyserver

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

  1. Öppna en PowerShell-prompt med utökad behö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
    

7. Använda Az-modulen

Du kan använda cmdlets och kodexempel baserat på Azure Resource Manager. Du bör dock ändra namnet på modulerna och cmdletarna. Modulnamnen har ändrats så att AzureRM och Azure blir , och samma för Az cmdlets. AzureRM.Compute-modulens namn har till exempel ändrats till Az.Compute. New-AzureRMVM har blivit New-AzVM, och Get-AzureStorageBlob är nu Get-AzStorageBlob.

En mer ingående diskussion och vägledning för att flytta AzurRM-skript till Az och större ändringar i az-modulen för Azure Stack Hub finns i Migrera från AzureRM till Azure PowerShell Az.

Kända problem

Fel som uppstår när Az-modulerna installeras

  • Tillämplig: Det här problemet gäller 2002 och senare
  • Orsak: När du installerar modulen uppstår 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: Vanlig

Vid installation av Az-modulen löss ett felmeddelande om att administratörsrättigheter krävs

  • Tillämplig: Det här problemet gäller 2002 och senare
  • Orsak: När du installerar modulen från en upphöjd kommandotolk uppstår ett fel. Felet säger 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äses in i sessionen.
  • Förekomst: Vanlig

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

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

Fel som uppstår när du kör ett PowerShell-skript

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

  • Orsak: När du kör skript eller PowerShell-kommandon med Azure Stack Hub specifika moduler behöver du att skriptet eller kommandot är 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 För AzureRM-kommandon när Az-modulen har installerats kommer skriptet att visa fel. Eller om du försöker köra ett skript som anropar Az-kommandon när AzureRM-modulen har installerats kommer skriptet att skapa fel.

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

  • Förekomst: Vanlig

Fel som uppstår med New-AzADServicePrincipal och New-AzADApplication

  • Tillämpligt: Azure Stack miljöer som använder Azure Active Directory (Azure AD).

  • Orsak: Azure Active Directory Graph en stor ändring som begränsar Active Directory-program till underdomäner till en verifierad IdentifierUri domän i katalogen. Före ändringen framtvingades den här begränsningen endast för appar för flera innehavare. Den här begränsningen gäller nu även för enskilda klientappar. Ä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 komma runt den här begränsningen på två sätt.

    • Du måste använda ett namn på tjänstens huvudnamn som är en underdomän till katalogklientorganisationen. Om katalogen till exempel är contoso.onmicrosoft.com måste tjänstens huvudnamn ha formen <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änsthuvudnamn med Azure Stack Hub finns i Översikt över identitetsproviders för Azure Stack Hub.

    • Skapa Azure AD-appen med ett giltigt och skapa sedan tjänstens huvudnamn som IdentifierUri 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: Vanlig

Nästa steg