Installera PowerShell Az- och Azure Stack-moduler för Azure Stack Hub
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. 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 läser du Installera PowerShell AzureRM-modulen för Azure Stack Hub.
Viktigt
Det kommer inte att finnas några nya versioner av Azure Resource Modules-modulen. Modulerna för Azure-resursmoduler stöds endast 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-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 vägleder dig genom de detaljerade anvisningarna 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 de aktuella snabbkorrigeringarna installerade. Mer information finns i Viktig information om Azure Stack Hub .
De 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 som är tillgänglig för ditt operativsystem. Azure PowerShell har inga andra krav vid körning 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:
Uppdatera vid behov till Windows PowerShell 5.1. Om du använder Windows 10 kan PowerShell 5.1 redan vara installerat.
Installera .NET Framework 4.7.2 eller senare.
Kontrollera att du har den senaste versionen av PowerShellGet. Kör följande cmdletar från en upphöjd prompt:
[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
2. Förutsättningar för Linux och Mac
PowerShell Core 6.x eller senare version krävs. Följ länken för instruktioner
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- 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 De PowerShell-sessioner som använder modulerna och kör skriptet ovan igen.
Om Uninstall-Module inte lyckades tar du bort alla mappar som börjar med
Azure
,Az
ellerAzs.
från platserna $env:PSModulePath. För Windows PowerShell kan platserna varaC:\Program Files\WindowsPowerShell\Modules
ochC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
. För PowerShell Core kan platserna varaC:\Program Files\PowerShell\7\Modules
ochC:\Users\{yourusername}\Documents\PowerShell\Modules
. Om du tar bort de här mapparna tas alla befintliga Azure PowerShell moduler bort.
4. 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 installationsmetod som föredras. Den här metoden fungerar på samma sätt på de plattformar som stöds.
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
Stäng PowerShell-sessionen och öppna sedan en ny PowerShell-session så att uppdateringen kan träda i kraft.
Kör följande 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
Installera AzureStack PowerShell-moduler.
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
Varning
Du kan inte ha både Azure Resource Manager-modulerna (AzureRM) och Az installerade för PowerShell 5.1 för Windows samtidigt. Om du behöver ha Azure Resource Manager tillgängligt i systemet 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 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
Du kan antingen använda AzureRM - eller Az-moduler . Följande kod sparar Az-moduler från betrodda onlinelagringsplatser 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 2.0.1
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
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-AzDataCollection
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 modulerna
AzureRM
ochAzureStack
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
Installera Az-modulerna.
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
Installera AzureStack-modulerna.
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
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
7. Använd Az-modulen
Du kan använda cmdletar och kodexempel baserat på AzureRM-moduler. Du vill dock ändra namnet på modulerna och cmdletarna. Modulnamnen har ändrats så att AzureRM
och Azure blir Az
, och samma för cmdletar.
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 icke-bakåtkompatibla ändringar i Az-modulen i Azure Stack Hub 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 genereras felaktigt Admin rättigheter som krävs fel
- Tillämpligt: Det här problemet gäller för 2002 och senare
- Orsak: När du installerar modulen från en upphöjd fråga utlöses 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ä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 hybridprofilen 2020-09-01.
- Orsak: Cmdleten New-AzVmss fungerar inte med hybridprofilen 2020-09-01.
- Reparation: Använd en mall för att skapa vm-skalningsuppsättningar. Du hittar ett exempel på Azure Stack Hub-Resource Manager mallar 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
Ett fel 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 genererar skriptet fel. Eller om du försöker köra ett skript som anropar Az-kommandon när AzureRM-modulen är installerad genererar 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 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: Vanligt
Fel uppstod med New-AzADServicePrincipal och New-AzADApplication
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 tjänstprincipnamn som är en underdomän till katalogklientorganisationen. Om katalogen till exempel är
contoso.onmicrosoft.com
måste tjänstens huvudnamn vara av formatet<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 som tillhandahåller 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: Ett Fel vid autentisering med SharedTokenCacheCredential-autentisering utlöses när flera versioner av AzAccounts har installerats med Azure Stack Hub PowerShell-modul 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