Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure PowerShell depende da conexão a uma nuvem do Azure e da espera por respostas, portanto, a maioria desses cmdlets bloqueia sua sessão do PowerShell até obter uma resposta da nuvem. Os Jobs do PowerShell permitem executar cmdlets em segundo plano ou realizar várias tarefas no Azure simultaneamente, numa única sessão do PowerShell.
Este artigo é uma breve visão geral sobre como executar cmdlets do Azure PowerShell como tarefas do PowerShell e verificar a sua conclusão. A execução de comandos no Azure PowerShell requer a utilização de contextos do Azure PowerShell, que são explicados em detalhe no artigo Contextos e credenciais de início de sessão do Azure. Para obter mais informações sobre as tarefas do PowerShell, veja About PowerShell Jobs (Acerca das Tarefas do PowerShell).
Contextos do Azure com tarefas do PowerShell
As Tarefas do PowerShell são executadas como processos separados sem uma sessão do PowerShell associada, pelo que as suas credenciais do Azure têm de ser partilhadas com elas. As credenciais são passadas como objetos de contexto do Azure, usando um destes métodos:
Persistência automática do contexto. A persistência de contexto é habilitada por padrão e preserva suas informações de entrada em várias sessões. Com a persistência de contexto habilitada, o contexto atual do Azure é passado para o novo processo:
Enable-AzContextAutosave # Enables context autosave if not already on $vmadmin = Get-Credential Start-Job { New-AzVM -Name MyVm -Credential $Using:vmadmin }
Forneça um objeto de contexto do Azure com qualquer cmdlet do Azure PowerShell que tenha um parâmetro 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 }
Se a persistência de contexto estiver desabilitada, o parâmetro AzContext será necessário.
Use o parâmetro AsJob fornecido por alguns cmdlets do Azure PowerShell. Essa opção inicia automaticamente o cmdlet como um Trabalho do PowerShell, usando o contexto ativo do Azure:
$vmadmin = Get-Credential $job = New-AzVM -Name MyVm -Credential $vmadmin -AsJob
Para ver se um cmdlet suporta AsJob, verifique sua documentação de referência. O parâmetro AsJob não requer que o salvamento automático de contexto seja habilitado.
Pode verificar o estado de uma tarefa em execução com o cmdlet Get-Job. Para obter o resultado de uma tarefa até ao momento, utilize o cmdlet Receive-Job.
Para verificar o progresso de uma operação remotamente no Azure, utilize os cmdlets Get
associados ao tipo de recurso que está a ser modificado pela tarefa:
$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
Ver também
- Contextos do Azure PowerShell
- About PowerShell Jobs (Acerca das Tarefas do PowerShell)
- Get-Job
- Receber trabalho
-
O modificador de escopo
Using:
Azure PowerShell