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

Kapcsolódó információk