Instalace modulu PowerShell AzureRM pro Službu Azure Stack Hub

Azure PowerShell Azure Resource Manager (AzureRM) poskytuje sadu rutin, které ke správě prostředků služby Azure Stack Hub používají model Azure Resource Manager.

Důležité

Dostali jste se na webovou stránku pro zastaralou verzi PowerShellu služby Azure Stack Hub. Všechny verze modulu Azure Resource Manager (AzureRM) PowerShellu jsou zastaralé a nepodporují se. Moduly AzureRM se už nebudou v budoucích buildech Služby Azure Stack Hub aktualizovat. Moduly Az se musí použít pro buildy 2002 a novější. Pro moduly AzureRM se nepodporuje profil 2020-09-01-Hybrid.

Modul Az PowerShell je teď doporučeným modulem PowerShellu pro interakci s Azure a službou Azure Stack Hub. Pokud chcete začít s modulem Az PowerShell, přečtěte si téma Instalace modulu PowerShell Az Preview pro Azure Stack Hub. Informace o migraci na modul Az PowerShell Viz Migrace z AzureRM na Azure PowerShell Az ve službě Azure Stack Hub. Podrobnosti o zvýšené funkčnosti modulů Az, které byly přijaty v rámci globálního Azure, najdete v tématu Představení modulu Azure Az PowerShell.

K určení kompatibilních koncových bodů pro poskytovatele prostředků služby Azure Stack Hub je také potřeba použít profily rozhraní API .

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 2019-03-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.

Moduly Azure Resource Manager 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.

1. Ověření požadavků

Než začnete se službou Azure Stack Hub a modulem PowerShell Azure Resource Manager, musíte mít následující požadavky:

  • PowerShell verze 5.1
    Pokud chcete zkontrolovat verzi, spusťte $PSVersionTable.PSVersion a porovnejte hlavní verzi. Pokud nemáte PowerShell 5.1, postupujte podle Windows PowerShell instalace.

    Poznámka

    PowerShell 5.1 vyžaduje počítač s Windows.

  • Spusťte PowerShell na příkazovém řádku se zvýšenými oprávněními.

  • Galerie prostředí PowerShell přístup
    Potřebujete přístup k Galerie prostředí PowerShell. Galerie je centrální úložiště pro obsah PowerShellu. Modul PowerShellGet obsahuje rutiny pro zjišťování, instalaci, aktualizaci a publikování artefaktů PowerShellu. Příklady těchto artefaktů jsou moduly, prostředky DSC, možnosti rolí a skripty z Galerie prostředí PowerShell a dalších privátních úložišť. Pokud používáte PowerShell v odpojené situaci, musíte načíst prostředky z počítače s připojením k internetu a uložit je do umístění přístupného pro váš odpojený počítač.

Ověřte, jestli je PSGallery zaregistrovaný jako úložiště.

Poznámka

Tento krok vyžaduje přístup k internetu.

Otevřete výzvu PowerShellu se zvýšenými oprávněními a spusťte následující rutiny:

Install-module -Name PowerShellGet -Force
Import-Module -Name PackageManagement -ErrorAction Stop
Get-PSRepository -Name "PSGallery"

Pokud úložiště není zaregistrované, otevřete relaci PowerShellu se zvýšenými oprávněními a spusťte následující příkaz:

Register-PSRepository -Default
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted

3. 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 Stack Hub Azure Resource Manager PowerShellu. 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ě, 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í na Azure, Az nebo Azs. ze C:\Program Files\WindowsPowerShell\Modules složek a C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules . Odstraněním těchto složek odeberete všechny existující moduly PowerShellu.

4. Připojeno: Instalace PowerShellu pro Azure Stack Hub s připojením k internetu

Profil verze rozhraní API a moduly PowerShellu služby Azure Stack Hub, které potřebujete, budou záviset na verzi služby Azure Stack Hub, kterou používáte.

Instalace PowerShellu služby Azure Stack Hub

Spuštěním následujícího skriptu PowerShellu nainstalujte tyto moduly na vývojovou pracovní stanici:

Pro Azure Stack Hub 2002 nebo novější:

Můžete použít buď uživatelské moduly AzureRm, nebo moduly Az Preview. Použití modulů Az vyžaduje Azure Stack Hub 2002 nebo novější.

Pokud chcete použít moduly Az Preview, postupujte podle pokynů v tématu Instalace modulu Az PowerShellu.

# 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 

Pro 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

Poznámka

  • Modul Služby Azure Stack Hub verze 1.8.0 představuje zásadní změnu. Podrobnosti najdete v poznámce k verzi .

Pro Azure Stack Hub 1908 nebo starší:

# 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

Poznámka

Modul Azure Stack Hub verze 1.7.2 představuje zásadní změnu. Pokud chcete migrovat ze služby Azure Stack Hub 1.6.0, projděte si průvodce migrací.

Potvrzení instalace PowerShellu

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

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

Pokud je instalace úspěšná, AzureRm moduly a AzureStack se zobrazí ve výstupu.

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

V odpojené situaci nejprve stáhnete moduly PowerShellu do počítače, který má připojení k internetu. Potom 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 PowerShell služby Azure Stack Hub na připojený počítač.
  2. Povolte další funkce úložiště.
  3. Převezte balíčky PowerShellu na odpojenou pracovní stanici.
  4. Ručně spusťte poskytovatele NuGet na odpojené pracovní stanici.
  5. Potvrďte instalaci PowerShellu.

Instalace PowerShellu služby Azure Stack Hub

Azure Stack Hub 2002 nebo novější.

Můžete použít moduly Azure Resource Manager nebo Az Preview. Informace o modulech Az najdete v tématu Instalace modulu Az PowerShellu.


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

Poznámka

Modul Služby Azure Stack Hub verze 1.8.0 představuje zásadní změnu. Podrobnosti najdete v poznámce k verzi .

Pro Azure Stack Hub 1908 nebo starší:

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

Poznámka

Modul Azure Stack Hub verze 1.7.1 představuje zásadní změnu. Pokud chcete migrovat ze služby Azure Stack Hub 1.6.0, projděte si průvodce migrací.

Poznámka

Na počítačích bez připojení k internetu doporučujeme spustit následující rutinu pro zakázání 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-AzureRmDataCollection

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 z tohoto úložiště azure Resource Manager a AzureStack moduly:

    # 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
    

Potvrzení instalace PowerShellu

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

Get-Module -Name "Azure*" -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
    

Známý problém

Chyba get_SerializationSettings metody

  • Příčina: Modul Az PowerShellu a moduly Azure Resource Manager PowerShellu nejsou kompatibilní.

    Následující chyba značí, že se moduly Azure Resource Manager a Az načítají ve stejné relaci:

    >  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.
    
  • Náprava: Odinstalujte konfliktní moduly.

    Pokud chcete použít moduly Azure Resource Manager, odinstalujte moduly Az. Pokud chcete použít moduly Az, odinstalujte Resource Manager Azure. Zavřete relaci PowerShellu a odinstalujte moduly Az nebo Azure Resource Manager.

    Pokyny najdete v tématu Odinstalace existujících verzí modulů PowerShellu služby Azure Stack Hub.

Došlo k chybě NewAzureRMADServicePrincipal a NewAzureRMAdApplication

  • 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 hlavní název služby, 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:

      NewAzureRMADServicePrincipal -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=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Výskyt: Běžné

Další kroky