Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Azure PowerShell depende de se ligar a uma cloud do Azure e esperar por respostas, por isso a maioria destes cmdlets bloqueia a sua sessão PowerShell até receber uma resposta da cloud. Os Jobs PowerShell permitem-te executar cmdlets em segundo plano ou fazer várias tarefas no Azure ao mesmo tempo, dentro de uma única sessão PowerShell.
Este artigo apresenta uma breve visão geral sobre como executar cmdlets do Azure PowerShell como Jobs do PowerShell e verificar a sua conclusão. Executar comandos em Azure PowerShell requer o uso de contextos de Azure PowerShell, que são abordados em detalhe nos contextos Azure e credenciais de entrada. Para saber mais sobre Trabalhos do PowerShell, consulte Sobre Trabalhos do PowerShell.
Contextos do Azure para tarefas do PowerShell
Os Jobs PowerShell são executados como processos separados sem uma sessão PowerShell associada, pelo que as suas credenciais Azure devem ser partilhadas com eles. As credenciais são passadas como objetos de contexto 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 do contexto ativada, 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 Azure com qualquer cmdlet de 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.
Usa o parâmetro AsJob fornecido por alguns cmdlets Azure PowerShell. Este interruptor inicia automaticamente o cmdlet como um Job PowerShell, usando o contexto ativo do Azure:
$vmadmin = Get-Credential $job = New-AzVM -Name MyVm -Credential $vmadmin -AsJobPara 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.
Você pode verificar o status de um trabalho em execução com o cmdlet Get-Job . Para receber o resultado de um trabalho até agora, use o cmdlet Receive-Job.
Para verificar remotamente o progresso de uma operação 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
- Sobre trabalhos do PowerShell
- Get-Job
- Receber-Trabalho
- O modificador de escopo
Azure PowerShell