Nainstalovat modul PowerShellu AzureRM pro centrum Azure Stack

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

Důležité

Dosáhli jste webové stránky pro zastaralou verzi centra Azure Stack PowerShell. Všechny verze modulu Azure Resource Manager (AzureRM) PowerShell jsou zastaralé, ale nejsou podporovány. Moduly AzureRM již nebudou aktualizovány v budoucích Azure Stack sestaveních centra. Pro sestavení 2002 a novějších se použijí AZ Modules. 2020-09-01 – hybridní profil není pro moduly AzureRM podporovaný.

Modul AZ PowerShell je teď doporučeným modulem PowerShellu pro interakci s Azure a centra Azure Stack. Pokud chcete začít pracovat s modulem AZ PowerShell, přečtěte si téma instalace PowerShellu AZ Preview Module for Azure Stack hub. Zjistěte, jak migrovat do modulu AZ PowerShell. Azure PowerShell Az in Azure Stack Hub, najdete v tématu migrace z AzureRM. Podrobnosti o zvýšených funkcích funkce AZ modules, které byly přijaty v rámci globálního prostředí Azure, najdete v tématu představení modulu Azure AZ PowerShell.

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

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 2019-03-01-Hybrid. Když nainstalujete profil, nainstalují se moduly Azure Resource Manager PowerShellu, které odpovídají zadanému profilu.

Můžete nainstalovat moduly prostředí PowerShell kompatibilní s centrem Azure Stack 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.

Můžete také spustit moduly Azure Resource Manager pro Azure Stack centrum v kontejneru Docker. Pokyny najdete v tématu použití Docker ke spuštění PowerShellu pro Azure Stack hub.

1. ověřte požadavky.

Než začnete s Azure Stack hub a modulem Azure Resource Manager PowerShellu, musíte mít následující požadavky:

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

    Poznámka

    prostředí PowerShell 5,1 vyžaduje Windows počítač.

  • Spusťte PowerShell v 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ů prostředí PowerShell. 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ém scénáři, je nutné načíst prostředky z počítače s připojením k Internetu a uložit je do umístění, které je k dispozici pro váš odpojený počítač.

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

Poznámka

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

Otevřete příkazový řádek prostředí PowerShell 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. 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 PowerShellu. 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 PowerShellu pro centrum Azure Stack s připojením k Internetu

Profil verze rozhraní API a moduly Azure Stack centra prostředí PowerShell, které požadujete, budou záviset na verzi Azure Stack centra, kterou používáte.

Nainstalovat Azure Stack centra PowerShell

Spusťte následující skript PowerShellu, který nainstaluje tyto moduly na svou vývojovou pracovní stanici:

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

Můžete použít buď moduly AzureRm uživatelů, nebo AZ Preview Module. Použití modulů AZ modules vyžaduje Azure Stack hub 2002 nebo novější.

Pokud chcete použít moduly AZ Preview, postupujte podle pokynů v tématu instalace PowerShellu AZ Module.

# 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

  • 1.8.0 centra verze je zásadní verze změny. Azure Stack Podrobnosti najdete v poznámkách 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

1.7.2 modul centra Azure Stack pro správu verze je zásadní verzí změny. Pokud chcete provést migraci z centra Azure Stack 1.6.0, přečtěte si příručku k migraci.

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á, zobrazí se AzureRmAzureStack ve výstupu moduly a.

5. odpojeno: instalace PowerShellu 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 2002 nebo novější.

Můžete buď použít Azure Resource Manager nebo AZ Preview Module. Informace o AZ modules najdete v tématu pokyny v tématu install PowerShell AZ Module.


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

1.8.0 centra verze je zásadní verze změny. Azure Stack Podrobnosti najdete v poznámkách 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

1.7.1 modul centra Azure Stack je zásadní změnou. Pokud chcete provést migraci z centra Azure Stack 1.6.0, přečtěte si příručku k migraci.

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-AzureRmDataCollection

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 Azure Resource Manager a AzureStack moduly 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"
    
    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 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
    

Známý problém

Chyba get_SerializationSettings metody

  • Příčina: prostředí PowerShell AZ Module a PowerShell Azure Resource Manager moduly nejsou kompatibilní.

    Následující chyba znamená, že moduly Azure Resource Manager a AZ modules jsou načteny do stejné relace:

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

    Chcete-li použít moduly Azure Resource Manager, odinstalujte modul AZ Modules. Nebo odinstalujte Azure Resource Manager, chcete-li použít moduly AZ. Zavřete relaci prostředí PowerShell a odinstalujte moduly AZ nebo Azure Resource Manager.

    Pokyny najdete v tématu odinstalace existujících verzí modulů prostředí PowerShell centra Azure Stack.

Došlo k chybě v NewAzureRMADServicePrincipal a NewAzureRMAdApplication

  • 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 hlavní název 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:

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

Další kroky