Installare PowerShell per Azure StackInstall PowerShell for Azure Stack

Si applica a: Azure Stack sistemi integrati e Azure Stack Development KitApplies to: Azure Stack integrated systems and Azure Stack Development Kit

Azure PowerShell fornisce un set di cmdlet che usano il modello di Azure Resource Manager per la gestione delle risorse di Azure Stack.Azure PowerShell provides a set of cmdlets that use the Azure Resource Manager model for managing your Azure Stack resources.

Per lavorare con il cloud, è necessario installare Azure Stack moduli di PowerShell compatibili.To work with your cloud, you need to install Azure Stack compatible PowerShell modules. Azure Stack usa il modulo AzureRM invece del nuovo modulo AzureAZ usato in Azure globale.Azure Stack uses the AzureRM module instead of the newer AzureAZ module used in global Azure. È anche necessario usare i profili API per specificare gli endpoint compatibili per i provider di risorse Azure stack.You also need to use API profiles to specify the compatible endpoints for the Azure Stack resource providers.

I profili API consentono di gestire le differenze di versione tra Azure e Azure Stack.API profiles provide a way to manage version differences between Azure and Azure Stack. Un profilo della versione dell'API è un set di moduli di Azure Resource Manager PowerShell con versioni API specifiche.An API version profile is a set of Azure Resource Manager PowerShell modules with specific API versions. Ogni piattaforma cloud include un set di profili di versione API supportati.Each cloud platform has a set of supported API version profiles. Ad esempio, Azure Stack supporta una versione specifica del profilo, ad esempio 2019-03-01-Hybrid.For example, Azure Stack supports a specific profile version such as 2019-03-01-hybrid. Quando si installa un profilo, vengono installati i moduli Azure Resource Manager PowerShell che corrispondono al profilo specificato.When you install a profile, the Azure Resource Manager PowerShell modules that correspond to the specified profile are installed.

È possibile installare Azure Stack moduli di PowerShell compatibili in scenari connessi a Internet, parzialmente connessi o disconnessi.You can install Azure Stack compatible PowerShell modules in internet-connected, partially connected, or disconnected scenarios. Questo articolo illustra le istruzioni dettagliate per questi scenari.This article walks you through the detailed instructions for these scenarios.

1. verificare i prerequisiti1. Verify your prerequisites

Prima di iniziare a usare Azure Stack e PowerShell, è necessario disporre dei prerequisiti seguenti:Before you get started with Azure Stack and PowerShell, you must have the following prerequisites:

  • PowerShell versione 5,0PowerShell Version 5.0
    Per verificare la versione, eseguire $psversiontable. psversion e confrontare la versione principale .To check your version, run $PSVersionTable.PSVersion and compare the Major version. Se non si dispone di PowerShell 5,0, seguire la procedura di installazione di Windows PowerShell.If you don't have PowerShell 5.0, follow the Installing Windows PowerShell.

    Nota

    PowerShell 5,0 richiede un computer Windows.PowerShell 5.0 requires a Windows machine.

  • Eseguire PowerShell in un prompt dei comandi con privilegi elevati.Run Powershell in an elevated command prompt.

  • Accesso PowerShell GalleryPowerShell Gallery access
    È necessario accedere al PowerShell Gallery.You need access to the PowerShell Gallery. La raccolta è il repository centrale per il contenuto di PowerShell.The gallery is the central repository for PowerShell content. Il modulo PowerShellGet contiene i cmdlet per l'individuazione, l'installazione, l'aggiornamento e la pubblicazione di elementi di PowerShell.The PowerShellGet module contains cmdlets for discovering, installing, updating, and publishing PowerShell artifacts. Esempi di questi elementi sono moduli, risorse DSC, capacità del ruolo e script da PowerShell Gallery e altri repository privati.Examples of these artifacts are modules, DSC resources, role capabilities, and scripts from the PowerShell Gallery and other private repositories. 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.If you're using PowerShell in a disconnected scenario, you must retrieve resources from a machine with a connection to the internet and store them in a location accessible to your disconnected machine.

Verificare se PSGallery è registrato come repository.Validate if PSGallery is registered as a repository.

Nota

Questo passaggio richiede l'accesso a Internet.This step requires internet access.

Aprire un prompt di PowerShell con privilegi elevati ed eseguire i cmdlet seguenti:Open an elevated PowerShell prompt, and run the following cmdlets:

Import-Module -Name PowerShellGet -ErrorAction Stop
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:If the repository isn't registered, open an elevated PowerShell session and run the following command:

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

3. disinstallare le versioni esistenti dei moduli di Azure Stack PowerShell3. Uninstall existing versions of the Azure Stack PowerShell modules

Prima di installare la versione richiesta, assicurarsi di disinstallare tutti i moduli di PowerShell Azure Stack AzureRM installati in precedenza.Before installing the required version, make sure that you uninstall any previously installed Azure Stack AzureRM PowerShell modules. Disinstallare i moduli usando uno dei due metodi seguenti:Uninstall the modules by using one of the following two methods:

  1. Per disinstallare i moduli di PowerShell AzureRM esistenti, chiudere tutte le sessioni di PowerShell attive ed eseguire i cmdlet seguenti:To uninstall the existing AzureRM PowerShell modules, close all the active PowerShell sessions, and run the following cmdlets:

    Get-Module -Name Azs.* -ListAvailable | Uninstall-Module -Force -Verbose
    Get-Module -Name Azure* -ListAvailable | Uninstall-Module -Force -Verbose
    

    Se viene rilevato 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.If you hit an error such as 'The module is already in use', close the PowerShell sessions that are using the modules and rerun the above script.

  2. Eliminare tutte le cartelle che iniziano con Azure o Azs. dalle cartelle C:\Program Files\WindowsPowerShell\Modules e C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules.Delete all the folders that start with Azure or Azs. from the C:\Program Files\WindowsPowerShell\Modules and C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules folders. L'eliminazione di queste cartelle comporta la rimozione di eventuali moduli di PowerShell esistenti.Deleting these folders removes any existing PowerShell modules.

4. connesso: installare PowerShell per Azure Stack con connettività Internet4. Connected: Install PowerShell for Azure Stack with internet connectivity

Il profilo della versione dell'API e i moduli Azure Stack PowerShell necessari dipendono dalla versione di Azure Stack in esecuzione.The API version profile and Azure Stack PowerShell modules you require will depend on the version of Azure Stack you're running.

Installare PowerShell per Azure StackInstall Azure Stack PowerShell

Eseguire lo script di PowerShell seguente per installare questi moduli nella workstation di sviluppo:Run the following PowerShell script to install these modules on your development workstation:

  • Per Azure Stack 1904 o versione successiva:For Azure Stack 1904 or later:

    # 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 into the current PowerShell session.
    Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
    Install-Module -Name AzureStack -RequiredVersion 1.7.2
    
  • Per Azure Stack versione 1903 o precedente, installare solo i due moduli seguenti:For Azure Stack version 1903 or earlier, only install the two modules below:

    # Install and import the API Version Profile required by Azure Stack into the current PowerShell session.
    
    Install-Module -Name AzureRM -RequiredVersion 2.4.0
    Install-Module -Name AzureStack -RequiredVersion 1.7.1
    

    Nota

    • La versione del modulo Azure Stack 1.7.1 è una versione di modifica di rilievo.The Azure Stack module version 1.7.1 is a breaking change release. Per eseguire la migrazione da Azure Stack 1.6.0, consultare la Guida alla migrazione.To migrate from Azure Stack 1.6.0, please refer to the migration guide.
    • La versione del modulo AzureRM 2.4.0 presenta una modifica di rilievo per il cmdlet Remove-AzureRmStorageAccount.The AzureRM module version 2.4.0 comes with a breaking change for the cmdlet Remove-AzureRmStorageAccount. Questo cmdlet prevede che -Force parametro venga specificato per la rimozione dell'account di archiviazione senza conferma.This cmdlet expects -Force parameter to be specified for removing the storage account without confirmation.
    • Non è necessario installare AzureRM. Bootstrapper per installare i moduli per Azure Stack versione 1901 o successiva.You don't need to install AzureRM.BootStrapper to install the modules for Azure Stack version 1901 or later.
    • Non installare il profilo ibrido 2018-03-01, oltre a usare i moduli AzureRM precedenti in Azure Stack versione 1901 o successiva.Don't install the 2018-03-01-hybrid profile in addition to using the above AzureRM modules on Azure Stack version 1901 or later.

Verificare l'installazione di PowerShellConfirm the installation of PowerShell

Verificare l'installazione eseguendo il comando seguente:Confirm the installation by running the following command:

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

Se l'installazione ha esito positivo, i moduli AzureRM e AzureStack vengono visualizzati nell'output.If the installation is successful, the AzureRM and AzureStack modules are displayed in the output.

5. disconnesso: installare PowerShell senza una connessione Internet5. Disconnected: Install PowerShell without an internet connection

In uno scenario disconnesso, è necessario prima di tutto scaricare i moduli di PowerShell in un computer con connettività Internet.In a disconnected scenario, you first download the PowerShell modules to a machine that has internet connectivity. Quindi, trasferirli al Azure Stack Development Kit (Gabriele) per l'installazione.Then, you transfer them to the Azure Stack Development Kit (ASDK) for installation.

Accedere a un computer con connettività Internet e usare gli script seguenti per scaricare i pacchetti di Azure Resource Manager e Azure Stack, a seconda della versione di Azure Stack.Sign in to a computer with internet connectivity and use the following scripts to download the Azure Resource Manager and Azure Stack packages, depending on your version of Azure Stack.

L'installazione prevede quattro passaggi:Installation has four steps:

  1. Installare Azure Stack PowerShell in un computer connesso.Install Azure Stack PowerShell to a connected machine.
  2. Abilitare funzionalità di archiviazione aggiuntive.Enable additional storage features.
  3. Trasportare i pacchetti di PowerShell nella workstation disconnessa.Transport the PowerShell packages to your disconnected workstation.
  4. Eseguire manualmente il bootstrap del provider NuGet nella workstation disconnessa.Manually bootstrap the NuGet provider on your disconnected workstation.
  5. Confermare l'installazione di PowerShell.Confirm the installation of PowerShell.

Installare PowerShell per Azure StackInstall Azure Stack PowerShell

  • Azure Stack 1904 o versione successiva.Azure Stack 1904 or later.

    Import-Module -Name PowerShellGet -ErrorAction Stop
    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
    
  • Azure Stack 1903 o versioni precedenti.Azure Stack 1903 or earlier.

    Import-Module -Name PowerShellGet -ErrorAction Stop
    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.4.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.7.1
    

    Nota

    La versione del modulo Azure Stack 1.7.1 è una modifica di rilievo.The Azure Stack module version 1.7.1 is a breaking change. Per eseguire la migrazione da Azure Stack 1.6.0, consultare la Guida alla migrazione.To migrate from Azure Stack 1.6.0 please refer to the migration guide.

    Nota

    Nei computer senza una connessione Internet, è consigliabile eseguire il cmdlet seguente per disabilitare la raccolta dei dati di telemetria.On machines without an internet connection, we recommend executing the following cmdlet for disabling the telemetry data collection. È possibile che si verifichi un calo delle prestazioni dei cmdlet senza disabilitare la raccolta dei dati di telemetria.You may experience a performance degradation of the cmdlets without disabling the telemetry data collection. Questa operazione è applicabile solo ai computer senza connessioni InternetThis is applicable only for the machines without internet connections

    Disable-AzureRmDataCollection
    

Aggiungere i pacchetti alla workstationAdd your packages to your workstation

  1. Copiare i pacchetti scaricati in un dispositivo USB.Copy the downloaded packages to a USB device.

  2. Accedere alla workstation disconnessa e copiare i pacchetti dal dispositivo USB in un percorso della workstation.Sign in to the disconnected workstation and copy the packages from the USB device to a location on the workstation.

  3. Eseguire manualmente il bootstrap del provider NuGet nella workstation disconnessa.Manually bootstrap the NuGet provider on your disconnected workstation. Per istruzioni, vedere bootstrap manuale del provider NuGet in un computer che non è connesso a Internet.For instructions, see Manually bootstrapping the NuGet provider on a machine that isn't connected to the internet.

  4. Registrare questo percorso come repository predefinito e installare i moduli AzureRM e AzureStack da questo repository:Register this location as the default repository and install the AzureRM and AzureStack modules from this 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 PowerShellConfirm the installation of PowerShell

Verificare l'installazione eseguendo il comando seguente:Confirm the installation by running the following command:

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

6. configurare PowerShell per l'uso di un server proxy6. Configure PowerShell to use a proxy server

Negli scenari in cui è necessario un server proxy per accedere a Internet, è necessario innanzitutto configurare PowerShell per l'uso di un server proxy esistente:In scenarios that require a proxy server to access the internet, you first configure PowerShell to use an existing proxy server:

  1. Aprire un prompt di PowerShell con privilegi elevati.Open an elevated PowerShell prompt.

  2. Eseguire i comandi seguenti:Run the following commands:

    #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
    

Passaggi successiviNext steps