Управление политикой
Для управления политиками пользователю Azure AD требуются следующие разрешения для действий:
- Microsoft.Attestation/attestationProviders/attestation/read
- Microsoft.Attestation/attestationProviders/attestation/write
- Microsoft.Attestation/attestationProviders/attestation/delete
Для выполнения данных действий пользователь Azure AD должен иметь роль Участника аттестации в поставщике аттестации. Данные разрешения также могут быть наследоваться с такими ролями, как Владелец (разрешения с подстановочными знаками)/Участник (разрешения с подстановочными знаками) в подписке/группе ресурсов.
Для чтения политик пользователю Azure AD требуются следующие разрешения для действий:
Microsoft.Attestation/attestationProviders/attestation/read
Для выполнения этого действия пользователь Azure AD должен иметь роль Читателя аттестации в рамках поставщика аттестации. Разрешение на чтение также может быть унаследовано такими ролями, как Читатель (разрешения с подстановочными знаками) в подписке/группе ресурсов.
Приведенные ниже командлеты PowerShell позволяют управлять политиками для поставщика аттестации (одна среда TEE за раз).
Командлет Get-AzAttestationPolicy возвращает текущую политику для указанной среды TEE. Командлет отображает политику в текстовом формате и формате JWT политики.
Для TEE поддерживаются типы SgxEnclave, OpenEnclave и VbsEnclave.
Командлет Set-AttestationPolicy задает новую политику для указанного TEE. Этот командлет принимает политику в формате простого текста или маркера JWT, а его поведением управляет параметр PolicyFormat. По умолчанию PolicyFormat имеет значение Text.
Если при создании поставщика аттестации указать параметр PolicySignerCertificateFile, политики можно будет настраивать только в формате маркера JWT. В остальных случаях для политик можно использовать форматы простого текста или неподписанного маркера JWT.
Политика аттестации в формате JWT должна содержать утверждение с именем AttestationPolicy. Если используется подписанная политика, для подписывания JWT нужно применить закрытый ключ, соответствующий любому из существующих сертификатов для подписывания политик.
Примеры политики см. в этом разделе.
Командлет Reset-AzAttestationPolicy сбрасывает значения политики до значений по умолчанию для указанного TEE.
Requirements
Note
PowerShell 7.0.6 LTS, PowerShell 7.1.3, or higher is the recommended version of PowerShell for
use with the Azure Az PowerShell module on all platforms.
Azure PowerShell has no additional requirements when run on PowerShell 7.0.6 LTS and PowerShell
7.1.3 or higher.
Install the
latest version of PowerShell available for
your operating system.
To check your PowerShell version, run the following command from within a PowerShell session:
PowerShell script execution policy must be set to remote signed or less restrictive.
can be used to determine the current execution policy. For more
information, see
about_Execution_Policies.
Включить функции серийной консоли для Windows Server
Примечание
Если вы ничего не видите в серийной консоли, убедитесь, что диагностика загрузки включена в наборе масштабов виртуальной машины или виртуальной машины.
Включить серийную консоль в пользовательских или старых изображениях
Новые изображения Windows в Azure имеют специальную консоль администрирования (SAC), включенную по умолчанию. SAC поддерживается на серверных версиях Windows но недоступна в клиентских версиях (например, Windows 10, Windows 8 или Windows 7).
Для старых Windows серверов (созданных до февраля 2018 г.) можно автоматически включить серийную консоль с помощью командной функции запуска портала Azure. На портале Azure выберите команду Выполнить, а затем выберите команду EnableEMS из списка.
Кроме того, чтобы вручную включить серийную консоль для Windows виртуальных компьютеров и набора виртуальных машин, созданных до февраля 2018 г., выполните следующие действия:
-
Подключение на Windows компьютер с помощью удаленного рабочего стола
-
Следуя запросу административной команды, запустите следующие команды:
- , или если вы используете PowerShell
-
Перезагружаем систему для включения консоли SAC.
При необходимости SAC можно включить в автономном режиме:
-
Прикрепить диск Windows, для которого необходимо настроить SAC в качестве диска данных, к существующему VM.
-
Следуя запросу административной команды, запустите следующие команды:
Как узнать, включен ли SAC?
Если SAC не включен, серийная консоль не будет отображать запрос SAC. В некоторых случаях показана информация о состоянии здоровья VM, а в других — пустая. Если вы используете изображение Windows Server, созданное до февраля 2018 г., SAC, вероятно, не будет включен.
Включить меню Windows загрузки в серийной консоли
Если необходимо включить Windows загрузчик для отображения в серийной консоли, вы можете добавить следующие дополнительные параметры к данным конфигурации загрузки. Дополнительные сведения см. в bcdedit.
-
Подключение к вашему Windows или виртуальному экземпляру шкалы машин с помощью удаленного рабочего стола.
-
Следуя запросу административной команды, запустите следующие команды:
-
Перезагрузка системы для включения меню загрузки
Примечание
Время, за которое будет отображаться меню диспетчера загрузки, повлияет на время загрузки ОС. Если вы считаете, что значение 10-секундного тайм-тайма слишком короткое или слишком длинное, установите его на другое значение.
Создание ресурса-контейнера учетных данных
Ресурс-контейнер учетных данных можно создать с помощью портала Azure или Windows PowerShell.
Создание нового ресурса-контейнера учетных данных на портале Azure
-
В учетной записи службы автоматизации в области слева выберите Учетные данные в разделе Общие ресурсы.
-
На странице Учетные данные выберите Добавить учетные данные.
-
В области «Новые учетные данные» введите соответствующее имя учетных данных, следуя стандартам именования.
-
Введите идентификатор доступа в поле Имя пользователя.
-
В полях пароля введите секретный ключ доступа.
-
Если флажок многофакторная проверка подлинности установлен, снимите его.
-
Нажмите Создать, чтобы создать новый ресурс-контейнер учетных данных.
Примечание
Служба автоматизации Azure не поддерживает учетные записи пользователей, которые используют многофакторную проверку подлинности.
Создание нового ресурса-контейнера учетных данных с помощью Windows PowerShell
В примере ниже демонстрируется порядок создания новых учетных данных службы автоматизации Azure. Сначала создается объект с именем и паролем, после чего он используется для создания ресурса-контейнера учетных данных. Вместо этого можно использовать командлет , чтобы предложить пользователю ввести имя и пароль.
Привязки
В PowerShell привязки настраиваются и определяются в файле function.json функции. Функции взаимодействуют с привязками несколькими способами.
Чтение триггера и входных данных
Триггеры и входные привязки считываются как параметры, передаваемые в вашу функцию. Для входных привязок в файле function.json значению присваивается значение . Свойство , определенное в файле , является именем параметра в блоке . Поскольку в PowerShell для привязки используются именованные параметры, порядок параметров не имеет значения. При этом рекомендуется следовать порядку привязок, определенному в файле .
запись выходных данных;
В Функциях в файле function.json параметру присваивается значение . Для записи данных в выходную привязку можно использовать командлет , доступный в среде выполнения Функций. Во любом случае свойство привязки, определенное в файле , соответствует параметру командлета .
Ниже показано, как вызвать командлет в скрипте функции.
Значение для конкретной привязки можно также передать через конвейер.
Командлет ведет себя по-разному в зависимости от того, какое значение указано для параметра .
-
Если указанное имя не может быть разрешено в допустимую выходную привязку, возникает ошибка.
-
Если выходная привязка принимает коллекцию значений, можно вызвать командлет многократно, чтобы отправить несколько значений.
-
Если выходная привязка принимает только отдельное значение, вызов командлета во второй раз приведет к ошибке.
Синтаксис командлета Push-OutputBinding
Для вызова командлета допустимы следующие параметры.
Имя | Type | Положение | Описание |
---|---|---|---|
Строка | 1 | Имя выходной привязки, которую вам нужно задать. | |
Объект | 2 | Значение выходной привязки, которую вам нужно задать, принимается из конвейера ByValue. | |
Параметр-переключатель | именованная | (Необязательно.) Если задан, приводит к установке значения для определенной выходной привязки. |
Также поддерживаются следующие общие параметры.
Дополнительные сведения см. в статье Об общих параметрах.
Пример командлета Push-OutputBinding: HTTP-ответы
Триггер HTTP возвращает ответ, используя выходную привязку с именем . В следующем примере выходная привязка имеет значение output #1.
Поскольку выходные данные передаются в HTTP, который принимает только отдельное значение, при повторном вызове командлета возникает ошибка.
Для выходных данных, которые принимают только отдельные значения, можно использовать переопределение старого значения с помощью параметра , а не пытаться добавить его в коллекцию. В следующем примере предполагается, что вы уже добавили значение. При использовании параметра ответ из следующего примера переопределяет существующее значение и возвращает значение output #3.
Пример командлета Push-OutputBinding: выходная привязка очереди
Командлет используется для отправки данных в выходные привязки, такие как выходная привязка хранилища очередей Azure. В следующем примере сообщение, которое записывается в очередь, имеет значение output #1.
Выходная привязка для очереди хранилища принимает несколько выходных значений. В этом случае при вызове следующего примера после первой записи в очередь выдаются два элемента: output #1 и output #2.
В следующем примере, если командлет вызывается после двух предыдущих, он добавляет в выходную коллекцию еще два значения.
При записи в очередь сообщение содержит следующие четыре значения: output #1, output #2, output #3 и output #4.
Командлет Get-OutputBinding
Командлет позволяет получать значения, установленные для ваших выходных привязок в данный момент. Этот командлет извлекает хэш-таблицу, содержащую имена выходных привязок с соответствующими значениями.
Ниже приведен пример использования командлета для получения текущих значений привязки.
Командлет также содержит параметр с именем , который можно использовать для фильтрования возвращаемой привязки, как показано в следующем примере.
В командлете можно использовать подстановочные знаки (*).
Использование серийной консоли
Использование CMD или PowerShell в серийной консоли
-
Подключение на серийную консоль. Если вы успешно подключились, запрос является SAC>:
-
Введите, чтобы создать канал с экземпляром CMD.
-
Введите или нажмите клавиши ярлыка, чтобы перейти на канал, в который запущен экземпляр CMD.
-
Нажмите кнопку Ввод, а затем введите учетные данные входа с административными разрешениями.
-
После входа допустимые учетные данные открывается экземпляр CMD.
-
Чтобы запустить экземпляр PowerShell, введите экземпляр CMD и нажмите кнопку Ввод.
Использование последовательной консоли для вызовов NMI
Немаскируемый прерывание (NMI) предназначен для создания сигнала о том, что программное обеспечение на виртуальной машине не будет игнорироваться. Исторически NMIs использовались для мониторинга проблем с оборудованием в системах, которые требовали определенного времени отклика. Сегодня программисты и системные администраторы часто используют NMI в качестве механизма отладки или устранения неполадок, которые не реагируют.
Серийная консоль может использоваться для отправки NMI на виртуальный компьютер Azure с помощью значка клавиатуры в панели команд. После доставки NMI конфигурация виртуальной машины будет контролировать, как система реагирует. Windows можно настроить для сбоя и создания файла сброса памяти при получении NMI.
Сведения о настройке Windows для создания файла аварийного сброса при приеме NMI см. в примере Как создать файл аварийного сброса с помощью NMI.
Использование ключей функций в последовательной консоли
Клавиши функций включены для использования для последовательной консоли в Windows VMs. F8 в отсеве последовательной консоли обеспечивает удобство ввода меню Advanced Boot Параметры, но серийная консоль совместима со всеми другими ключами функции. Возможно, вам потребуется нажать Fn + F1 (или F2, F3 и т.д.) на клавиатуре в зависимости от компьютера, на который вы используете серийную консоль.
Использование WSL в серийной консоли
Версия подсистема Windows для Linux (WSL) включена для Windows Server 2019 или более поздней, поэтому также можно включить WSL для использования в серийной консоли, если вы работаете Windows Server 2019 или более поздней. Это может быть полезно для пользователей, которые также знакомы с командами Linux. Инструкции по включить WSL для Windows Server см. в руководстве по установке.
Перезапустите Windows VM/virtual machine scale set instance within Serial Console
Вы можете инициировать перезагрузку в последовательной консоли, перенавигнув кнопку питания и нажав кнопку «Перезапустить VM». Это инициирует перезапуск VM, и вы увидите уведомление на портале Azure о перезапуске.
Это полезно в ситуациях, когда вы можете получить доступ к меню загрузки, не выходя из серийной консоли.
Создание удостоверения пользователя и настройка разрешений роли
Предоставьте Конструктору образов Azure разрешения для создания образов в указанной группе ресурсов, используя приведенный ниже пример. Без этого разрешения процесс сборки образов не будет выполнен успешно.
Создайте переменные для имен определения роли и удостоверения. Эти значения должны быть однозначными.
Создайте удостоверение пользователя.
Сохраните идентификаторы ресурса удостоверения и субъекта в переменных.
Назначение разрешений удостоверению для распространения образов
Скачайте JSON-файл конфигурации и измените его в соответствии с параметрами, определенными в этой статье.
Создайте определение роли.
Предоставьте определение роли для субъекта-службы Конструктора образов.
Примечание
Если появилось сообщение об ошибке «New-AzRoleDefinition: Превышено ограничение на определение ролей. Невозможно создать дополнительные определения ролей», ознакомьтесь с разделом Устранение неполадок в Azure RBAC.
Отладка в Visual Studio Code
Для отладки функций PowerShell в Visual Studio Code необходимо установить следующие компоненты:
- Расширение PowerShell для Visual Studio Code
- Расширение «Функции Azure» для Visual Studio Code
- PowerShell Core 6.2 или новее
После установки этих зависимостей загрузите существующий проект функций PowerShell или Создайте свой первый проект функций PowerShell.
Примечание
Если в проекте отсутствуют необходимые файлы конфигурации, вам будет предложено добавить их.
Установка версии PowerShell
PowerShell Core устанавливается параллельно с Windows PowerShell. Установите PowerShell Core в качестве версии PowerShell для использования с расширением PowerShell для Visual Studio Code.
-
Нажмите клавишу F1, чтобы отобразить палитру команды, а затем выполните поиск .
-
Выберите PowerShell: Show Session Menu.
-
Если текущий сеанс не в версии PowerShell Core 6, выберите Switch to: PowerShell Core 6.
При открытии файла PowerShell в нижней правой части окна отображается версия, подсвеченная зеленым. При выборе этого текста также отображается меню сеанса. Чтобы узнать больше, см. статью .
Создайте приложение функции
Убедитесь, что параметр задан в функции, для которой необходимо подключить отладчик. После добавления можно выполнить отладку приложения функции с помощью Visual Studio Code.
Выберите панель Debug, а затем Attach to PowerShell function.
Можно также нажать клавишу F5, чтобы начать процесс отладки.
Запуска процесса отладки выполняет следующие задачи.
- Запуск в терминале для установки расширений Функций Azure, необходимых для приложения функции.
- Запуск в терминале для запуска приложения функции на узле функций.
- Подключение отладчика PowerShell к пространству выполнения PowerShell в среде выполнения функций.
Примечание
Необходимо убедиться, что PSWorkerInProcConcurrencyUpperBound установлен в значение 1 для правильной работы по отладке в Visual Studio Code. Это значение по умолчанию.
После запуска приложения функции потребуется отдельная консоль PowerShell для вызова функции по HTTP.
В этом случае консоль PowerShell является клиентом. используется для запуска функции.
В окне PowerShell выполните следующие команды.
Обратите внимание, что ответ на вызов не моментальный. Это связано с тем, что подключен к отладчику, и выполнение PowerShell перешло при первом же случае в режим приостановки
Это обусловлено , которая описывается далее. После нажатия кнопки отладчик останавливается на строке сразу после .
На этом этапе отладчик подключен, и вы можете выполнять все обычные операции по отладке. Дополнительные сведения об использовании Visual Studio Code см. в по Visual Studio Code.
После продолжения и полного вызова скрипта станет видно, что:
- Консоль PowerShell, которая произвела , вернула результат
- Интегрированная консоль PowerShell в Visual Studio Code ожидает выполнения скрипта
Позже при вызове той же функции отладчик в расширении PowerShell прерывает работу сразу после .
Управление членством в группах
Добавление членов
Чтобы добавить в группу новых членов, используйте командлет Add-AzureADGroupMember. Эта команда добавляет члена в группу Intune Administrators, которую мы использовали в предыдущем примере:
Параметр -ObjectId — это идентификатор объекта группы, в которую требуется добавить члена, а -RefObjectId — это идентификатор объекта пользователя, которого требуется добавить в качестве члена группы.
Получение сведений о членах
Чтобы получить сведения о существующих членах группы, используйте командлет Get-AzureADGroupMember, как показано в этом примере:
Удаление членов
Чтобы удалить члена, ранее добавленного в группу, используйте командлет Remove-AzureADGroupMember, как показано здесь:
Проверка членства
Чтобы проверить, является ли пользователь членом какой-либо группы, используйте командлет Select-AzureADGroupIdsUserIsMemberOf. В качестве параметров этот командлет принимает идентификатор объекта пользователя, для которого выполняется проверка членства в группах, и список групп, в которых проверяется членство. Список групп необходимо указать в форме сложной переменной типа Microsoft.Open.AzureAD.Model.GroupIdsForMembershipCheck, поэтому сначала необходимо создать переменную с этим типом:
Затем необходимо указать значения идентификаторов группы для регистрации атрибута GroupIds этой сложной переменной:
Теперь, если требуется проверить членство пользователя с идентификатором объекта 72cd4bbd-2594-40a2-935c-016f3cfeeeea в группах в $g, используйте следующую команду:
Возвращаемое значение — это список групп, членом которых является данный пользователь. Этот метод также можно применять для проверки членства в контактах, группах или субъектах-службах для определенного списка групп. Для этого используйте командлеты Select-AzureADGroupIdsContactIsMemberOf, Select-AzureADGroupIdsGroupIsMemberOf и Select-AzureADGroupIdsServicePrincipalIsMemberOf.
Other Installation Options
While PowerShell 7.0.6 LTS, PowerShell 7.1.3, or higher is the recommended version of PowerShell,
and is the recommended installation option, there are additional installation
options if needed.
Installation on Windows PowerShell
Important
If you have the AzureRM PowerShell module installed, see the
section of this article
before proceeding.
The Azure Az PowerShell module is also supported for use with PowerShell 5.1 on Windows. To use the
Azure Az PowerShell module in PowerShell 5.1 on Windows:
- Update to
.
If you’re on Windows 10 version 1607 or higher, you already have PowerShell 5.1 installed. - Install .NET Framework 4.7.2 or later.
- Make sure you have the latest version of PowerShellGet. Run .
Offline Installation
In some environments, it’s not possible to connect to the PowerShell Gallery. In those situations,
you can install the Az PowerShell module offline using one of these methods:
-
Download the Azure PowerShell MSI. Keep in mind that the MSI installer
only works for PowerShell 5.1 on Windows. - Download the modules to another location in your network and use that as an installation source.
This method allows you to cache PowerShell modules on a single server or file share to be deployed
with PowerShellGet to any disconnected systems. Learn how to set up a local repository and install
on disconnected systems with
Working with local PowerShellGet repositories. - Save the module with Save-Module to a file share,
or save it to another source and manually copy it to other machines.
Управление зависимостями
Функции позволяют использовать коллекцию PowerShell для управления зависимостями. При включенном управлении зависимостями файл requirements.psd1 используется для автоматической загрузки необходимых модулей. Это поведение можно включить, задав для свойства значение в корневом каталоге файла host.json, как показано в следующем примере.
При создании нового проекта функций PowerShell управление зависимостями включается по умолчанию с включенным модулем Azure . Пока поддерживается максимум 10 модулей. Поддерживаемый синтаксис — или точная версия модуля, как показано в следующем примере файла requirements.psd1.
При обновлении файла requirements.psd1 обновленные модули устанавливаются после перезагрузки.
Конкретные целевые версии
Вы можете выбрать конкретную версию модуля в файле requirements.psd1. Например, если вы хотите использовать более раннюю версию Az.Accounts, чем указанная в модуле Az, выберите конкретную версию, как показано в следующем примере.
В этом случае также необходимо добавить оператор импорта в начало файла profile.ps1, который выглядит следующим образом.
В этом случае при запуске функции сначала загружается более ранняя версия модуля Az.Account.
Рекомендации по управлению зависимостями
При использовании управления зависимостями учитывайте следующие моменты.
-
Управляемым зависимостям для скачивания модулей требуется доступ к веб-сайту https://www.powershellgallery.com. При локальном выполнении убедитесь в том, что среда выполнения может получить доступ к этому URL-адресу, добавив необходимые правила брандмауэра.
-
Управляемые зависимости пока не поддерживают модули, требующие, чтобы пользователь принял лицензию (либо приняв ее в интерактивном режиме, либо предоставив коммутатор при вызове командлета ).
Параметры приложения управления зависимостями
Для изменения способа загрузки и установки управляемых зависимостей можно использовать указанные ниже параметры приложения.
Параметр приложения-функции | Значение по умолчанию | Описание |
---|---|---|
MDMaxBackgroundUpgradePeriod | (семь дней) | Управляет периодом фонового обновления для приложений-функций PowerShell. Дополнительные сведения см. в разделе . |
MDNewSnapshotCheckPeriod | (один час) | Указывает, как часто каждый рабочий процесс PowerShell проверяет, установлены ли обновления для управляемых зависимостей. Дополнительные сведения см. в разделе . |
MDMinBackgroundUpgradePeriod | (один день) | Период времени с момента завершения одной до запуска другой проверки обновления. Дополнительные сведения см. в разделе . |
По сути, обновление приложения начинается в период , а процесс обновления завершается примерно в период .
Устранение неполадок
При возникновении трудностей во время отладки необходимо проверить следующее:
службы «Функции Azure» | Действие |
---|---|
В окне терминала выполните команду . Если появляется сообщение об ошибке, где не находится , то это значит возможное отсутствие Core Tools (func.exe) в локальной переменной . | . |
В Visual Studio Code терминалу по умолчанию необходим доступ к func.exe. Убедитесь, что вы не используете терминал по умолчанию, на котором не установлены Core Tools, например, подсистема Windows для Linux (WSL). | Задайте консоль по умолчанию в Visual Studio Code либо PowerShell 7 (рекомендуется), либо Windows PowerShell 5.1. |
Использование Azure Cloud Shell
В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.
Начало работы с Azure Cloud Shell
Параметр | Пример и ссылка |
---|---|
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически. | |
Перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell, чтобы открыть Cloud Shell в браузере. | |
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
Чтобы выполнить код из этой статьи в Azure Cloud Shell, выполните следующие действия:
-
Запустите Cloud Shell.
-
В блоке кода нажмите кнопку Копировать, чтобы скопировать код.
-
Вставьте код в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
-
Нажмите клавишу ВВОД, чтобы выполнить код.
Создание с помощью Azure PowerShell
Создайте новую группу управления в PowerShell с помощью командлета New-AzManagementGroup. В нашем примере группа управления GroupName — это Contoso.
GroupName — уникальный создаваемый идентификатор. Этот идентификатор используется в других командах для обращения к этой группе. Его нельзя изменить позже.
Если нужно, чтобы для группы управления на портале отображалось другое имя, добавьте параметр DisplayName. Например, чтобы создать группу управления с именем Contoso и отображаемым именем Contoso Group, используйте следующий командлет:
В приведенных выше примерах новая группа управления создается в корневой группе управления. Чтобы указать другую группу управления в качестве родительской, используйте параметр ParentId.
Troubleshooting
Here are some common problems seen when installing the Azure Az PowerShell module. If you experience
a problem not listed here,
file an issue on GitHub.
Az and AzureRM coexistence
Warning
We do not support having both the AzureRM and Az modules installed for PowerShell 5.1 on Windows
at the same time.
In a scenario where you want to install both AzureRM and the Az PowerShell module on the same
system, AzureRM must be installed only in the user scope for Windows PowerShell. Install the Az
PowerShell module for PowerShell 7.0.6 LTS, PowerShell 7.1.3, or higher on the same system.
Important
Because Az PowerShell modules now have all the capabilities of AzureRM PowerShell modules and more,
we’ll retire AzureRM PowerShell modules on 29 February 2024.
To avoid service interruptions, update your scripts that use AzureRM
PowerShell modules to use Az PowerShell modules by 29 February 2024. To automatically update your
scripts, follow the quickstart guide.
Visual Studio
Older versions of Visual Studio may install Azure PowerShell as part of the Azure development
workload, which installs the AzureRM module. Azure PowerShell can be removed using the Visual Studio
installer or by using «Uninstall» in Apps & features. If you have already installed PowerShell 7.x,
you may need to the Azure Az PowerShell module.
Proxy blocks connection
If you get errors from that the PowerShell Gallery is unreachable, you may be
behind a proxy. Different operating systems and network environment have different requirements for
configuring a system-wide proxy. Contact your system administrator for your proxy settings and how
to configure them for your environment.
PowerShell itself may not be configured to use this proxy automatically. With PowerShell 5.1 and
later, configure the PowerShell session to use a proxy using the following commands:
If your operating system credentials are configured correctly, this configuration routes PowerShell
requests through the proxy. To have this setting persist between sessions, add the commands to your
PowerShell profile.
To install the package, your proxy needs to allow HTTPS connections to www.powershellgallery.com.
Update the Azure PowerShell module
To update any PowerShell module, you should use the same method used to install the module. For
example, if you originally used , then you should use
Update-Module to get the latest version. If you
originally used the MSI package, then you should download and install the new MSI package.
The PowerShellGet cmdlets cannot update modules that were installed from an MSI package. MSI
packages do not update modules that were installed using PowerShellGet. If you have any issues
updating using PowerShellGet, then you should reinstall, rather than update. Reinstalling is
done the same way as installing. Ensure you use the parameter with when
reinstalling.
Unlike MSI-based installations, installing or updating using PowerShellGet does not remove older
versions that may exist on your system.
Note
Uninstallation can be complicated if you have more than one version of the Az PowerShell module
installed. Because of this complexity, we only support uninstalling all versions of the Az
PowerShell module that are currently installed.
To remove all versions of the Az PowerShell module from your system, see
Uninstall the Azure PowerShell module. For more information about MSI-based
installations, see Install Azure PowerShell with an MSI.
Управляемое удостоверение, назначаемое пользователем
В этом разделе вы узнаете, как добавить и удалить управляемое удостоверение, назначаемое пользователем, для виртуальной машины с помощью Azure PowerShell.
Чтобы присвоить назначаемое пользователем удостоверение виртуальной машине, вашей учетной записи должны быть назначены роли и . Назначать другие роли в каталоге Azure AD не требуется.
-
Используя одно из кратких руководств ниже, выполните действия только в нужных разделах («Вход в Azure», «Создание группы ресурсов», «Создание группы сети», «Создание виртуальной машины»).
При выполнении действий, описанных в разделе о создании виртуальной машины, не забудьте внести небольшие изменения в синтаксис командлета . Добавьте параметры и , чтобы подготовить виртуальную машину с удостоверением, назначаемым пользователем. Замените ,, и собственными значениями. Пример:
- Создание виртуальной машины Windows с помощью PowerShell
- Создание виртуальной машины Linux с помощью PowerShell
Чтобы присвоить назначаемое пользователем удостоверение виртуальной машине, вашей учетной записи должны быть назначены роли и . Назначать другие роли в каталоге Azure AD не требуется.
Создайте управляемое удостоверение, назначаемое пользователем, с помощью командлета New-AzUserAssignedIdentity
Обратите внимание на свойство в выходных данных
Оно потребуется в следующем шаге.
Важно!
При создании управляемых удостоверений, назначаемых пользователем, можно использовать только буквы, цифры, знак подчеркивания и дефис (0–9, a–z, A–Z, _ или -)
Кроме того, чтобы назначение виртуальной машине или масштабируемому набору виртуальных машин производилось правильно, длина имени должна составлять 3–128 символов. Дополнительные сведения см
в разделе Часто задаваемые вопросы и известные проблемы.
Извлеките свойства виртуальной машины с помощью командлета . Затем, чтобы задать управляемое удостоверение, назначаемое пользователем, для виртуальной машины Azure, используйте параметры и в командлете . Для параметра следует использовать значение из предыдущего шага. Замените , , и собственными значениями.
Предупреждение
Чтобы сохранить ранее назначенные пользователем управляемые удостоверения, предназначенные для виртуальной машины, запросите свойство объекта VM (например, ). Если какие-либо назначенные пользователем управляемые удостоверения возвращаются, включите их в следующую команду вместе с новым удостоверением, которое необходимо назначить виртуальной машине.