Instalace modulů Az PowerShellu a Azure Stack pro Azure Stack Hub

Verze služby Azure Stack Hub Verze AzureStack PowerShellu
2102 2.1.1
2108 2.2.0
2206 2.3.0
2301+ 2.4.0

Další informace o modulech AzureStack najdete v tématu PSGallery.

Tento článek vysvětluje, jak nainstalovat moduly Azure PowerShell Az a kompatibilní moduly správce služby Azure Stack Hub pomocí modulu PowerShellGet. Moduly Az je možné nainstalovat na platformách Windows, macOS a Linux.

Moduly Az pro Azure Stack Hub můžete také spouštět v kontejneru Dockeru. Pokyny najdete v tématu Použití Dockeru ke spuštění PowerShellu pro Azure Stack Hub.

Pokud chcete nainstalovat modul PowerShell Resource Modules (AzureRM) pro službu Azure Stack Hub, přečtěte si téma Instalace modulu PowerShell AzureRM pro Službu Azure Stack Hub.

Důležité

Moduly Azure Resource Nebudou k dispozici nové verze. Moduly prostředků Azure podporují pouze důležité opravy. Do budoucna budou k dispozici pouze verze Az pro Službu 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 ve verzích mezi Azure a službou Azure Stack Hub. Profil verze rozhraní API je sada modulů Azure Resource Manager PowerShellu s konkrétními verzemi rozhraní API. Každá cloudová platforma má sadu podporovaných profilů verzí rozhraní API. Azure Stack Hub například podporuje konkrétní verzi profilu, například 2020-09-01-hybrid. Při instalaci profilu se nainstalují moduly Azure Resource Manager PowerShellu, které odpovídají zadanému profilu.

Moduly PowerShellu kompatibilní se službou Azure Stack Hub můžete nainstalovat ve scénářích připojených k internetu, částečně připojených nebo odpojených. Tento článek vás provede podrobnými pokyny pro tyto scénáře.

1. Ověření požadavků

Moduly Az se podporují ve službě Azure Stack Hub s aktualizací Update 2002 nebo novější a s aktuálními nainstalovanými opravami hotfix. Další informace najdete ve zprávě k vydání verze služby Azure Stack Hub .

Moduly az Azure PowerShell fungují s PowerShellem 5.1 nebo novějším ve Windows nebo s PowerShellem Core 6.x a novějším na všech platformách. Měli byste si nainstalovat nejnovější verzi PowerShellu Core dostupnou pro váš operační systém. Azure PowerShell při spuštění v PowerShellu Core nemá žádné další požadavky.

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

$PSVersionTable.PSVersion

Požadavky 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. Na příkazovém řádku se zvýšenými oprávněními spusťte následující rutiny:

    [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. Požadavky pro Linux a Mac

Vyžaduje se PowerShell Core 6.x nebo novější verze. Pokyny najdete na odkazu .

3. Odinstalace existujících verzí modulů PowerShellu pro Azure Stack Hub

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

  1. Pokud chcete odinstalovat existující moduly Azure Resource Manager a Az PowerShell, 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 dojde k chybě typu Modul se už používá, zavřete relace PowerShellu, které moduly používají, a spusťte výše uvedený skript znovu.

  2. Pokud se Uninstall-Module nepovede, odstraňte všechny složky, které začínají Azurena , Aznebo Azs. z umístění $env:PSModulePath. Umístění Windows PowerShell můžou být C:\Program Files\WindowsPowerShell\Modules a C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules. V případě PowerShellu Core můžou být C:\Program Files\PowerShell\7\Modules umístění a C:\Users\{yourusername}\Documents\PowerShell\Modules. Odstraněním těchto složek odeberete všechny existující moduly Azure PowerShell.

4. Připojeno: Instalace s připojením k internetu

Modul Azure Stack Az bude fungovat s PowerShellem 5.1 nebo vyšším na počítači s Windows nebo s PowerShellem 6.x nebo novějším na platformě Linux nebo macOS. Upřednostňovanou metodou instalace je použití rutin PowerShellGet. Tato metoda funguje stejně na podporovaných platformách.

  1. Spuštěním následujícího příkazu z relace PowerShellu aktualizujte modul 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 aktualizace projevila.

  3. Spuštěním následujícího příkazu nainstalujte moduly Az.

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    Install-Module -Name Az.BootStrapper -Force
    Install-AzProfile -Profile 2020-09-01-hybrid -Force
    
  4. Nainstalujte moduly AzureStack PowerShellu.

    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
    

Upozornění

Pro PowerShell 5.1 pro Windows nemůžete mít současně nainstalované moduly Azure Resource Manager (AzureRM) a Az. Pokud potřebujete mít azure Resource Manager ve vašem systému k dispozici, nainstalujte modul Az pro PowerShell Core 6.x nebo novější. Uděláte to tak, že si nainstalujete PowerShell Core 6.x nebo novější a pak budete postupovat podle těchto pokynů v terminálu PowerShellu Core.

5. Odpojeno: Instalace bez připojení k internetu

V odpojené situaci nejdřív stáhnete moduly PowerShellu do počítače, který má připojení k internetu. Pak je přenesete do sady Azure Stack Development Kit (ASDK) k 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 Hub v závislosti na vaší verzi služby Azure Stack Hub.

Instalace má pět kroků:

  1. Nainstalujte Azure Stack Hub PowerShell na připojený počítač.
  2. Povolte další funkce úložiště.
  3. Přepojte balíčky PowerShellu na odpojenou pracovní stanici.
  4. Na odpojené pracovní stanici ručně spusťte poskytovatele NuGetu.
  5. Potvrďte instalaci PowerShellu.

Instalace Azure Stack Hub PowerShellu

  1. Můžete použít moduly AzureRM nebo Az . Následující kód uloží moduly Az 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 2.0.1
    
  2. Po instalaci modulů Az pokračujte v instalaci modulů AzureStack.

    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
    

Poznámka

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

Disable-AzDataCollection

Přidání balíčků na pracovní stanici

  1. Zkopírujte stažené balíčky 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í na pracovní stanici.

  3. Na odpojené pracovní stanici ručně spusťte poskytovatele NuGetu. Pokyny najdete v tématu Ruční spuštění zprostředkovatele 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 AzureRM z tohoto úložiště moduly a AzureStack :

     # 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
    
  5. Nainstalujte moduly Az.

     Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
    
  6. Nainstalujte moduly AzureStack.

    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
    

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 serveru

Ve scénářích, které pro přístup k internetu vyžadují proxy server, nejprve nakonfigurujete PowerShell tak, aby používal 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žití modulu Az

Můžete použít rutiny a ukázky kódu založené na modulech AzureRM. Budete ale chtít změnit název modulů a rutin. Názvy modulů se změnily tak, že AzureRM a Azure se změní Azna a totéž 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.

Podrobnější diskuzi a pokyny k přesunu skriptu AzurRM do Az a zásadních změn v modulu Az služby Azure Stack Hub najdete v tématu Migrace z AzureRM na Azure PowerShell Az.

Známé problémy

Chyba vyvolaná při instalaci modulů Az

  • Platí: Tento problém se týká verze 2002 a novější.
  • Příčina: Při instalaci modulu dojde k chybě. Chybová zpráva začíná: 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 relaci a spusťte novou relaci PowerShellu se zvýšenými oprávněními.
  • Výskyt: Běžné

Při instalaci modulu Az nepravdě vyvolá chybu Správa požadovaná práva

  • Platí: Tento problém se týká verze 2002 a novější.
  • Příčina: Při instalaci modulu z příkazového řádku se zvýšenými oprávněními dojde k chybě. Tato chyba uvádí 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 az. Modul Účty načtený v relaci.
  • Výskyt: Běžné

Selhání New-AzVmss rutin při použití profilu 2020-09-01-hybrid

  • Platí: Tento problém se týká profilu 2020-09-01-hybrid.
  • Příčina: Rutina New-AzVmss nefunguje s profilem 2020-09-01-hybrid.
  • Náprava: Použijte šablonu pro vytvoření škálovací sady virtuálních počítačů. Ukázku šablon služby Azure Stack Hub Resource Manager najdete v úložišti GitHub AzureStack-QuickStart-Templates/101-vmss-windows-vm a pokyny k používání správců prostředků služby Azure Stack Hub s nástrojem Visual Studio Code.
  • Výskyt: Běžné

Chyba vyvolaná při spuštění skriptu PowerShellu

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

  • Příčina: Při spouštění skriptů nebo příkazů PowerShellu pomocí modulů specifických pro Azure Stack Hub budete potřebovat, aby váš skript nebo příkaz byly v modulu dostupné. 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 powershellový modul Az, který nahradil modul PowerShell AzureRM. Pokud se při instalaci modulu Az pokusíte spustit skript, který volá příkazy AzureRM, vyvolá váš skript chyby. Nebo pokud se při instalaci modulu AzureRM pokusíte spustit skript, který volá příkazy Az, vyvolá váš skript chyby.

  • Náprava: Odinstalujte modul AzureRM a nainstalujte modul Az. Pokyny najdete v tématu Instalace modulu Az PowerShellu pro službu Azure Stack Hub. Pokud používáte nástroje Azure Stack Hub, použijte nástroje Az. Naklonujte úložiště nástrojů z az branch nebo stáhněte AzureStack-Tools z az branch. Pokyny najdete v tématu Stažení nástrojů služby Azure Stack Hub z GitHubu.

  • Výskyt: Běžné

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

  • Platí: Prostředí Azure Stack využívající Microsoft Entra ID.

  • Příčina: Azure Active Directory Graph zavedl zásadní změnu, která pro aplikace Active Directory omezila IdentifierUri na subdomény ověřené domény v adresáři. Před změnou se toto omezení vynucovalo jenom pro aplikace s více tenanty. Toto omezení se teď vztahuje i na aplikace s jedním tenantem. Výsledkem změny bude následující chyba: 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.

    • Budete muset použít název instančního objektu, který je subdoménou tenanta adresáře. Pokud je contoso.onmicrosoft.comnapříklad adresář , hlavní název služby musí být ve tvaru <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ů se službou Azure Stack Hub najdete v tématu Přehled zprostředkovatelů identit pro službu Azure Stack Hub.

    • Vytvořte Microsoft Entra aplikaci poskytující platnou IdentifierUri aplikaci a pak pomocí následující rutiny vytvořte instanční objekt, který aplikaci přidružuje:

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

Chyba: Ověření přihlašovacích údajů SharedTokenCache selhalo.

  • Platí: Tento problém se týká všech podporovaných verzí.
  • Příčina: Chyba selhání ověřování SharedTokenCacheCredential se vyvolá v případě, že máte několik verzí AzAccounts nainstalovaných s modulem PowerShellu služby Azure Stack Hub verze 2.1.1.
  • Náprava: Odeberte všechny verze AzAccounts a nainstalujte jenom podporovanou verzi AzAccounts 2.2.8.
  • Výskyt: Běžné

Další kroky