Installare il modulo Az di PowerShell per l'hub di Azure Stack
Questo articolo illustra come installare i moduli di amministratore dell'hub di Azure Stack compatibili e az Azure PowerShell con PowerShellGet. I moduli Az possono essere installati in piattaforme Windows, macOS e Linux.
È anche possibile eseguire i moduli Az per l'hub di Azure Stack in un contenitore Docker. Per istruzioni, vedere Usare Docker per eseguire PowerShell per l'hub di Azure Stack.
Per installare il modulo Moduli di risorse di PowerShell (AzureRM) per l'hub di Azure Stack, vedere Installare il modulo AzureRM di PowerShell per l'hub di Azure Stack.
Importante
Probabilmente non saranno disponibili nuove versioni del modulo Moduli risorse di Azure. I moduli moduli delle risorse di Azure sono supportati solo per le correzioni critiche. In futuro saranno disponibili solo versioni Az per l'hub di Azure Stack.
È possibile usare i profili API per specificare gli endpoint compatibili per i provider di risorse dell'hub di Azure Stack.
I profili API offrono un modo per 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 API supportati. Ad esempio, l'hub di Azure Stack supporta una versione specifica del profilo, ad esempio 2020-09-01-ibrida. Quando si installa un profilo, vengono installati i moduli di Azure Resource Manager PowerShell corrispondenti al profilo specificato.
È possibile installare moduli 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.
1. Verificare i prerequisiti
I moduli Az sono supportati nell'hub di Azure Stack con l'aggiornamento 2002 o versione successiva e con gli hotfix correnti installati. Per altre informazioni, vedere le note sulla versione dell'hub di Azure Stack .
I moduli Az Azure PowerShell funzionano con PowerShell 5.1 o versione successiva in Windows o PowerShell Core 6.x e versioni successive in tutte le piattaforme. È necessario installare la versione più recente di PowerShell Core disponibile per il sistema operativo. Azure PowerShell non ha altri requisiti quando viene eseguito in PowerShell Core.
Per controllare la versione di PowerShell, eseguire il comando:
$PSVersionTable.PSVersion
Prerequisiti per Windows
Per usare Azure PowerShell in PowerShell 5.1 in Windows:
- Se necessario, eseguire l'aggiornamento a Windows PowerShell 5.1. Se si usa Windows 10, PowerShell 5.1 è già installato.
- Installare .NET Framework 4.7.2 o versioni successive.
- Assicurarsi di avere la versione più recente di PowerShellGet. Eseguire i cmdlet seguenti da un prompt con privilegi elevati:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
powershell -noprofile
$PSVersionTable
Uninstall-Module PowershellGet -AllVersions -Force -Confirm:$false
Get-module PowershellGet
Find-module PowershellGet
Install-Module PowershellGet -MinimumVersion 2.2.3 -Force
2. Prerequisiti per Linux e Mac
È necessario PowerShell Core 6.x o versione successiva. Seguire il collegamento per istruzioni
3. Disinstallare le versioni esistenti dei moduli di PowerShell dell'hub di Azure Stack
Prima di installare la versione richiesta, assicurarsi di disinstallare tutti i moduli di Azure Stack Hub di Azure Stack installati in precedenza Resource Manager o Az PowerShell. 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 nuovamente lo script precedente.
Se il Uninstall-Module non è riuscito, eliminare tutte le cartelle che iniziano con
Azure
,Az
oAzs.
dalle posizioni $env:PSModulePath. Per Windows PowerShell, le posizioni potrebbero essereC:\Program Files\WindowsPowerShell\Modules
eC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
. Per PowerShell Core, le posizioni potrebbero essereC:\Program Files\PowerShell\7\Modules
eC:\Users\{yourusername}\Documents\PowerShell\Modules
. L'eliminazione di queste cartelle rimuove tutti i moduli di Azure PowerShell esistenti.
4. Connesso: Installare con connettività Internet
Il modulo Az di Azure Stack funzionerà con PowerShell 5.1 o versione successiva in un computer Windows o PowerShell 6.x o versione successiva in una piattaforma Linux o macOS. Il metodo di installazione preferito prevede l'uso dei cmdlet PowerShellGet. Questo metodo funziona nello stesso modo nelle piattaforme supportate.
Eseguire il comando seguente da una sessione di PowerShell per aggiornare PowerShellGet a un minimo di versione 2.2.3
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
Chiudere la sessione di PowerShell, quindi aprire una nuova sessione di PowerShell in modo che l'aggiornamento possa essere effettivo.
Eseguire il comando seguente da una sessione di PowerShell:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module -Name Az.BootStrapper -Force Install-AzProfile -Profile 2020-09-01-hybrid -Force Install-Module -Name AzureStack -RequiredVersion 2.2.0
Eseguire il comando seguente da una sessione di PowerShell:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module -Name Az.BootStrapper -Force Install-AzProfile -Profile 2020-09-01-hybrid -Force Install-Module -Name AzureStack -RequiredVersion 2.1.1
Avviso
Non è possibile avere entrambi i moduli azure Resource Manager (AzureRM) e Az installati per PowerShell 5.1 per Windows contemporaneamente. Se è necessario mantenere disponibile azure Resource Manager nel sistema, installare il modulo Az per PowerShell Core 6.x o versione successiva. A questo scopo, installare PowerShell Core 6.x or versioni successive e quindi seguire queste istruzioni in un terminale di PowerShell Core.
5. Disconnesso: installare senza connessione Internet
In uno scenario disconnesso, scaricare prima i moduli di PowerShell in un computer con connettività Internet. Quindi, li si trasferisce 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 Hub di Azure Stack, a seconda della versione dell'hub di Azure Stack.
L'installazione ha cinque passaggi:
- Installare PowerShell dell'hub di Azure Stack in un computer connesso.
- Abilitare funzionalità di archiviazione aggiuntive.
- Trasportare i pacchetti di PowerShell nella workstation disconnessa.
- Avvia manualmente il provider NuGet nella workstation disconnessa.
- Confermare l'installazione di PowerShell.
Installare PowerShell dell'hub di Azure Stack
Hub di Azure Stack 2108 o versione successiva.
È possibile usare i moduli di Azure Resource Manager o Az. Per Azure Resource Manager, vedere le istruzioni in Installare il modulo AzureRM di PowerShell. Il codice seguente salva i moduli dal repository https://www.powershellgallery.com/online affidabile.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-module -Name PowerShellGet -MinimumVersion 2.2.3 -Force
Import-Module -Name PackageManagement -ErrorAction Stop
$savedModulesPath = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name Az -Path $savedModulesPath -Force -RequiredVersion 2.0.1
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.2.0
Hub di Azure Stack 2102.
È possibile usare i moduli di Azure Resource Manager o Az. Per Azure Resource Manager, vedere le istruzioni in Installare il modulo AzureRM di PowerShell. Il codice seguente salva i moduli dal repository https://www.powershellgallery.com/online affidabile.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-module -Name PowerShellGet -MinimumVersion 2.2.3 -Force
Import-Module -Name PackageManagement -ErrorAction Stop
$savedModulesPath = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name Az -Path $savedModulesPath -Force -RequiredVersion 2.0.1
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.1.1
Nota
Nei computer senza una connessione Internet è consigliabile eseguire il cmdlet seguente per disabilitare la raccolta dati di telemetria. È possibile che si verifichi una riduzione delle prestazioni dei cmdlet senza disabilitare la raccolta dati di telemetria. Questo è applicabile solo per i computer senza connessioni Internet
Disable-AzDataCollection
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 una posizione nella workstation.
Avvia manualmente il provider NuGet nella workstation disconnessa. Per istruzioni, vedere Avvio manuale del provider NuGet in un computer che non è connesso a Internet.
Registrare questo percorso come repository predefinito e installare i
AzureRM
moduli eAzureStack
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"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.2.0 -Scope AllUsers
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
# requires -Version 5
# requires -RunAsAdministrator
# requires -Module PowerShellGet
# requires -Module PackageManagement
$SourceLocation = "<Location on the development kit that contains the PowerShell packages>"
$RepoName = "MyNuGetSource"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.1.1 -Scope AllUsers
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
Verificare l'installazione di PowerShell
Confermare l'installazione eseguendo il comando seguente:
Get-Module -Name "Az*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable
6. Configurare PowerShell per usare un server proxy
Negli scenari che richiedono a un server proxy di accedere a Internet, è prima possibile configurare PowerShell per usare 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
7. Usare il modulo Az
È possibile usare i cmdlet e gli esempi di codice basati su Azure Resource Manager. Tuttavia, si vuole modificare il nome dei moduli e dei cmdlet. I nomi dei moduli sono stati modificati in modo che AzureRM
e Azure diventino Az
e gli stessi per i cmdlet. Il modulo AzureRM.Compute
, ad esempio, è stato rinominato Az.Compute
. New-AzureRMVM
è diventato New-AzVM
e Get-AzureStorageBlob
è ora Get-AzStorageBlob
.
Per una discussione più approfondita e indicazioni per lo spostamento dello script AzurRM in Az e modifiche di rilievo nel modulo Az dell'hub di Azure Stack, vedere Eseguire la migrazione da AzureRM a Azure PowerShell Az.
Problemi noti
Errore generato durante l'installazione dei moduli Az
- Applicabile: questo problema si applica al 2002 e versioni successive
- Causa: quando si installa il modulo, viene generato un errore. Il messaggio di errore inizia:
Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'.
oppure il messaggio di errore può includere il testo seguente:PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
- Correzione: eseguire il cmdlet seguente nella stessa sessione:
Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
Chiudere la sessione e avviare una nuova sessione di PowerShell con privilegi elevati. - Occorrenza: comune
Quando si installa il modulo Az viene generato falsemente un errore di Amministrazione diritti necessari
- Applicabile: questo problema si applica al 2002 e versioni successive
- Causa: quando si installa il modulo da un prompt con privilegi elevati, viene generato un errore. L'errore indica .
Administrator rights required
- Correzione: chiudere la sessione e avviare una nuova sessione di PowerShell con privilegi elevati. Assicurarsi che non sia presente un az esistente. Modulo Accounts caricato nella sessione.
- Occorrenza: comune
Il cmdlet New-AzVmss ha esito negativo quando si usa il profilo ibrido 2020-09-01
- Applicabile: questo problema si applica al profilo ibrido 2020-09-01.
- Causa: il cmdlet New-AzVmss non funziona con il profilo ibrido 2020-09-01.
- Correzione: usare un modello per la creazione di un set di scalabilità di macchine virtuali. È possibile trovare un esempio dei modelli di hub di Azure Stack Resource Manager nel repository GitHub AzureStack-QuickStart-Templates/101-vmss-windows-vm ed è possibile trovare istruzioni sull'uso di Azure Stack Hub Resource Manager con Visual Studio Code.
- Occorrenza: comune
Errore generato durante l'esecuzione di uno script di PowerShell
Applicabile: questo problema si applica al 2002 e versioni successive.
Causa: quando si eseguono script o comandi di PowerShell usando i moduli specifici dell'hub di Azure Stack, è necessario che lo script o il comando siano disponibili nel modulo. Può essere visualizzato l'errore seguente:
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.
Il modulo corrente è il modulo Az di PowerShell, che ha sostituito il modulo AzureRM di PowerShell. Se si tenta di eseguire uno script che chiama i comandi Di AzureRM quando viene installato il modulo Az, lo script genererà errori. In alternativa, se si tenta di eseguire uno script che chiama i comandi Az quando viene installato il modulo AzureRM, lo script genererà errori.
Correzione: disinstallare il modulo AzureRM e installare il modulo Az. Per istruzioni, vedere Installare il modulo Az di PowerShell per l'hub di Azure Stack. Se si usano gli strumenti dell'hub di Azure Stack, usare gli strumenti Az. Clonare il repository degli strumenti dal ramo az oppure scaricare il AzureStack-Tools dal ramo az . Per istruzioni, vedere Scaricare gli strumenti dell'hub di Azure Stack da GitHub
Occorrenza: comune
Errore generato con New-AzADServicePrincipal e New-AzADApplication
Applicabile: ambienti Di Azure Stack che usano Azure Active Directory (Azure AD).
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 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:New-AzADServicePrincipal -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 Azure AD fornendo un'entità servizio valida
IdentifierUri
e quindi creare l'entità servizio associando l'app usando il cmdlet seguente:$app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Occorrenza: comune
Errore: "Autenticazione SharedTokenCacheCredential non riuscita"
- Applicabile: questo problema si applica a tutte le versioni supportate.
- Causa: viene generato un errore di autenticazione SharedTokenCacheCredential non riuscita quando sono installate più versioni di AzAccounts con il modulo PowerShell dell'hub di Azure Stack versione 2.1.1.
- Correzione: rimuovere tutte le versioni di AzAccounts e installare solo AzAccounts versione 2.2.8 supportate.
- Occorrenza: comune