Поделиться через


Оптимизация установки Azure PowerShell

В этой статье рассматривается оптимизация процесса установки Azure PowerShell путем выборочной установки только нужных вам модулей с использованием модуля PowerShell Microsoft.PowerShell.PSResourceGet (PSResourceGet), улучшенного решения для управления пакетами, представленного в PowerShell версии 7.4.

Предпосылки

  1. В системах Windows необходимо задать политику выполнения PowerShell на RemoteSigned или менее ограничительную.

    • Проверьте политику выполнения PowerShell:

      Get-ExecutionPolicy -List
      
    • Установите политику выполнения PowerShell на "удаленная подпись":

      Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
      

    Дополнительную информацию о политиках выполнения вы можете узнать в разделе about_Execution_Policies.

  2. Определите, установлен ли модуль PowerShell PSResourceGet и установите его при необходимости. Модуль PSResourceGet предоставляет улучшенные возможности для установки ресурсов PowerShell, включая модули Azure PowerShell. PSResourceGet предварительно установлен с помощью PowerShell версии 7.4 или более поздней версии, а также поддерживается в Windows PowerShell 5.1.

    • Определите, установлен ли модуль PowerShell PSResourceGet.

      Get-Module -Name Microsoft.PowerShell.PSResourceGet -ListAvailable
      
    • Установите модуль PSResourceGet PowerShell.

      Install-Module -Name Microsoft.PowerShell.PSResourceGet -Repository PSGallery
      

Модуль Az PowerShell

Azure PowerShell — это имя продукта для коллекции официальных модулей Microsoft PowerShell для управления ресурсами Azure. Модуль PowerShell Az — это текущая итерация Azure PowerShell.

Модуль Az PowerShell — это модуль-оболочка для модулей PowerShell, связанных со службами Azure, обычно один модуль для каждой службы Azure, например Az.Compute, Az.Networkи Az.Storage. При установке модуля Az PowerShell вы устанавливаете все общедоступные (GA) модули Azure PowerShell, предназначенные для конкретных служб.

Каждый подмодул модуля Az PowerShell зависит от модуля Az.Accounts, который предоставляет основные возможности проверки подлинности и управления учетными записями для Azure PowerShell. При установке модуля Install-Module PowerShell с использованием (часть PowerShellGet), модуль Az.Accounts загружается и устанавливается для каждого подмодуля. Этот избыточный процесс загрузки увеличивает время установки.

PSResourceGet устанавливает Az.Accounts только один раз, независимо от количества установленных подмодулей. Это приводит к более быстрому, более эффективному процессу установки.

Install-PSResource -Name Az

Установка отдельных модулей для конкретной службы

Установка всего модуля Az PowerShell со всеми модулями, собранными вместе, удобна, но требует много времени и неэффективна, если вы используете лишь часть его команд. Установка всего модуля Az PowerShell приводит к следующим результатам:

  • Длительное время установки.
  • увеличение требований к хранилищу.
  • ненужные обновления для модулей, которые вы не используете.

Вы можете упростить процесс, установив только необходимые модули для конкретных служб. Сочетание PSResourceGet и установка только необходимых модулей значительно снижает затраты на установку.

В следующем примере используется командлет Install-PSResource для установки Az.Compute, Az.Network, Az.Resourcesи модулей Az.Storage PowerShell.

Install-PSResource -Name Az.Compute, Az.Network, Az.Resources, Az.Storage

Модуль Az.Accounts также устанавливается автоматически, но только один раз.

Установите все модули общедоступной версии и предварительной версии.

Если вам нужны все общедоступные и предварительные версии модулей Az PowerShell, установите модуль AzPreview. Модуль PowerShell AzPreview отражает структуру модуля Az, но включает все модули общедоступной версии и предварительных версий. Для согласованности его номер версии совпадает с номером версии модуля Az .

В следующем примере устанавливается модуль AzPreview с помощью PSResourceGet.

Install-PSResource -Name AzPreview

Установка из реестра артефактов Майкрософт

Установка модуля Az PowerShell из реестра артефактов Майкрософт (MAR) обеспечивает более быстрые, более надежные установки. MAR обеспечивает быструю загрузку и гладкий процесс установки, минимизируя потенциальные проблемы во время установки.

  1. Если вы используете версию PowerShell ранее 7.5.0, необходимо установить Microsoft.PowerShell.PSResourceGet версии 1.1.1.0 или более поздней.

    Install-Module -Name Microsoft.PowerShell.PSResourceGet -Repository PSGallery
    
  2. Регистрация MAR в качестве репозитория в PSResourceGet в системе

    Register-PSResourceRepository -Name MAR -Uri https://mcr.microsoft.com -ApiVersion ContainerRegistry
    
  3. Установка модуля Az PowerShell из MAR с помощью PSResourceGet

    Install-PSResource -Name Az -Repository MAR
    

Преимущества оптимизации процесса установки

При внедрении более выборочного и эффективного процесса установки вы:

  • сократить потребление ресурсов: установите только необходимые ресурсы, экономия места на диске.
  • Повысить производительность: Избегайте избыточных скачиваний и оптимизируйте процесс установки.
  • оставаться гибкими: обновлять и поддерживать только модули, которые вы активно используете.

См. также

Дальнейшие шаги

Дополнительные сведения об управлении ресурсами Azure с помощью модуля Az PowerShell см. в статье Начало работы с Azure PowerShell.