Installera PowerShell AzureRM-modulen för Azure Stack Hub

Azure PowerShell Azure Resource Manager (AzureRM) innehåller en uppsättning cmdletar som använder Azure Resource Manager-modellen för att hantera dina Azure Stack Hub-resurser.

Viktigt

Du har nått en webbsida för en inaktuell version av Azure Stack Hub PowerShell. Alla versioner av PowerShell-modulen i Azure Resource Manager (AzureRM) är inaktuella, men saknar inte stöd. AzureRM-moduler kommer inte längre att uppdateras i framtida Azure Stack Hub-versioner. Az-moduler kommer att användas för versioner 2002 och senare. Hybridprofilen 2020-09-01 stöds inte för AzureRM-moduler.

Az PowerShell-modulen är nu den rekommenderade PowerShell-modulen för interaktion med Azure och Azure Stack Hub. Information om hur du kommer igång med Az PowerShell-modulen finns i Installera PowerShell Az-förhandsversionsmodulen för Azure Stack Hub. Lär dig hur du migrerar till Az PowerShell-modulen. se Migrera från AzureRM till Azure PowerShell Az i Azure Stack Hub. Mer information om de ökade funktionerna i Az-modulerna, som har implementerats i globala Azure, finns i Introduktion till Azure Az PowerShell-modulen.

Du måste också 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 2019-03-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-moduler i internetanslutna, delvis anslutna eller frånkopplade scenarier. Den här artikeln vägleder dig genom de detaljerade anvisningarna för dessa scenarier.

Du kan också köra Azure Resource Manager-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.

1. Kontrollera dina förutsättningar

Innan du börjar med Azure Stack Hub och PowerShell Azure Resource Manager-modulen måste du ha följande förutsättningar:

  • PowerShell version 5.1
    Kontrollera din version genom att köra $PSVersionTable.PSVersion och jämföra huvudversionen . Om du inte har PowerShell 5.1 följer du Windows PowerShell.

    Anteckning

    PowerShell 5.1 kräver en Windows-dator.

  • Kör PowerShell i en upphöjd kommandotolk.

  • PowerShell-galleriet åtkomst
    Du behöver åtkomst till PowerShell-galleriet. Galleriet är den centrala lagringsplatsen för PowerShell-innehåll. PowerShellGet-modulen innehåller cmdletar för identifiering, installation, uppdatering och publicering av PowerShell-artefakter. Exempel på dessa artefakter är moduler, DSC-resurser, rollfunktioner och skript från PowerShell-galleriet och andra privata lagringsplatser. Om du använder PowerShell i ett frånkopplat scenario måste du hämta resurser från en dator med en anslutning till Internet och lagra dem på en plats som är tillgänglig för den frånkopplade datorn.

Kontrollera om PSGallery är registrerat som en lagringsplats.

Anteckning

Det här steget kräver Internetåtkomst.

Öppna en upphöjd PowerShell-kommandotolk och kör följande cmdletar:

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

Om lagringsplatsen inte är registrerad öppnar du en upphöjd PowerShell-session och kör följande kommando:

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

3. 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 PowerShell-moduler. Avinstallera modulerna med någon av följande två metoder:

  1. 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 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 Azs. från mapparna C:\Program Files\WindowsPowerShell\Modules och C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules . Om du tar bort de här mapparna tas alla befintliga PowerShell-moduler bort.

4. Ansluten: Installera PowerShell för Azure Stack Hub med Internetanslutning

Vilken API-versionsprofil och Azure Stack Hub PowerShell-moduler du behöver beror på vilken version av Azure Stack Hub du kör.

Installera Azure Stack Hub PowerShell

Kör följande PowerShell-skript för att installera de här modulerna på utvecklingsarbetsstationen:

För Azure Stack Hub 2002 eller senare:

Du kan använda antingen AzureRm-moduler för användare eller Az-förhandsgranskningsmoduler. Användning av Az-moduler kräver Azure Stack Hub 2002 eller senare.

Om du vill använda Az-förhandsgranskningsmoduler följer du anvisningarna i Installera PowerShell Az-modulen.

# 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 

För 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

Anteckning

  • Azure Stack Hub-modul version 1.8.0 är en icke-bakåtkompatibel ändringsversion. Mer information finns i versionsanteckningen .

För Azure Stack Hub 1908 eller tidigare:

# 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

Anteckning

Azure Stack Hub-modul version 1.7.2 är en icke-bakåtkompatibel ändringsversion. Om du vill migrera från Azure Stack Hub 1.6.0 kan du läsa migreringsguiden.

Bekräfta installationen av PowerShell

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

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

Om installationen lyckas visas modulerna AzureRm och AzureStack i utdata.

5. Frånkopplad: Installera PowerShell 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

Azure Stack Hub 2002 eller senare.

Du kan antingen använda Azure Resource Manager- eller Az-förhandsgranskningsmoduler. Information om Az-moduler finns i anvisningarna i Installera PowerShell Az-modulen.


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

Anteckning

Azure Stack Hub-modul version 1.8.0 är en icke-bakåtkompatibel ändringsversion. Mer information finns i versionsanteckningen .

För Azure Stack Hub 1908 eller tidigare:

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

Anteckning

Azure Stack Hub-modulen version 1.7.1 är en icke-bakåtkompatibel ändring. Om du vill migrera från Azure Stack Hub 1.6.0 kan du läsa migreringsguiden.

Anteckning

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

Disable-AzureRmDataCollection

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 Azure Resource Manager och AzureStack moduler 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"
    
    Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
    Install-Module -Name AzureRM -Repository $RepoName
    
    Install-Module -Name AzureStack -Repository $RepoName
    

Bekräfta installationen av PowerShell

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

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

6. Konfigurera PowerShell att använda en proxyserver

I scenarier som kräver en proxyserver för att komma åt 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
    

Kända problem

Metodfel get_SerializationSettings

  • Orsak: PowerShell Az-modulen och PowerShell Azure Resource Manager-modulerna är inte kompatibla.

    Följande fel anger att Azure Resource Manager-modulerna och Az-modulerna läses in i samma 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.
    
  • Reparation: Avinstallera moduler som är i konflikt.

    Om du vill använda Azure Resource Manager-modulerna avinstallerar du Az-modulerna. Eller avinstallera Azure-Resource Manager om du vill använda Az-modulerna. Stäng PowerShell-sessionen och avinstallera antingen Az- eller Azure Resource Manager-modulerna.

    Du hittar instruktioner i Avinstallera befintliga versioner av Azure Stack Hub PowerShell-modulerna.

Fel uppstod med NewAzureRMADServicePrincipal och NewAzureRMAdApplication

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

  • Orsak: Azure Active Directory Graph introducerade en icke-bakåtkompatibel ändring för att begränsa IdentifierUri för Active Directory-program att vara underdomäner för 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 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 namn på tjänstens huvudnamn som är en underdomän för katalogklientorganisationen. Om katalogen till exempel är contoso.onmicrosoft.commåste tjänstens huvudnamn vara av formatet <foo>.contoso.onmicrosoft.com. Använd följande cmdlet:

      NewAzureRMADServicePrincipal -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 som tillhandahåller en giltig IdentifierUri och skapa sedan tjänstens huvudnamn som associerar appen med hjälp av följande cmdlet:

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

Nästa steg