Megosztás a következőn keresztül:


Azure PowerShell-parancsmagok futtatása a PowerShell-feladatokban

Az Azure PowerShell az Azure-felhőhöz való csatlakozástól és a válaszokra való várakozástól függ, ezért a legtöbb parancsmag blokkolja a PowerShell-munkamenetet, amíg választ nem kapnak a felhőbő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-feladatokként való futtatásáról és a befejezés ellenőrzéséről. A parancsok Azure PowerShellben való futtatásához Azure PowerShell-környezetek szükségesek, amelyek részletesen ismertetve vannak a Azure-környezetek és bejelentkezési hitelesítő adatokrészben. További információ a PowerShell-feladatokról: A PowerShell-feladatok.

Azure-környezetek PowerShell-feladatokkal

A PowerShell-feladatok különálló folyamatokként futnak csatolt PowerShell-munkamenet nélkül, ezért az Azure-beli hitelesítő adatokat meg kell osztani velük. A hitelesítő adatok Azure-környezetobjektumokként lesznek átadva az alábbi módszerek egyikével:

  • Automatikus kontextus-állandóság. Az alapértelmezés szerint engedélyezett kontextusmegőrzés több munkamenet során megőrzi a bejelentkezési adatait. Ha engedélyezve van a környezetmegőrzés, a rendszer az aktuális Azure-környezetet továbbítja 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 minden olyan Azure PowerShell-parancsmaggal, amely AzContext paraméterrel rendelkezik:

    $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örnyezetmegőrzés le van tiltva, az AzContext paraméter szükséges.

  • Használja a AsJob paramétert, amelyet néhány Azure PowerShell-parancsmag biztosít. 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 AsJob, tekintse meg a referenciadokumentációját. Az AsJob paraméter nem igényli a környezet automatikus mentésének engedélyezését.

A futó feladatok állapotát a Get-Job parancsmaggal ellenőrizheti. Az eddigi feladat kimenetének lekéréséhez a Receive-Job cmdletet használja.

Ha távolról szeretné ellenőrizni egy művelet előrehaladását az Azure-ban, 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

Lásd még: