Installera PowerShell AzureRM-modulen för Azure Stack Hub
Azure PowerShell Azure Resource Manager (AzureRM) tillhandahå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 Azure Resource Manager (AzureRM) PowerShell-modulen är inaktuella och har inte stöd. AzureRM-moduler kommer inte längre att uppdateras i framtida Azure Stack Hub-versioner. Az-moduler måste 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örhandsgranskningsmodulen 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 antagits 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 beskriver de detaljerade instruktionerna 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 kommer igång 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 Installera Windows PowerShell.Kommentar
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.
2. Verifiera tillgängligheten för PowerShell-galleriet
Kontrollera om PSGallery är registrerat som en lagringsplats.
Kommentar
Det här steget kräver internetåtkomst.
Öppna en upphöjd PowerShell-prompt 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 tidigare installerade Azure Stack Hub Azure Resource Manager 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 De PowerShell-sessioner som använder modulerna och kör skriptet ovan igen.
Ta bort alla mappar som börjar med
Azure
,Az
ellerAzs.
från mapparnaC:\Program Files\WindowsPowerShell\Modules
ochC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
. Om du tar bort dessa mappar tas alla befintliga PowerShell-moduler bort.
4. Ansluten: Installera PowerShell för Azure Stack Hub med internetanslutning
Vilka API-versionsprofiler 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 dessa moduler på din utvecklingsarbetsstation:
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-modulerna kräver Azure Stack Hub 2002 eller senare.
Om du vill använda Az preview-moduler 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
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
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:
- Installera Azure Stack Hub PowerShell på en ansluten dator.
- Aktivera ytterligare lagringsfunktioner.
- Transportera PowerShell-paketen till den frånkopplade arbetsstationen.
- Starta NuGet-providern manuellt på den frånkopplade arbetsstationen.
- 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 Preview-moduler. För Az-moduler, se 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
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
Kommentar
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
Kopiera de nedladdade paketen till en USB-enhet.
Logga in på den frånkopplade arbetsstationen och kopiera paketen från USB-enheten till en plats på arbetsstationen.
Starta NuGet-providern manuellt på den frånkopplade arbetsstationen. Instruktioner finns i Starta NuGet-providern manuellt på en dator som inte är ansluten till Internet.
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 att en proxyserver har åtkomst till Internet konfigurerar du först PowerShell för att använda en befintlig proxyserver:
Öppna en PowerShell-prompt med utökad behörighet.
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 som uppstod med NewAzureRMADServicePrincipal och NewAzureRMAdApplication
Tillämpligt: Azure Stack-miljöer med Microsoft Entra-ID.
Orsak: Azure Active Directory Graph införde 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 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 namn på tjänstens huvudnamn som är en underdomän för katalogklientorganisationen. Om katalogen till exempel är
contoso.onmicrosoft.com
måste tjänstens huvudnamn vara i 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 med 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