Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure PowerShell зависит от подключения к облаку Azure и ожидания ответов, поэтому большинство из этих командлетов блокируют сеанс PowerShell, пока не получат ответ из облака. Задания PowerShell позволяют выполнять командлеты в фоновом режиме или выполнять несколько задач в Azure одновременно из одного сеанса PowerShell.
В этой статье представлен краткий обзор запуска командлетов Azure PowerShell в качестве заданий PowerShell и проверки завершения. Выполнение команд в Azure PowerShell требует использования контекстов Azure PowerShell, которые подробно рассматриваются в контекстах Azure и учетных данных входа. Дополнительные сведения о заданиях PowerShell см. в статье "Сведения о заданиях PowerShell".
Контексты Azure с заданиями PowerShell
Задания PowerShell выполняются как отдельные процессы без присоединенного сеанса PowerShell, поэтому учетные данные Azure должны быть общими для них. Учетные данные передаются в качестве объектов контекста Azure, используя один из следующих методов:
Автоматическое сохранение контекста. Сохраняемость контекста включена по умолчанию и сохраняет сведения о входе в нескольких сеансах. Если включена сохраняемость контекста, текущий контекст Azure передается в новый процесс:
Enable-AzContextAutosave # Enables context autosave if not already on $vmadmin = Get-Credential Start-Job { New-AzVM -Name MyVm -Credential $Using:vmadmin }Укажите объект контекста Azure с помощью любого командлета Azure PowerShell, имеющего параметр AzContext :
$context = Get-AzContext -Name 'mycontext' # Get an Azure context object $vmadmin = Get-Credential $job = Start-Job { New-AzVM -Name MyVm -AzContext $Using:context -Credential $Using:vmadmin }Если сохраняемость контекста отключена, требуется параметр AzContext .
Используйте параметр AsJob , предоставленный некоторыми командлетами Azure PowerShell. Этот параметр автоматически запускает командлет в качестве задания PowerShell с помощью активного контекста Azure:
$vmadmin = Get-Credential $job = New-AzVM -Name MyVm -Credential $vmadmin -AsJobЧтобы узнать, поддерживает ли командлет AsJob, ознакомьтесь со своей справочной документацией. Параметр AsJob не требует включения автоматического включения контекста.
Вы можете проверить состояние выполняемого задания с помощью командлета Get-Job . Чтобы получить выходные данные задания до сих пор, используйте командлет Receive-Job .
Чтобы удаленно проверить ход выполнения операции в Azure, используйте Get командлеты, связанные с типом ресурса, изменяемого заданием:
$vmadmin = Get-Credential
$context = Get-AzContext -Name 'mycontext'
$vmName = 'MyVm'
$job = Start-Job {
New-AzVM -Name $Using:vmName -AzContext $Using:context -Credential $Using:vmadmin
}
Get-Job -Id $job.Id
Get-AzVM -Name $vmName
См. также
Azure PowerShell