Sdílet prostřednictvím


Instalace modulu AzureRM PowerShellu pro Azure Stack Hub

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

Důležité

Dostali jste se na webovou stránku pro zastaralou verzi Azure Stack Hub PowerShellu. Všechny verze modulu PowerShellu Azure Resource Manageru (AzureRM) jsou zastaralé a nejsou podporované. Moduly AzureRM se už nebudou aktualizovat v budoucích buildech služby Azure Stack Hub. Moduly Az se musí používat pro buildy 2002 a novější. Moduly AzureRM z 9. 9. 2020 se nepodporují.

Modul Az PowerShell je teď doporučeným modulem PowerShellu pro interakci s Azure a Azure Stack Hubem. Pokud chcete začít s modulem Az PowerShell, přečtěte si téma Instalace modulu Az Preview PowerShellu pro Azure Stack Hub. Informace o migraci do modulu Az PowerShell. Viz Migrace z AzureRM na Az Azure PowerShellu 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 Úvod k modulu Azure Az PowerShellu.

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 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 2019-03-01-hybrid. Při instalaci profilu se nainstalují moduly PowerShellu Azure Resource Manageru, které odpovídají zadanému profilu.

Kompatibilní moduly PowerShellu služby Azure Stack Hub můžete nainstalovat do scénářů 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 Manageru 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 Azure Stack Hub.

1. Ověření požadavků

Než začnete s Azure Stack Hubem a modulem Azure Resource Manageru v PowerShellu, 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 pokynů v části Instalace Windows PowerShellu.

    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.

  • přístup k Galerie prostředí PowerShell
    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 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 příkazový řádek 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 Manageru PowerShellu. Odinstalujte moduly pomocí jedné z následujících dvou metod:

  1. 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 se zobrazí chyba typu Modul je již používán, zavřete relace PowerShellu, které používají moduly, a spusťte výše uvedený skript znovu.

  2. Odstraňte všechny složky, které začínají Azure, Az nebo Azs. ze C:\Program Files\WindowsPowerShell\Modules složek.C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules Odstranění těchto složek odebere 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é budete potřebovat, budou záviset na verzi služby Azure Stack Hub, kterou používáte.

Instalace PowerShellu pro 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žívat 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 Azure Stack Hub verze 1.8.0 je vydání zásadní změny. 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 je vydání zásadní změny. 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 instalace proběhne úspěšně, AzureRm zobrazí se ve výstupu moduly AzureStack .

5. Odpojeno: Instalace PowerShellu 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ě spusťte zprostředkovatele NuGet na odpojené pracovní stanici.
  5. Potvrďte instalaci PowerShellu.

Instalace PowerShellu pro Azure Stack Hub

Azure Stack Hub 2002 nebo novější.

Můžete použít moduly Azure Resource Manageru nebo Az Preview. Informace o modulech Az najdete v pokynech k instalaci 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 Azure Stack Hub verze 1.8.0 je vydání zásadní změny. 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 je zásadní změnou. 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ůžete zaznamenat 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ů do 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ě spusťte 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 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é 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
    

Známý problém

Chyba get_SerializationSettings metody

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

    Následující chyba značí, že moduly Azure Resource Manageru a moduly Az se 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 Manageru, odinstalujte moduly Az. Nebo odinstalujte Azure Resource Manager, pokud chcete použít moduly Az. 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.

Chyba vyvolaná rutinou NewAzureRMADServicePrincipal a NewAzureRMAdApplication

  • 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 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 hlavní název služby, který je subdoménou tenanta adresáře. Pokud je contoso.onmicrosoft.comadresář například , musí být hlavní název služby ve formě <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ů ve službě Azure Stack Hub najdete v tématu Přehled zprostředkovatelů identity pro Azure Stack Hub.

    • Vytvořte aplikaci Microsoft Entra, která poskytuje platnou IdentifierUri aplikaci, a pak vytvořte instanční objekt asociující aplikaci pomocí následující rutiny:

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

Další kroky