Instalace prostředí PowerShell AZ Module pro Azure Stack hub

tento článek vysvětluje, jak nainstalovat Azure PowerShell Az a compatible Azure Stack správce centra pomocí PowerShellGet. moduly Az mohou být nainstalovány na platformách Windows, macOS a Linux.

Můžete také spustit příkaz AZ modules for Azure Stack hub v kontejneru Docker. Pokyny najdete v tématu použití Docker ke spuštění PowerShellu pro Azure Stack hub.

Pokud chcete nainstalovat modul AzureRM (PowerShell Resource modules) pro centrum Azure Stack, přečtěte si téma Instalace modulu PowerShell AzureRM pro centrum Azure Stack.

Důležité

Pravděpodobně nebudete mít k dispozici nové verze modulů prostředků Azure. Moduly modulů prostředků Azure jsou v rámci podpory jenom pro kritické opravy. Až se vám pošle dál, bude se používat jenom AZ releases for Azure Stack hub.

Profily rozhraní API můžete použít k určení kompatibilních koncových bodů pro poskytovatele prostředků služby Azure Stack hub.

Profily rozhraní API poskytují způsob, jak spravovat rozdíly mezi verzemi Azure a centra Azure Stack. Profil verze rozhraní API je sada Azure Resource Managerch modulů PowerShellu s konkrétními verzemi rozhraní API. Každá cloudová platforma má sadu podporovaných profilů verze rozhraní API. Například centrum Azure Stack podporuje konkrétní verzi profilu, například 2020-09-01-Hybrid. Když nainstalujete profil, nainstalují se moduly Azure Resource Manager PowerShellu, které odpovídají zadanému profilu.

Prostředí PowerShellu kompatibilní s centrem Azure Stack AZ moduls můžete nainstalovat ve scénářích připojených k Internetu, částečně propojených nebo odpojených. Tento článek vás provede podrobnými pokyny pro tyto scénáře.

1. ověřte požadavky.

AZ modules se podporuje v Azure Stackovém centru s aktualizací Update 2002 nebo novějším a s nainstalovanými aktuálními opravami hotfix. Další informace najdete v poznámkách k verzi centra Azure Stack .

Azure PowerShell Az modules work with powershell 5,1 nebo vyšší v Windows nebo powershell Core 6. x a novější na všech platformách. Měli byste nainstalovat nejnovější verzi prostředí PowerShell Core , která je k dispozici pro váš operační systém. Azure PowerShell nemá žádné jiné požadavky při spuštění v prostředí PowerShell Core.

Pokud chcete zkontrolovat verzi PowerShellu, spusťte následující příkaz:

$PSVersionTable.PSVersion

Předpoklady pro Windows

Použití Azure PowerShellu v PowerShellu 5.1 ve Windows:

  1. V případě potřeby proveďte aktualizaci na Windows PowerShell 5.1. Pokud používáte Windows 10, máte už PowerShell 5.1 nainstalovaný.
  2. Nainstalujte si rozhraní .NET Framework 4.7.2 nebo novější.
  3. Ujistěte se, že máte nejnovější verzi modulu PowerShellGet. Spusťte následující rutiny:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force

2. předpoklady pro Linux a Mac

Je potřeba PowerShell Core 6. x nebo novější verze. Pokyny najdete na tomto odkazu .

3. odinstalujte existující verze modulů prostředí PowerShell centra Azure Stack.

Před instalací požadované verze se ujistěte, že jste odinstalovali všechny dříve nainstalované Azure Stack centra Azure Resource Manager nebo AZ PowerShell Module. Moduly odinstalujte pomocí jedné z následujících dvou metod:

  1. Pokud chcete odinstalovat existující Azure Resource Manager a AZ PowerShell modules, zavřete všechny aktivní relace PowerShellu a spusťte následující rutiny:

    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
    

    Pokud se zobrazí chyba, například modul se už používá, zavřete relace PowerShellu, které moduly používají, a znovu spusťte výše uvedený skript.

  2. Odstraňte všechny složky, které začínají Azure na, Az nebo Azs. ze C:\Program Files\WindowsPowerShell\Modules složky a C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules . Odstranění těchto složek odebere všechny existující moduly prostředí PowerShell.

4. připojeno: instalace s připojením k Internetu

Azure Stack Az module bude pracovat s powershellem 5,1 nebo vyšším v počítači Windows nebo powershell 6. x nebo vyšší na platformě Linux nebo macOS. Upřednostňovanou metodou instalace je použití rutin PowerShellGet. Tato metoda funguje stejně jako na podporovaných platformách.

  1. Spuštěním následujícího příkazu z relace PowerShellu aktualizujte PowerShellGet na minimálně verzi 2.2.3.

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
    
  2. Zavřete relaci PowerShellu a pak otevřete novou relaci PowerShellu, aby se mohla aktualizace projevit.

  1. Z relace PowerShellu spusťte následující příkaz:

    [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. Z relace PowerShellu spusťte následující příkaz:

    [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
    

Poznámka

2.0.2 pro modul centra Azure Stack je zásadní změna. podrobnosti najdete v tématu migrace z AzureRM na adresu Azure PowerShell Az in Azure Stack Hub .

Upozornění

pro Windows ve stejnou dobu nemůžete současně nainstalovat Azure Resource Manager (AzureRM) a Az module pro PowerShell 5,1. Pokud potřebujete zachovat Azure Resource Manager k dispozici v systému, nainstalujte modul AZ Module pro PowerShell Core 6. x nebo novější. Pokud to chcete provést, nainstalujte PowerShell Core 6. x nebo novější a pak postupujte podle těchto pokynů v terminálu PowerShell Core.

5. odpojeno: instalace bez připojení k Internetu

V odpojeném scénáři nejprve stáhnete moduly PowerShellu do počítače, který má připojení k Internetu. Pak je přenesete do Azure Stack Development Kit (ASDK) pro instalaci.

Přihlaste se k počítači s připojením k Internetu a pomocí následujících skriptů Stáhněte balíčky Azure Resource Manager a Azure Stack centra v závislosti na vaší verzi centra Azure Stack.

Instalace má pět kroků:

  1. Instalace prostředí PowerShell centra Azure Stack do připojeného počítače.
  2. Povolí další funkce úložiště.
  3. Přenos balíčků PowerShellu na odpojenou pracovní stanici.
  4. ručně naNuGet poskytovatele na odpojené pracovní stanici.
  5. Potvrďte instalaci PowerShellu.

Nainstalovat Azure Stack centra PowerShell

Azure Stack hub 2102 nebo novější.

Můžete buď použít Azure Resource Manager, nebo AZ Modules. Azure Resource Manager najdete v pokynech v tématu install PowerShell AzureRM Module. Následující kód ukládá moduly z důvěryhodného online úložiště 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 nebo starší.

Můžete buď použít Azure Resource Manager, nebo AZ Modules. Azure Resource Manager najdete v pokynech v tématu install PowerShell AzureRM Module. Následující kód ukládá moduly z důvěryhodného online úložiště 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

Poznámka

V počítačích bez připojení k Internetu doporučujeme pro zakázání shromažďování dat telemetrie spustit následující rutinu. Může dojít ke snížení výkonu rutin bez zakázání shromažďování dat telemetrie. To platí jenom pro počítače bez připojení k Internetu.

Disable-AzDataCollection

Přidání balíčků do pracovní stanice

  1. Stažené balíčky zkopírujte do zařízení USB.

  2. Přihlaste se k odpojené pracovní stanici a zkopírujte balíčky ze zařízení USB do umístění v pracovní stanici.

  3. ručně naNuGet poskytovatele na odpojené pracovní stanici. pokyny najdete v tématu ruční zavedení poskytovatele NuGet na počítači, který není připojený k internetu.

  4. Zaregistrujte toto umístění jako výchozí úložiště a nainstalujte AzureRMAzureStack moduly a z tohoto úložiště:

 # 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

Potvrzení instalace PowerShellu

Potvrďte instalaci spuštěním následujícího příkazu:

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

6. konfigurace PowerShellu pro použití proxy server

Ve scénářích, které vyžadují proxy server pro přístup k Internetu, musíte nejprve nakonfigurovat prostředí PowerShell tak, aby používalo existující proxy server:

  1. Otevřete příkazový řádek PowerShellu se zvýšenými oprávněními.

  2. Spusťte následující příkazy:

    #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. použijte modul AZ Module

Můžete použít rutiny a ukázky kódu založené na Azure Resource Manager. Nicméně budete chtít změnit název modulů a rutin. Názvy modulů se změnily tak, že AzureRM a Azure se stanou a Az jsou stejné pro rutiny. Například modul AzureRM.Compute se přejmenoval na Az.Compute.Z New-AzureRMVM se stalo New-AzVM a Get-AzureStorageBlob je teď Get-AzStorageBlob.

Důkladnější diskuzi a pokyny pro přesunutí skriptu AzurRM k AZ a průlom Changes in the Azure Stack hub 's hub najdete v tématu migrace z AzureRM na Azure PowerShell AZ.

Známé problémy

Při instalaci AZ modules došlo k chybě.

  • Platí: Tento problém se týká 2002 a novějších verzí.
  • Příčina: při instalaci modulu je vyvolána chyba. Spustí se chybová zpráva: Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'. nebo chybová zpráva může obsahovat následující text: PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
  • Náprava: ve stejné relaci spusťte následující rutinu:
    Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
    Zavřete svou relaci a spusťte novou relaci PowerShellu se zvýšenými oprávněními.
  • Výskyt: běžné

Při instalaci AZ Module false vyvolá chyba požadovaná oprávnění správce.

  • Platí: Tento problém se týká 2002 a novějších verzí.
  • Příčina: při instalaci modulu z příkazového řádku se zvýšenými oprávněními se vyvolá chyba. Chyba říká, Administrator rights required .
  • Náprava: zavřete relaci a spusťte novou relaci PowerShellu se zvýšenými oprávněními. Ujistěte se, že neexistuje existující AZ. Modul Accounts byl načten v relaci.
  • Výskyt: běžné

New-AzVmss rutiny selžou při použití 2020-09-01 – hybridní profil

  • Platí: Tento problém se týká hybridního profilu 2020-09-01.
  • Příčina: rutina New-AzVmss nefunguje s profilem 020-09-01-Hybrid.
  • Náprava: použijte šablonu pro vytvoření sady škálování virtuálních počítačů. ukázku šablon Správce prostředků centra pro Azure Stack najdete v části úložiště GitHub AzureStack-start-templates/101-vmss-windows-vm a najdete tam pokyny k používání správce prostředků Azure Stack centra s Visual Studio Code.
  • Výskyt: běžné

Při spouštění skriptu PowerShell došlo k chybě.

  • Platí: Tento problém se týká 2002 a novějších verzí.

  • Příčina: když spustíte skripty nebo příkazy PowerShellu pomocí modulů Azure Stackho centra, budete potřebovat váš skript nebo příkaz k dispozici v modulu. Může se zobrazit následující chyba:

    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.
    

    Aktuálním modulem je PowerShell AZ Module, který nahradil modul PowerShell AzureRM. Pokud se pokusíte spustit skript, který volá příkazy AzureRM při instalaci příkazu AZ Module, váš skript vyvolá chyby. Nebo pokud se pokusíte spustit skript, který volá AZ Commands při instalaci modulu AzureRM, váš skript vyvolá chyby.

  • Náprava: odinstalujte modul AzureRM a nainstalujte modul AZ Module. Pokyny najdete v tématu instalace prostředí PowerShell AZ Module pro Azure Stack hub. Pokud používáte nástroje centra Azure Stack, použijte nástroj AZ Tools. Naklonujte úložiště nástrojů z větve AZ větvi nebo Stáhněte AzureStack-Tools z větve AZ . Pokyny najdete v tématu Stažení nástrojů centra Azure Stack z GitHub

  • Výskyt: běžné

Došlo k chybě New-AzADServicePrincipal a New-AzADApplication

  • Použitelné: Azure Stack prostředí využívající Azure Active Directory (Azure AD).

  • příčina: Azure Active Directory Graph zavést zásadní změnu, která omezí, aby byly IdentifierUri aplikace služby Active Directory poddoménami ověřené domény v adresáři. Před změnou bylo toto omezení pro víceklientské aplikace vynutilo. Toto omezení se teď vztahuje i na aplikace s jedním klientem. V důsledku změny dojde k následující chybě: Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running .

  • Náprava: Toto omezení můžete obejít dvěma způsoby.

    • Bude nutné použít název principu služby, který je subdoménou tenanta adresáře. Například pokud je adresář contoso.onmicrosoft.com , hlavní název služby musí mít formu <foo>.contoso.onmicrosoft.com . Použijte následující rutinu:

      New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
      

      Další informace o identitě a používání instančních objektů pomocí centra Azure Stack najdete v tématu Přehled zprostředkovatelů identity pro centrum Azure Stack.

    • Vytvořte aplikaci Azure AD, která poskytuje platný IdentifierUri a pak vytvořte instanční objekt, který přidruží aplikaci, pomocí následující rutiny:

      $app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Výskyt: běžné

Další kroky