Instalar o módulo AzureRM do PowerShell para Azure Stack Hub

Azure PowerShell Azure Resource Manager (AzureRM) fornece um conjunto de cmdlets que usam o modelo Azure Resource Manager para gerenciar seus Azure Stack Hub recursos.

Importante

Você chegou a uma página da Web para uma versão desatualizada do Azure Stack Hub PowerShell. Todas as versões do Azure Resource Manager powerShell (AzureRM) estão desatualizadas, mas não estão sem suporte. Os módulos do AzureRM não serão mais atualizados em builds Azure Stack Hub futuros. Os módulos Az serão usados para builds 2002 e posteriores. Não há suporte para o perfil híbrido 2020-09-01 para módulos do AzureRM.

O módulo Az PowerShell agora é o módulo recomendado do PowerShell para interagir com o Azure e Azure Stack Hub. Para começar a trabalhar com o módulo Az PowerShell, confira Instalar o módulo de visualização do PowerShell Az para Azure Stack Hub. Para saber como migrar para o módulo do Az PowerShell. consulte Migrar do AzureRM para Azure PowerShell Az no Azure Stack Hub. Para obter detalhes sobre o aumento da funcionalidade dos módulos Az, que foram adotados no Azure global, consulte Introdução ao módulo do Azure Az PowerShell.

Você também precisa usar perfis de API para especificar os pontos de extremidade compatíveis para os provedores Azure Stack Hub recursos.

Os perfis de API fornecem uma maneira de gerenciar diferenças de versão entre o Azure e o Azure Stack Hub. Um perfil de versão de API é um conjunto de Azure Resource Manager do PowerShell com versões de API específicas. Cada plataforma de nuvem tem um conjunto de perfis de versão de API com suporte. Por exemplo, Azure Stack Hub dá suporte a uma versão de perfil específica, como 2019-03-01-hybrid. Quando você instala um perfil, os Azure Resource Manager módulos do PowerShell que correspondem ao perfil especificado são instalados.

Você pode instalar Azure Stack Hub módulos compatíveis do PowerShell em cenários conectados à Internet, parcialmente conectados ou desconectados. Este artigo explica as instruções detalhadas para esses cenários.

Você também pode executar os módulos Azure Resource Manager para Azure Stack Hub em um contêiner do Docker. Para obter instruções, consulte Usar o Docker para executar o PowerShell para Azure Stack Hub.

1. Verificar os pré-requisitos

Antes de começar a Azure Stack Hub módulo de Azure Resource Manager PowerShell, você deve ter os seguintes pré-requisitos:

  • PowerShell versão 5.1
    Para verificar sua versão, execute $PSVersionTable.PSVersion e compare a versão Principal. Se você não tiver o PowerShell 5.1, siga a guia Windows PowerShell.

    Observação

    O PowerShell 5.1 requer um Windows computador.

  • Execute o PowerShell em um prompt de comando com elevação.

  • Galeria do PowerShell acesso
    Você precisa acessar o Galeria do PowerShell. A galeria é o repositório central para conteúdo do PowerShell. O módulo PowerShellGet contém cmdlets para descobrir, instalar, atualizar e publicar artefatos do PowerShell. Exemplos desses artefatos são módulos, recursos de DSC, recursos de função e scripts do Galeria do PowerShell e outros repositórios privados. Se você estiver usando o PowerShell em um cenário desconectado, deverá recuperar recursos de um computador com uma conexão com a Internet e armazená-los em um local acessível ao computador desconectado.

Valide se PSGallery está registrado como um repositório.

Observação

Esta etapa requer acesso à Internet.

Abra um prompt do PowerShell com elevação e execute os seguintes cmdlets:

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

Se o repositório não estiver registrado, abra uma sessão elevada do PowerShell e execute o seguinte comando:

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

3. Desinstalar as versões existentes dos módulos Azure Stack Hub PowerShell

Antes de instalar a versão necessária, desinstale todos os módulos do PowerShell Azure Stack Hub Azure Resource Manager instalados anteriormente. Desinstale os módulos usando um dos dois métodos a seguir:

  1. Para desinstalar os módulos Azure Resource Manager e Az PowerShell existentes, feche todas as sessões ativas do PowerShell e execute os seguintes cmdlets:

    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
    

    Se você tiver um erro como "O módulo já está em uso", feche as sessões do PowerShell que estão usando os módulos e rerun o script acima.

  2. Exclua todas as pastas que começam com Azureou Azs.Az das C:\Program Files\WindowsPowerShell\Modules pastas C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules e . A exclusão dessas pastas remove todos os módulos existentes do PowerShell.

4. Conectado: Instalar o PowerShell para Azure Stack Hub com conectividade com a Internet

O perfil de versão da API e Azure Stack Hub módulos do PowerShell necessários dependerão da versão Azure Stack Hub que você está executando.

Instalar Azure Stack Hub PowerShell

Execute o seguinte script do PowerShell para instalar esses módulos em sua estação de trabalho de desenvolvimento:

Por Azure Stack Hub 2002 ou posterior:

Você pode usar módulos do AzureRm do usuário ou módulos de visualização do Az. O uso dos módulos Az requer Azure Stack Hub 2002 ou posterior.

Para usar os módulos de visualização do Az, siga as instruções em Instalar o módulo Az do PowerShell.

# 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 

Por 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

Observação

  • Azure Stack Hub módulo versão 1.8.0 é uma versão de alteração da última vez. Consulte a nota de versão para obter detalhes.

Por Azure Stack Hub 1908 ou anterior:

# 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

Observação

O Azure Stack Hub versão 1.7.2 é uma versão de alteração da última vez. Para migrar do Azure Stack Hub 1.6.0, consulte o guia de migração.

Confirmar a instalação do PowerShell

Confirme a instalação executando o seguinte comando:

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

Se a instalação for bem-sucedida, AzureRm os módulos AzureStack e serão exibidos na saída.

5. Desconectado: Instalar o PowerShell sem uma conexão com a Internet

Em um cenário desconectado, primeiro você baixa os módulos do PowerShell para um computador que tenha conectividade com a Internet. Em seguida, você os transfere para o Kit de Desenvolvimento do Azure Stack (ASDK) para instalação.

Entre em um computador com conectividade com a Internet e use os scripts a seguir para baixar os pacotes Azure Resource Manager e Azure Stack Hub, dependendo da sua versão do Azure Stack Hub.

A instalação tem cinco etapas:

  1. Instale Azure Stack Hub PowerShell em um computador conectado.
  2. Habilitar recursos de armazenamento adicionais.
  3. Transporte os pacotes do PowerShell para sua estação de trabalho desconectada.
  4. Inicializar manualmente o provedor NuGet na estação de trabalho desconectada.
  5. Confirme a instalação do PowerShell.

Instalar Azure Stack Hub PowerShell

Azure Stack Hub 2002 ou posterior.

Você pode usar os módulos Azure Resource Manager versão prévia do Az ou do Az. Para módulos Az, confira instruções em Instalar o módulo Az do PowerShell.


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

Observação

Azure Stack Hub módulo versão 1.8.0 é uma versão de alteração da última vez. Consulte a nota de versão para obter detalhes.

Por Azure Stack Hub 1908 ou anterior:

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

Observação

O Azure Stack Hub versão 1.7.1 do módulo é uma alteração da quebra. Para migrar do Azure Stack Hub 1.6.0, consulte o guia de migração.

Observação

Em máquinas sem uma conexão com a Internet, é recomendável executar o cmdlet a seguir para desabilitar a coleta de dados de telemetria. Você pode enfrentar uma degradação de desempenho dos cmdlets sem desabilitar a coleta de dados de telemetria. Isso é aplicável somente para os máquinas sem conexões com a Internet

Disable-AzureRmDataCollection

Adicionar seus pacotes à estação de trabalho

  1. Copie os pacotes baixados para um dispositivo USB.

  2. Entre na estação de trabalho desconectada e copie os pacotes do dispositivo USB para um local na estação de trabalho.

  3. Inicializar manualmente o provedor NuGet na estação de trabalho desconectada. Para obter instruções, consulte Inicializando manualmente o provedor NuGet em um computador que não está conectado à Internet.

  4. Registre esse local como o repositório padrão e instale os Azure Resource Manager e AzureStack os módulos deste repositório:

    # 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
    

Confirmar a instalação do PowerShell

Confirme a instalação executando o seguinte comando:

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

6. Configurar o PowerShell para usar um servidor proxy

Em cenários que exigem que um servidor proxy acesse a Internet, primeiro configure o PowerShell para usar um servidor proxy existente:

  1. Abra um prompt do PowerShell elevado.

  2. Execute os seguintes comandos:

    #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
    

Problema conhecido

Erro get_SerializationSettings método

  • Causa: o módulo Az do PowerShell e os módulos Azure Resource Manager PowerShell não são compatíveis.

    O erro a seguir indica que os módulos Azure Resource Manager e módulos Az são carregados na mesma sessão:

    >  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.
    
  • Correção: desinstale os módulos conflitantes.

    Se você quiser usar os módulos Azure Resource Manager, desinstale os módulos Az. Ou desinstale o Azure Resource Manager se você quiser usar os módulos Az. Feche a sessão do PowerShell e desinstale os módulos Az ou Azure Resource Manager.

    Você pode encontrar instruções em Desinstalar versões existentes dos módulos Azure Stack Hub PowerShell.

Erro lançado com NewAzureUNDDServicePrincipal e NewAzureRMAdApplication

  • Aplicável: Azure Stack ambientes usando Azure Active Directory (Azure AD).

  • Causa: Azure Active Directory Graph uma IdentifierUri alteração da última vez para restringir os aplicativos do Active Directory a serem os sub-domínios de um domínio verificado no diretório. Antes da alteração, essa restrição era imposta apenas para os aplicativos multi-locatário. Agora essa restrição também se aplica a aplicativos de locatário único. A alteração resultará no seguinte erro: Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running.

  • Correção: você pode resolver essa restrição de duas maneiras.

    • Você precisará usar um nome de entidade de serviço que seja um subdomínio do locatário do diretório. Por exemplo, se o diretório for contoso.onmicrosoft.com, o nome da entidade de serviço deve ser da forma de <foo>.contoso.onmicrosoft.com. Use o seguinte cmdlet:

      NewAzureRMADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
      

      Para obter mais informações sobre identidade e uso de entidades de serviço com Azure Stack Hub, consulte Visão geral dos provedores de identidade para Azure Stack Hub.

    • Crie o aplicativo do Azure AD fornecendo um válido e, em seguida, crie a IdentifierUri entidade de serviço associando o aplicativo usando o seguinte cmdlet:

      $app=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Ocorrência: comum

Próximas etapas