Installare il modulo AzureRM di PowerShell per l'hub di Azure Stack

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

Importante

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

Il modulo Az PowerShell è ora il modulo PowerShell consigliato per interagire con Azure e l'hub di Azure Stack. Per iniziare a usare il modulo Az PowerShell, vedere Installare il modulo di anteprima Az di PowerShell per l'hub di Azure Stack. Per informazioni su come eseguire la migrazione al modulo Az PowerShell. vedere Eseguire la migrazione da AzureRM a Azure PowerShell Az nell'hub di Azure Stack. Per informazioni dettagliate sull'aumento delle funzionalità dei moduli Az, che sono stati 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 di risorse dell'hub di Azure Stack.

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

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

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

1. Verificare i prerequisiti

Prima di iniziare a usare l'hub di Azure Stack e il modulo Di Azure Resource Manager di PowerShell, è necessario disporre dei prerequisiti seguenti:

  • PowerShell versione 5.1
    Per controllare la versione, eseguire $PSVersionTable.PSVersion e confrontare la versione principale . Se powerShell 5.1 non è disponibile, seguire la Windows PowerShell Installazione.

    Nota

    PowerShell 5.1 richiede un computer Windows.

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

  • accesso PowerShell Gallery
    È necessario accedere al PowerShell Gallery. La raccolta è il repository centrale per il contenuto di PowerShell. Il modulo PowerShellGet contiene i cmdlet per l'individuazione, l'installazione, l'aggiornamento e la pubblicazione di artefatti di PowerShell. Esempi di questi artefatti sono moduli, risorse DSC, funzionalità del ruolo e script del 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 una posizione 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 di PowerShell dell'hub di Azure Stack

Prima di installare la versione richiesta, assicurarsi di disinstallare eventuali moduli di Azure Stack Hub di Azure Resource Manager PowerShell installati in precedenza. Disinstallare i moduli usando uno dei due metodi seguenti:

  1. Per disinstallare i moduli di 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 nuovamente lo script precedente.

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

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

Il profilo della versione dell'API e i moduli di PowerShell dell'hub di Azure Stack necessari dipenderanno dalla versione dell'hub di Azure Stack in esecuzione.

Installare PowerShell dell'hub di Azure Stack

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

Per l'hub di Azure Stack 2002 o versione successiva:

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

Per usare i moduli di anteprima az, seguire le istruzioni riportate 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 l'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

  • Il modulo hub di Azure Stack versione 1.8.0 è una versione di modifica che causa un'interruzione. Per informazioni dettagliate, vedere la nota sulla versione .

Per l'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 modulo hub di Azure Stack versione 1.7.2 è una versione di modifica che causa un'interruzione. Per eseguire la migrazione dall'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, i AzureRm moduli e AzureStack vengono visualizzati nell'output.

5. Disconnesso: installare PowerShell senza connessione Internet

In uno scenario disconnesso, scaricare prima i moduli di PowerShell in un computer con connettività Internet. Quindi, è possibile trasferirli in Azure Stack Development Kit (ASDK) per l'installazione.

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

L'installazione ha cinque passaggi:

  1. Installare PowerShell dell'hub di Azure Stack in un computer connesso.
  2. Abilitare funzionalità di archiviazione aggiuntive.
  3. Trasportare i pacchetti di PowerShell nella workstation disconnessa.
  4. Eseguire manualmente il bootstrap del provider NuGet nella workstation disconnessa.
  5. Confermare l'installazione di PowerShell.

Installare PowerShell dell'hub di Azure Stack

Hub di Azure Stack 2002 o versione successiva.

È possibile usare i moduli di anteprima di Azure Resource Manager o Az. 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

Il modulo hub di Azure Stack versione 1.8.0 è una versione di modifica che causa un'interruzione. Per informazioni dettagliate, vedere la nota sulla versione .

Per l'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 modulo hub di Azure Stack versione 1.7.1 è una modifica che causa un'interruzione. Per eseguire la migrazione dall'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. Eseguire manualmente il bootstrap del provider NuGet nella workstation disconnessa. Per istruzioni, vedere Bootstrap manuale del provider NuGet in un computer che non è connesso a Internet.

  4. Registrare questo percorso come repository predefinito e installare i moduli e AzureStack i Resource Manager di Azure 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 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 di Azure Resource Manager di PowerShell non sono compatibili.

    L'errore seguente indica che i moduli di Azure Resource Manager e 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.

    Per usare i moduli di Azure Resource Manager, disinstallare i moduli Az. In alternativa, disinstallare il Resource Manager di Azure se si vuole usare i moduli Az. Chiudere la sessione di PowerShell e disinstallare i moduli Az o Azure Resource Manager.

    È possibile trovare istruzioni in Disinstallare le versioni esistenti dei moduli di PowerShell dell'hub di Azure Stack.

Errore generato con NewAzureRMADServicePrincipal e NewAzureRMAdApplication

  • Applicabile: ambienti Di Azure Stack che usano Microsoft Entra ID.

  • Causa: Azure Active Directory Graph ha introdotto una modifica che causa un'interruzione per limitare l'impostazione IdentifierUri per le applicazioni Active Directory come sottodomini di un dominio verificato nella directory. Prima della modifica, questa restrizione è stata applicata solo per le app multi-tenant. Questa restrizione si applica ora anche alle app a tenant singolo. La modifica genererà 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 è un sottodominio del tenant della directory. Ad esempio, se la directory è contoso.onmicrosoft.com, il nome dell'entità servizio deve essere di tipo <foo>.contoso.onmicrosoft.com. Usare il cmdlet seguente:

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

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

    • Creare l'app Microsoft Entra fornendo un'entità servizio valida IdentifierUri e quindi creare l'entità servizio associando 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