Installera PowerShell AzureRM-modul 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 Azure Resource Manager (AzureRM) PowerShell-modulen är inaktuella och har inte stöd. AzureRM-moduler uppdateras inte längre 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örhandsversionsmodul 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 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 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 krav:
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 installations-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.
2. Verifiera tillgängligheten för PowerShell-galleriet
Kontrollera om PSGallery är registrerat som en lagringsplats.
Anteckning
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-moduler
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:
Om du vill avinstallera befintliga Azure Resource Manager- och Az PowerShell-moduler 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 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 dessa moduler på din utvecklingsarbetsstation:
För Azure Stack Hub 2002 eller senare:
Du kan använda antingen AzureRm-användarmoduler 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
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-modulen version 1.7.2 är en icke-bakåtkompatibel ändringsversion. Om du vill migrera från Azure Stack Hub 1.6.0 läser du 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:
- 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-förhandsgranskningsmoduler. Mer 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 läser du 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
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. Anvisningar 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 en proxyserver för å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.
Instruktioner finns 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 introducerade en icke-bakåtkompatibel ändring för att begränsa
IdentifierUri
för Active Directory-program till underdomäner för en verifierad domän i katalogen. Före ändringen framtvingas 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 en enskild klientorganisation. Ä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 till katalogklienten. Om katalogen till exempel är
contoso.onmicrosoft.com
måste tjänstens huvudnamn ha 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 och ange 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