Sdílet prostřednictvím


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

Důležitý

Všechny verze modulu PowerShellu Azure Resource Manageru (AzureRM) jsou zastaralé a nejsou podporované. Modul Az PowerShellu je teď doporučeným modulem PowerShellu pro interakci s Azure a službou Azure Stack Hub. Tento článek popisuje, jak začít s modulem Az PowerShell. Informace o migraci na modul Az PowerShell najdete v tématu Migrace z AzureRM do Az Azure PowerShellu v azure Stack Hub. Podrobnosti o zvýšené funkčnosti modulů Az, které byly přijaty v globálním Azure, najdete v tématu Představujeme modul Azure Az PowerShell.

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

Další informace o modulech AzureStack naleznete v PSGallery.

Tento článek vysvětluje, jak nainstalovat az Azure PowerShellu a kompatibilní moduly správce služby Azure Stack Hub pomocí modulu PowerShellGet. Moduly Az můžete nainstalovat na platformy Windows, macOS a Linux.

Moduly Az pro Azure Stack Hub můžete také spustit v kontejneru Dockeru. Pokyny najdete v tématu Použití Dockeru ke spuštění PowerShellu pro službu 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 mezi Azure a Azure Stack Hubem. Profil verze rozhraní API je sada modulů PowerShellu Azure Resource Manageru s konkrétními verzemi rozhraní API. Každá cloudová platforma má sadu podporovaných profilů verzí rozhraní API. Například Azure Stack Hub podporuje konkrétní verzi profilu, například 2020-09-01-hybrid. Při instalaci profilu se nainstalují moduly PowerShellu Azure Resource Manageru, které odpovídají zadanému profilu.

Moduly Az kompatibilní se službou Azure Stack Hub můžete nainstalovat v počítačích připojených k internetu, částečně připojených nebo odpojených scénáří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í 2002 nebo novější a s nainstalovanými všemi aktuálními opravami hotfix. Další informace najdete v poznámkách k verzi Azure Stack Hub .

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

Pokud chcete zkontrolovat verzi PowerShellu, spusťte příkaz:

$PSVersionTable.PSVersion

Požadavky pro Windows

Pro použití Azure PowerShellu v prostředí PowerShell 5.1 na Windows:

  1. V případě potřeby aktualizujte na Windows PowerShell 5.1. Pokud používáte Windows 10, už máte nainstalovaný PowerShell 5.1.

  2. Nainstalujte .NET Framework verze 4.7.2 nebo novější.

  3. Ujistěte se, že máte nejnovější verzi modulu PowerShellGet. Z příkazového řádku se zvýšenými oprávněními spusťte následující příkazy cmdlet:

    [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
    

Požadavky pro Linux a Mac

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

Odinstalace existujících verzí modulů PowerShellu služby Azure Stack Hub

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

  • Pokud chcete odinstalovat existující moduly Azure Resource Manageru a Az PowerShellu, 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ě, například modul je již používán, zavřete relace PowerShellu, které používají moduly, a spusťte tyto rutiny znovu.

  • Pokud Uninstall-Module neuspěl, odstraňte z umístění $env:PSModulePath všechny složky, které začínají Azure, Aznebo Azs. V prostředí Windows PowerShell mohou být umístění C:\Program Files\WindowsPowerShell\Modules a C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules. Pro PowerShell Core mohou být umístění C:\Program Files\PowerShell\7\Modules a C:\Users\{yourusername}\Documents\PowerShell\Modules. Odstranění těchto složek odebere všechny existující moduly Azure PowerShellu.

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

Modul Azure Stack Az funguje s PowerShellem 5.1 nebo novějším na počítači s Windows nebo s PowerShellem 6.x nebo novějším na platformě Linux nebo macOS. Použití rutin PowerShellGet je upřednostňovaná metoda instalace. Tato metoda funguje stejně 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 otevřete novou relaci PowerShellu, aby se aktualizace projevila.

  3. Spuštěním následujících příkazů 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
    

Odpojeno: Instalace bez připojení k internetu

V odpojené situaci nejprve stáhnete moduly PowerShellu do počítače s připojením k internetu. Pak je přenesete do sady 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 Manageru a služby 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řevezměte balíčky PowerShellu do odpojené pracovní stanice.
  4. Ručně inicializujte zprostředkovatele NuGet na vaší odpojené pracovní stanici.
  5. Potvrďte instalaci PowerShellu.

Instalace PowerShellu pro Azure Stack Hub

  1. Následující kód nainstaluje moduly Az z důvěryhodného online úložiště:

    [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 instalací 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 rutinu Disable-AzDataCollection a zakázat shromažďování telemetrických dat. Jinak můžete zakusit snížení výkonu příkazů cmdlet. To platí jenom pro počítače bez připojení k internetu.

Přidejte své balíčky do své pracovní stanice

  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. Ručně inicializujte zprostředkovatele NuGet na odpojené pracovní stanici. Pokyny najdete v tématu Ruční spuštění 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 moduly AzureRM a AzureStack 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
    
  5. Nainstalujte moduly Az.

     Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
    
  6. Instalace modulů AzureStackL

    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

Konfigurace PowerShellu pro použití proxy serveru

Ve scénářích, které vyžadují pro přístup k internetu 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
    

Použití modulu Az

Stále můžete používat rutiny a ukázky kódu založené na modulech AzureRM. Musíte ale změnit název modulů a rutin. Názvy modulů byly změněny tak, aby se AzureRM a Azure staly Az, a totéž platí pro rutiny. Například modul AzureRM.Compute byl přejmenován na Az.Compute. New-AzureRMVM je New-AzVMa Get-AzureStorageBlob je nyní Get-AzStorageBlob.

Podrobnější diskuzi a pokyny k přesunu skriptů AzureRM do Az a informace o zásadních změnách 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

  • Platné: Tento problém se vztahuje na verzi 2002 a novější.
  • Příčina: Při instalaci modulu se vyvolá chyba. 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: V téže relaci spusťte následující cmdlet:
    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: Společný

Při instalaci modulu Az je chybně vyvolána chyba, že je vyžadováno oprávnění správce.

  • Platné: Tento problém se vztahuje na verzi 2002 a novější.
  • Příčina: Při instalaci modulu z vyvýšeného příkazového řádku se vyvolá chyba. Zpráva o chybě uvádí, Administrator rights required.
  • Náprava: Zavřete relaci a spusťte novou relaci PowerShellu s vyššími oprávněními. Ujistěte se, že neexistuje existující Az. Modul účtů načtený v relaci.
  • Výskyt: Společný

Cmdlet New-AzVmss selže při použití profilu 2020-09-01-hybrid

  • Relevantní: Tento problém se vztahuje na profil 2020-09-01-hybrid.
  • Příčina: Cmdlet New-AzVmss nefunguje s profilem 2020-09-01-hybrid.
  • Náprava: Použijte šablonu pro účely škálování sady virtuálních počítačů. Ukázkové šablony Resource Manageru služby Azure Stack Hub najdete v úložišti GitHubu AzureStack-QuickStart-Templates/101-vmss-windows-vm. Také najdete pokyny pro práci se správci prostředků služby Azure Stack Hub ve Visual Studio Code.
  • Výskyt: Společný

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

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

  • Příčina: Při spouštění skriptů nebo příkazů PowerShellu pomocí konkrétních modulů služby Azure Stack Hub budete potřebovat, aby byl 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í modul je modul Az PowerShellu, který nahradil modul AzureRM PowerShellu. Pokud se pokusíte spustit skript, který při instalaci modulu Az volá příkazy AzureRM, skript vyvolá chyby. Nebo pokud se pokusíte spustit skript, který při instalaci modulu AzureRM volá příkazy Az, skript vyvolá 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 služby 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: Společný

Chyba vyvolaná New-AzADServicePrincipal a New-AzADApplication

  • Použitelné: Prostředí Služby Azure Stack využívající ID Microsoft Entra.

  • Příčina: Azure Active Directory Graph zavedl zásadní změnu, která omezila IdentifierUri pro aplikace Active Directory na subdomény ověřené domény v adresáři. Před změnou se toto omezení vynutilo jenom pro aplikace s více tenanty. Toto omezení platí i pro 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 instance, který je subdoménou tenanta adresáře. Pokud je například adresář contoso.onmicrosoft.com, musí být instanční jméno služby ve tvaru <foo>.contoso.onmicrosoft.com. Použijte následující cmdlet:

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

      Další informace o identitě a používání principálů služeb se službou Azure Stack Hub najdete v tématu Přehled zprostředkovatelů identity pro službu Azure Stack Hub.

    • Vytvořte aplikaci Microsoft Entra poskytující platnou IdentifierUri a potom pomocí následujícího cmdletu vytvořte principál služby spojený s aplikací:

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

Chyba: Selhání ověřování SharedTokenCacheCredential

  • Tento problém se týká všech podporovaných verzí.
  • Příčina: Chyba SharedTokenCacheCredential selhala, došlo k chybě, pokud je při instalaci více verzí AzAccounts s modulem PowerShellu služby Azure Stack Hub verze 2.1.1.
  • Náprava: Odeberte všechny verze AzAccounts a nainstalujte pouze podporované azaccounts verze 2.2.8.
  • Výskyt: Společný

Další kroky