Installare il modulo AzureRM di PowerShell per hub di Azure Stack

Azure PowerShell Azure Resource Manager (AzureRM) fornisce un set di cmdlet che usano il modello Azure Resource Manager per la gestione delle hub di Azure Stack risorse.

Importante

È stata raggiunta una pagina Web per una versione non aggiornata di hub di Azure Stack PowerShell. Tutte le versioni del modulo powerShell Azure Resource Manager (AzureRM) non sono aggiornate, ma non sono supportate. I moduli AzureRM non verranno più aggiornati nelle build hub di Azure Stack future. I moduli Az verranno usati per le compilazioni 2002 e versioni successive. Il profilo ibrido 2020-09-01 non è supportato per i moduli AzureRM.

Il modulo Az PowerShell è ora il modulo di PowerShell consigliato per l'interazione con Azure e hub di Azure Stack. Per iniziare a usare il modulo Az PowerShell, vedere Installare il modulo di anteprima Az di PowerShell per hub di Azure Stack. Per informazioni su come eseguire la migrazione al modulo Az PowerShell. vedere Eseguire la migrazione da AzureRM Azure PowerShell Az in hub di Azure Stack. Per informazioni dettagliate sull'aumento delle funzionalità dei moduli Az, adottati in Azure globale, vedere Introduzione al modulo Azure Az PowerShell.

È anche necessario usare i profili API per specificare gli endpoint compatibili per i provider hub di Azure Stack di risorse.

I profili API consentono di gestire le differenze di versione tra Azure e hub di Azure Stack. Un profilo di versione dell'API è un set di Azure Resource Manager di PowerShell con versioni specifiche dell'API. Ogni piattaforma cloud ha un set di profili di versione api supportati. Ad esempio, hub di Azure Stack una versione del profilo specifica, ad esempio 2019-03-01-hybrid. Quando si installa un profilo, vengono installati Azure Resource Manager moduli di PowerShell che corrispondono al profilo specificato.

È possibile installare hub di Azure Stack moduli di PowerShell compatibili in scenari connessi a Internet, parzialmente connessi o disconnessi. Questo articolo illustra le istruzioni dettagliate per questi scenari.

È anche possibile eseguire i moduli Azure Resource Manager per hub di Azure Stack in un contenitore Docker. Per istruzioni, vedere Usare Docker per eseguire PowerShell per hub di Azure Stack.

1. Verificare i prerequisiti

Prima di iniziare a usare hub di Azure Stack e il modulo powershell Azure Resource Manager, è necessario avere i prerequisiti seguenti:

  • PowerShell versione 5.1
    Per controllare la versione, eseguire $PSVersionTable.PSVersion e confrontare la versione principale. Se PowerShell 5.1 non è installato, seguire l'Windows PowerShell.

    Nota

    PowerShell 5.1 richiede un Windows computer.

  • Eseguire PowerShell in un prompt dei comandi con privilegi elevati.

  • PowerShell Gallery accesso
    È necessario accedere alla PowerShell Gallery. La raccolta è il repository centrale per il contenuto di PowerShell. Il modulo PowerShellGet contiene cmdlet per l'individuazione, l'installazione, l'aggiornamento e la pubblicazione di elementi di PowerShell. Esempi di questi elementi sono i moduli, le risorse DSC, le funzionalità del ruolo e gli script PowerShell Gallery e altri repository privati. Se si usa PowerShell in uno scenario disconnesso, è necessario recuperare le risorse da un computer con una connessione a Internet e archiviarle in un percorso accessibile al computer disconnesso.

Verificare se PSGallery è registrato come repository.

Nota

Questo passaggio richiede l'accesso a Internet.

Aprire un prompt di PowerShell con privilegi elevati ed eseguire i cmdlet seguenti:

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

Se il repository non è registrato, aprire una sessione di PowerShell con privilegi elevati ed eseguire il comando seguente:

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

3. Disinstallare le versioni esistenti dei moduli hub di Azure Stack PowerShell

Prima di installare la versione richiesta, assicurarsi di disinstallare tutti i moduli hub di Azure Stack Azure Resource Manager PowerShell. Disinstallare i moduli usando uno dei due metodi seguenti:

  1. Per disinstallare i moduli Azure Resource Manager e Az PowerShell esistenti, chiudere tutte le sessioni di PowerShell attive ed eseguire i cmdlet seguenti:

    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 si verifica un errore, ad esempio "Il modulo è già in uso", chiudere le sessioni di PowerShell che usano i moduli ed eseguire di nuovo lo script precedente.

  2. Eliminare tutte le cartelle che iniziano con Azureo Azs.Az dalle cartelle C:\Program Files\WindowsPowerShell\Modules e C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules . L'eliminazione di queste cartelle rimuove tutti i moduli di PowerShell esistenti.

4. Connesso: installare PowerShell per hub di Azure Stack con connettività Internet

Il profilo della versione dell'API hub di Azure Stack moduli di PowerShell necessari dipenderà dalla versione hub di Azure Stack in esecuzione.

Installare hub di Azure Stack PowerShell

Eseguire lo script di PowerShell seguente per installare questi moduli nella workstation di sviluppo:

Per hub di Azure Stack 2002 o versione successiva:

È possibile usare moduli AzureRm utente o moduli di anteprima Az. L'uso dei moduli Az richiede hub di Azure Stack 2002 o versione successiva.

Per usare i moduli di anteprima di Az, seguire le istruzioni in Installare il modulo Az di 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 

Per hub di Azure Stack 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

Nota

  • hub di Azure Stack versione 1.8.0 del modulo è una versione di modifica di rilievo. Per informazioni dettagliate , vedere la nota sulla versione.

Per hub di Azure Stack 1908 o versioni precedenti:

# 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

Nota

Il hub di Azure Stack versione 1.7.2 del modulo è una versione di modifica di rilievo. Per eseguire la migrazione da hub di Azure Stack 1.6.0, vedere la guida alla migrazione.

Verificare l'installazione di PowerShell

Confermare l'installazione eseguendo il comando seguente:

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

Se l'installazione ha esito positivo, AzureRm i moduli e AzureStack vengono visualizzati nell'output.

5. Disconnesso: installare PowerShell senza una connessione Internet

In uno scenario disconnesso si scaricano prima i moduli di PowerShell in un computer con connettività Internet. Quindi, vengono trasferiti nel Azure Stack Development Kit (ASDK) per l'installazione.

Accedere a un computer con connettività Internet e usare gli script seguenti per scaricare i pacchetti Azure Resource Manager e hub di Azure Stack, a seconda della versione di hub di Azure Stack.

L'installazione include cinque passaggi:

  1. Installare hub di Azure Stack PowerShell in un computer connesso.
  2. Abilitare funzionalità di archiviazione aggiuntive.
  3. Trasporto dei pacchetti di PowerShell nella workstation disconnessa.
  4. Avviare manualmente il NuGet nella workstation disconnessa.
  5. Confermare l'installazione di PowerShell.

Installare hub di Azure Stack PowerShell

hub di Azure Stack 2002 o versione successiva.

È possibile usare i moduli Azure Resource Manager o Az preview. Per i moduli Az, vedere le istruzioni in Installare il modulo Az di 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

hub di Azure Stack 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

Nota

hub di Azure Stack versione 1.8.0 del modulo è una versione di modifica di rilievo. Per informazioni dettagliate , vedere la nota sulla versione.

Per hub di Azure Stack 1908 o versioni precedenti:

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

Nota

Il hub di Azure Stack versione 1.7.1 del modulo è una modifica di rilievo. Per eseguire la migrazione da hub di Azure Stack 1.6.0, vedere la guida alla migrazione.

Nota

Nei computer senza connessione Internet è consigliabile eseguire il cmdlet seguente per disabilitare la raccolta dei dati di telemetria. È possibile che si verifichi una riduzione delle prestazioni dei cmdlet senza disabilitare la raccolta dei dati di telemetria. Questo è applicabile solo per i computer senza connessioni Internet

Disable-AzureRmDataCollection

Aggiungere i pacchetti alla workstation

  1. Copiare i pacchetti scaricati in un dispositivo USB.

  2. Accedere alla workstation disconnessa e copiare i pacchetti dal dispositivo USB in una posizione nella workstation.

  3. Avviare manualmente il provider NuGet nella workstation disconnessa. Per istruzioni, vedere Bootstrap manuale del provider NuGet in un computer non connesso a Internet.

  4. Registrare questo percorso come repository predefinito e installare il Azure Resource Manager e i AzureStack moduli da questo repository:

    # 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
    

Verificare l'installazione di PowerShell

Confermare l'installazione eseguendo il comando seguente:

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

6. Configurare PowerShell per l'uso di un server proxy

Negli scenari che richiedono un server proxy per accedere a Internet, è prima di tutto necessario configurare PowerShell per l'uso di un server proxy esistente:

  1. Apri un prompt di PowerShell con privilegi elevati.

  2. Eseguire i comandi seguenti:

    #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 noto

Errore di get_SerializationSettings metodo

  • Causa: il modulo Az di PowerShell e i moduli Azure Resource Manager PowerShell non sono compatibili.

    L'errore seguente indica che i Azure Resource Manager e i moduli Az vengono caricati nella stessa sessione:

    >  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.
    
  • Correzione: disinstallare i moduli in conflitto.

    Se si vuole usare i moduli Azure Resource Manager, disinstallare i moduli Az. Oppure disinstallare il Azure Resource Manager se si vuole usare i moduli Az. Chiudere la sessione di PowerShell e disinstallare i moduli Az Azure Resource Manager.

    Per istruzioni, vedere Disinstallare le versioni esistenti dei hub di Azure Stack PowerShell.

Errore generato con NewAzureRMADServicePrincipal e NewAzureRMAdApplication

  • Applicabile: Azure Stack con Azure Active Directory (Azure AD).

  • Causa: Azure Active Directory Graph è IdentifierUri stata introdotta una modifica di rilievo per limitare le applicazioni Active Directory ai sottodomini di un dominio verificato nella directory. Prima della modifica, questa restrizione era applicata solo per le app multi-tenant. Questa restrizione si applica ora anche alle app a tenant singolo. La modifica restituirà l'errore seguente: Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running.

  • Correzione: è possibile aggirare questa restrizione in due modi.

    • È necessario usare un nome di entità servizio che sia un sottodominio del tenant della directory. Ad esempio, se la directory è contoso.onmicrosoft.com, il nome dell'entità servizio deve essere nel formato <foo>.contoso.onmicrosoft.com. Usare il cmdlet seguente:

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

      Per altre informazioni sull'identità e sull'uso di entità servizio con hub di Azure Stack, vedere Panoramica dei provider di identità per hub di Azure Stack.

    • Creare l Azure AD app specificando un valido e IdentifierUri quindi creare l'entità servizio che associa l'app usando il cmdlet seguente:

      $app=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Occorrenza: Comune

Passaggi successivi