Spouštění rutin Azure PowerShellu v úlohách PowerShellu
Azure PowerShell závisí na připojení ke cloudu Azure a čekání na odpovědi, takže většina těchto rutin blokuje relaci PowerShellu, dokud nezískají odpověď z cloudu. Úlohy PowerShellu umožňují spouštět rutiny na pozadí nebo provádět více úloh v Azure najednou v rámci jedné relace PowerShellu.
Tento článek obsahuje stručný přehled toho, jak spustit rutiny Azure PowerShellu jako úlohy PowerShellu a zkontrolovat dokončení. Spouštění příkazů v Azure PowerShellu vyžaduje použití kontextů Azure PowerShellu, které jsou podrobně popsané v kontextech Azure a přihlašovacích údajů. Další informace o úlohách PowerShellu najdete v tématu O úlohách PowerShellu.
Kontexty Azure s úlohami PowerShellu
Úlohy PowerShellu se spouštějí jako samostatné procesy bez připojené relace PowerShellu, takže s nimi musí být sdílené přihlašovací údaje Azure. Přihlašovací údaje se předávají jako kontextové objekty Azure pomocí jedné z těchto metod:
Automatická trvalost kontextu. Trvalost kontextu je ve výchozím nastavení povolená a zachovává přihlašovací informace napříč několika relacemi. Když je zapnutá trvalost kontextu, aktuální kontext Azure se předá novému procesu:
Enable-AzContextAutosave # Enables context autosave if not already on $vmadmin = Get-Credential Start-Job { New-AzVM -Name MyVm -Credential $Using:vmadmin }
Zadejte objekt kontextu Azure pomocí libovolné rutiny Azure PowerShellu, která má parametr 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 }
Pokud je trvalost kontextu zakázaná, vyžaduje se parametr AzContext.
Použijte parametr AsJob, který poskytuje některé rutiny Azure PowerShellu. Tento přepínač automaticky spustí rutinu jako úlohu PowerShellu pomocí aktivního kontextu Azure:
$vmadmin = Get-Credential $job = New-AzVM -Name MyVm -Credential $vmadmin -AsJob
Pokud chcete zjistit, jestli rutina AsJobpodporuje, projděte si její referenční dokumentaci. Parametr AsJob nevyžaduje povolení automatického ukládání kontextu.
Stav spuštěné úlohy můžete zkontrolovat pomocí rutiny Get-Job. K získání výstupu z úlohy zatím použijte rutinu Receive-Job.
Pokud chcete zkontrolovat průběh operace vzdáleně v Azure, použijte rutiny Get
přidružené k typu prostředku, který úloha upravuje:
$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
Viz také
Azure PowerShell