Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure PowerShell hängt davon ab, eine Verbindung mit einer Azure-Cloud herzustellen und auf Antworten zu warten. Daher blockieren die meisten dieser Cmdlets Ihre PowerShell-Sitzung, bis sie eine Antwort aus der Cloud erhalten. Mithilfe von PowerShell-Aufträgen können Sie Cmdlets im Hintergrund ausführen oder mehrere Aufgaben in Azure gleichzeitig in einer einzigen PowerShell-Sitzung ausführen.
Dieser Artikel enthält eine kurze Übersicht darüber, wie Sie Azure PowerShell-Cmdlets als PowerShell-Aufträge ausführen und den Abschluss überprüfen. Das Ausführen von Befehlen in Azure PowerShell erfordert die Verwendung von Azure PowerShell-Kontexten, die in Azure-Kontexten und Anmeldeinformationenausführlich behandelt werden. Weitere Informationen zu PowerShell-Aufträgen finden Sie unter Informationen zu PowerShell-Aufträgen.
Azure-Kontexte mit PowerShell-Aufträgen
PowerShell-Aufträge werden als separate Prozesse ohne angefügte PowerShell-Sitzung ausgeführt, sodass Ihre Azure-Anmeldeinformationen für sie freigegeben werden müssen. Anmeldeinformationen werden als Azure-Kontextobjekte mit einer der folgenden Methoden übergeben:
Automatische Kontextpersistenz. Die Kontextpersistenz ist standardmäßig aktiviert und behält Ihre Anmeldeinformationen in mehreren Sitzungen bei. Wenn die Kontextpersistenz aktiviert ist, wird der aktuelle Azure-Kontext an den neuen Prozess übergeben:
Enable-AzContextAutosave # Enables context autosave if not already on $vmadmin = Get-Credential Start-Job { New-AzVM -Name MyVm -Credential $Using:vmadmin }
Stellen Sie ein Azure-Kontextobjekt mit jedem Azure PowerShell-Cmdlet bereit, das einen AzContext-parameter aufweist:
$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 }
Wenn die Kontextpersistenz deaktiviert ist, ist der AzContext Parameter erforderlich.
Verwenden Sie den parameter AsJob, der von einigen Azure PowerShell-Cmdlets bereitgestellt wird. Dieser Switch startet das Cmdlet automatisch als PowerShell-Auftrag unter Verwendung des aktiven Azure-Kontexts:
$vmadmin = Get-Credential $job = New-AzVM -Name MyVm -Credential $vmadmin -AsJob
Wenn Sie überprüfen möchten, ob ein Cmdlet AsJob-unterstützt, lesen Sie die Referenzdokumentation. Der AsJob Parameter erfordert keine Aktivierung des kontextautonen Speicherns.
Sie können den Status eines ausgeführten Auftrags mit dem Cmdlet Get-Job überprüfen. Wenn Sie die bisherige Ausgabe eines Auftrags abrufen möchten, verwenden Sie das Cmdlet Receive-Job.
Um den Fortschritt eines Vorgangs remote in Azure zu überprüfen, verwenden Sie die Get
Cmdlets, die dem Vom Auftrag geänderten Ressourcentyp zugeordnet sind:
$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
Siehe auch
Azure PowerShell