Installare il modulo AzureRM di PowerShell per l'hub di Azure Stack
Azure PowerShell Azure Resource Manager (AzureRM) offre 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 l'interazione 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 ad 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 PowerShell di Azure Resource Manager 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 PowerShell di Azure Resource Manager 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 l'argomento Relativo all'installazione di Windows PowerShell.Nota
PowerShell 5.1 richiede un computer Windows.
Eseguire PowerShell in un prompt dei comandi con privilegi elevati.
Accesso a PowerShell Gallery
È necessario accedere a 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 di 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.
2. Convalidare l'accessibilità di PowerShell Gallery
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 powerShell dell'hub di Azure Stack
Prima di installare la versione richiesta, assicurarsi di disinstallare tutti i moduli powerShell dell'hub di Azure Stack installati in precedenza. Disinstallare i moduli usando uno dei due metodi seguenti:
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 di nuovo lo script precedente.
Eliminare tutte le cartelle che iniziano con
Azure
oAzs.
Az
dalleC:\Program Files\WindowsPowerShell\Modules
cartelle eC:\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 per l'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 moduli AzureRm utente o 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
Verificare 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 ad 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 prevede cinque passaggi:
- Installare PowerShell dell'hub di Azure Stack in un computer connesso.
- Abilitare funzionalità di archiviazione aggiuntive.
- Trasferire i pacchetti di PowerShell nella workstation disconnessa.
- Eseguire manualmente il bootstrap del provider NuGet nella workstation disconnessa.
- Confermare l'installazione di PowerShell.
Installare PowerShell per l'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
Copiare i pacchetti scaricati in un dispositivo USB.
Accedere alla workstation disconnessa e copiare i pacchetti dal dispositivo USB in un percorso nella workstation.
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.
Registrare questo percorso come repository predefinito e installare Azure Resource Manager e
AzureStack
i 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
Verificare 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:
Apri un prompt di PowerShell con privilegi elevati.
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 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.
Per usare i moduli di Azure Resource Manager, disinstallare i moduli Az. In alternativa, disinstallare Azure Resource Manager se si vogliono 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 la
IdentifierUri
proprietà 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. Ora questa restrizione si applica 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 dell'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 di 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 valore valido
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