Azure PowerShell-parancsmagok futtatása PowerShell-feladatokban
Az Azure PowerShell működése az Azure-felhőkhöz való csatlakozástól és az onnan kapott válaszoktól függ, ezért a parancsmagok többsége blokkolja a PowerShell-munkamenetet, amíg választ nem kap a felhőtől. A PowerShell-feladatok segítségével parancsmagokat futtathat a háttérben, vagy egyszerre több feladatot is elvégezhet az Azure-ban egyetlen PowerShell-munkameneten belül.
Ez a cikk rövid áttekintést nyújt az Azure PowerShell-parancsmagok PowerShell-feladatként való futtatásáról és annak ellenőrzéséről, hogy a feladatok befejeződtek-e. A parancsok Azure PowerShellben való futtatásához Azure PowerShell-környezeteket kell használni, amelyekről részletesen az Azure-környezeteket és a bejelentkezési hitelesítő adatokat ismertető témakörben olvashat. További információ a PowerShell-feladatokról: A PowerShell-feladatok ismertetése.
Azure-környezetek és PowerShell-feladatok
A PowerShell-feladatok külön folyamatokként futnak, társított PowerShell-munkamenet nélkül, ezért meg kell osztani velük az Azure-beli hitelesítő adatokat. A rendszer Azure-beli környezeti objektumként, az alábbi módszerek valamelyikével adja át a hitelesítő adatokat:
Automatikus környezetmegőrzés. A környezetmegőrzés alapértelmezés szerint engedélyezve van, és több munkamenetre kiterjedően megőrzi a bejelentkezési adatokat. Ha engedélyezve van a környezetmegőrzés, a rendszer átadja az aktuális Azure-környezetet az új folyamatnak:
Enable-AzContextAutosave # Enables context autosave if not already on $vmadmin = Get-Credential Start-Job { New-AzVM -Name MyVm -Credential $Using:vmadmin }
Adjon meg egy Azure-környezetobjektumot az AzContext paraméterrel rendelkező Azure PowerShell-parancsmaggal:
$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 }
Ha a környezet megőrzése le van tiltva, az AzContext paraméter szükséges.
Használja néhány Azure PowerShell-parancsmag által biztosított AsJob paramétert. Ez a kapcsoló automatikusan Elindítja a parancsmagot PowerShell-feladatként az aktív Azure-környezet használatával:
$vmadmin = Get-Credential $job = New-AzVM -Name MyVm -Credential $vmadmin -AsJob
Annak ellenőrzéséhez, hogy egy parancsmag támogatja-e az AsJob-t, ellenőrizze annak referenciadokumentációját. Az AsJob paraméterhez nincs szükség a környezet automatikus mentésének engedélyezésére.
A futó feladatok állapotát a Get-Job parancsmaggal ellenőrizheti. Egy feladat pillanatnyi kimenetének lekéréséhez használja a Receive-Job parancsmagot.
Ha távolról szeretné ellenőrizni egy művelet állapotát az Azure-on, használja a feladat által módosított erőforrás típusához társított Get
parancsmagokat:
$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