Freigeben über


Set-AzVMRunCommand

Der Vorgang zum Erstellen oder Aktualisieren des Ausführungsbefehls.

Syntax

Set-AzVMRunCommand
   -ResourceGroupName <String>
   -RunCommandName <String>
   -VMName <String>
   [-SubscriptionId <String>]
   -Location <String>
   [-AsyncExecution]
   [-ErrorBlobManagedIdentityClientId <String>]
   [-ErrorBlobManagedIdentityObjectId <String>]
   [-ErrorBlobUri <String>]
   [-OutputBlobManagedIdentityClientId <String>]
   [-OutputBlobManagedIdentityObjectId <String>]
   [-OutputBlobUri <String>]
   [-Parameter <IRunCommandInputParameter[]>]
   [-ProtectedParameter <IRunCommandInputParameter[]>]
   [-RunAsPassword <String>]
   [-RunAsUser <String>]
   [-ScriptUriManagedIdentityClientId <String>]
   [-ScriptUriManagedIdentityObjectId <String>]
   [-SourceCommandId <String>]
   [-SourceScript <String>]
   [-SourceScriptUri <String>]
   [-Tag <Hashtable>]
   [-TimeoutInSecond <Int32>]
   [-TreatFailureAsDeploymentFailure]
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzVMRunCommand
   -ResourceGroupName <String>
   -RunCommandName <String>
   -VMName <String>
   [-SubscriptionId <String>]
   -Location <String>
   [-AsyncExecution]
   [-ErrorBlobManagedIdentityClientId <String>]
   [-ErrorBlobManagedIdentityObjectId <String>]
   [-ErrorBlobUri <String>]
   [-OutputBlobManagedIdentityClientId <String>]
   [-OutputBlobManagedIdentityObjectId <String>]
   [-OutputBlobUri <String>]
   [-Parameter <IRunCommandInputParameter[]>]
   [-ProtectedParameter <IRunCommandInputParameter[]>]
   [-RunAsPassword <String>]
   [-RunAsUser <String>]
   [-ScriptUriManagedIdentityClientId <String>]
   [-ScriptUriManagedIdentityObjectId <String>]
   [-Tag <Hashtable>]
   [-TimeoutInSecond <Int32>]
   [-TreatFailureAsDeploymentFailure]
   -ScriptLocalPath <String>
   [-DefaultProfile <PSObject>]
   [-AsJob]
   [-NoWait]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Beschreibung

Der Vorgang zum Erstellen oder Aktualisieren des Ausführungsbefehls.

Beispiele

Beispiel 1: Erstellen oder Aktualisieren des Befehls "Ausführen" auf einem virtuellen Computer mithilfe einer SAS-URL des Speicher-Blobs

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri "https://myst.blob.core.windows.net/mycontainer/myscript.ps1?sp=r&st=2022-10-27T21:02:35Z&se=2022-10-28T05:02:35Z&spr=https&sv=2021-06-08&sr=b&sig=0I%2FIiYayRwHasfasasfdasdfasdeTsQjLnpZjA%3D"

Location      Name         Type
--------      ----         ----
eastus2euap   MyRunCommand Microsoft.Compute/virtualMachines/runCommands

Erstellen oder aktualisieren Sie den Befehl "Ausführen" auf einer Windows-VM mithilfe einer SAS-URL eines Speicher-Blobs, das PS1-Skript enthält. Beachten Sie, dass die SAS-URL Lesezugriff auf das Blob ermöglichen muss. Für die SAS-URL wird eine Ablaufzeit von 24 Stunden vorgeschlagen. SAS-URLs können auf Azure-Portal mithilfe der Blob-Optionen oder des SAS-Tokens mithilfe von New-AzStorageBlobSASToken generiert werden. Wenn Sie SAS-Token mit New-AzStorageBlobSASToken generieren, ist Ihre SAS-URL = Basis-Blob-URL + "?" + SAS-Token von New-AzStorageBlobSASToken.

Beispiel 2: Erstellen oder Aktualisieren des Befehls "Ausführen" auf einem virtuellen Computer mithilfe einer lokalen Skriptdatei.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1"

Location      Name         Type
--------      ----         ----
eastus2euap   MyRunCommand Microsoft.Compute/virtualMachines/runCommands

Erstellen oder aktualisieren Sie Skriptausführung auf einer VM mithilfe einer lokalen Skriptdatei, die sich auf dem Clientcomputer befindet, auf dem das Cmdlet ausgeführt wird.

Beispiel 3: Erstellen oder Aktualisieren des Befehls "Ausführen" auf einem virtuellen Computer mithilfe von Skripttext.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -RunCommandName MyRunCommand2 -Location EastUS2EUAP -SourceScript "id; echo HelloWorld"

Location      Name          Type
--------      ----          ----
eastus2euap   MyRunCommand2 Microsoft.Compute/virtualMachines/runCommands

Erstellen oder aktualisieren Sie Skriptausführung auf einem virtuellen Computer, der den Skriptinhalt direkt an den „-SourceScript“-Parameter übergibt. Verwenden Sie ';', um mehrere Befehle zu trennen.

Beispiel 4: Erstellen oder Aktualisieren des Befehls "Ausführen" auf einem virtuellen Computer mithilfe von commandId.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceCommandId DisableWindowsUpdate

Location      Name         Type
--------      ----         ----
eastus2euap   MyRunCommand Microsoft.Compute/virtualMachines/runCommands

Erstellen oder Aktualisieren Sie Skriptausführung auf einer VM mithilfe einer bereits vorhandenen commandId. Verfügbare commandIds können mithilfe von Get-AzVMRunCommandDocument abgerufen werden.

Beispiel 5: Erstellen oder Aktualisieren des Befehls "Ausführen" auf einem virtuellen Computer und Stream standardausgabe und Standardfehlermeldungen zum Ausgeben und Anfügen von Blobs durch Fehler.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -RunCommandName MyRunCommand3 -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -OutputBlobUri "https://vivst.blob.core.windows.net/vivcontainer/output.txt?sp=racw&st=2022-10-27T22:18:36Z&se=2022-10-28T06:18:36Z&spr=https&sv=2021-06-08&sr=b&sig=HQAu3Bl%2BKMofYTjMo8o5hasfadsfasdF4jIkRJra4S5FlEo%3D" -ErrorBlobUri "https://vivst.blob.core.windows.net/vivcontainer/error.txt?sp=racw&st=2022-10-27T22:18:36Z&se=2022-10-28T06:18:36Z&spr=https&sv=2021-06-08&sr=b&sig=HQAu3Bl%2BKMofYTjMo8o5h%asfasdfgdT%2F4jasfasdf5FlEo%3D"

Location      Name          Type
--------      ----         ----
eastus2euap   MyRunCommand3 Microsoft.Compute/virtualMachines/runCommands

Erstellen oder aktualisieren Sie Skriptausführung auf einer VM, und streamen Sie Standardausgabe- und Standardfehlermeldungen in Ausgabe- und Fehleranfügeblobs. Hinweisausgabe- und Fehlerblobs müssen vom Typ AppendBlob sein, und ihre SAS-URLs müssen Lese-, Anfüge-, Create-, Schreibzugriff auf das Blob bereitstellen. Für die SAS-URL wird eine Ablaufzeit von 24 Stunden vorgeschlagen. Wenn kein Ausgabe- oder Fehlerblob vorhanden ist, wird ein Blob vom Typ „AppendBlob“ erstellt. SAS-URLs können auf Azure-Portal mithilfe der Blob-Optionen oder des SAS-Tokens mithilfe von New-AzStorageBlobSASToken generiert werden. Wenn Sie SAS-Token mit New-AzStorageBlobSASToken generieren, ist Ihre SAS-URL = Basis-Blob-URL + "?" + SAS-Token von New-AzStorageBlobSASToken.

Beispiel 6: Erstellen oder Aktualisieren des Befehls "Ausführen" auf einem virtuellen Computer, Führen Sie den Befehl ausführen als einen anderen Benutzer mit den Parametern RunAsUser und RunAsPassword aus.

Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -RunAsUser myusername -RunAsPassword mypassword

Location      Name         Type
--------      ----         ----
eastus2euap   MyRunCommand Microsoft.Compute/virtualMachines/runCommands

Erstellen oder aktualisieren Sie den Befehl "Ausführen" auf einer VM, führen Sie den Befehl ausführen als einen anderen Benutzer mithilfe von RunAsUser- und RunAsPassword-Parametern aus. Damit RunAs ordnungsgemäß funktioniert, wenden Sie sich an den*die Administrator*in der VM, und stellen Sie sicher, dass der Benutzer auf der VM hinzugefügt wurde und Zugriff auf Ressourcen hat, auf die Skriptausführung zugreift (Verzeichnisse, Dateien, Netzwerk usw.), und dass im Falle einer Windows-VM der Dienst „Sekundäre Anmeldung“ auf der VM ausgeführt wird.

Parameter

-AsJob

Ausführen des Befehls als Auftrag

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AsyncExecution

Optional. Wenn "true" festgelegt ist, wird die Bereitstellung abgeschlossen, sobald das Skript gestartet wird und nicht auf den Abschluss des Skripts wartet.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Der Parameter DefaultProfile ist nicht funktionsfähig. Verwenden Sie den Parameter "SubscriptionId", wenn sie verfügbar ist, wenn Sie das Cmdlet für ein anderes Abonnement ausführen.

Typ:PSObject
Aliase:AzureRMContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ErrorBlobManagedIdentityClientId

Client-ID (GUID-Wert) der vom Benutzer zugewiesenen verwalteten Identität. ObjectId sollte nicht verwendet werden, wenn dies angegeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ErrorBlobManagedIdentityObjectId

Objekt-ID (GUID-Wert) der vom Benutzer zugewiesenen verwalteten Identität. ClientId sollte nicht verwendet werden, wenn dies angegeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ErrorBlobUri

Gibt das Azure Storage-Blob an, bei dem der Skriptfehlerdatenstrom hochgeladen wird. Verwenden Sie einen SAS-URI mit Lese-, Anfüge-, Erstellungs-, Schreibzugriff ODER verwalteter Identität, um den VM-Zugriff auf das Blob bereitzustellen. Verweisen Sie auf den Parameter "errorBlobManagedIdentity".

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Location

Ressourcenspeicherort

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-NoWait

Asynchrones Ausführen des Befehls

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-OutputBlobManagedIdentityClientId

Client-ID (GUID-Wert) der vom Benutzer zugewiesenen verwalteten Identität. ObjectId sollte nicht verwendet werden, wenn dies angegeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-OutputBlobManagedIdentityObjectId

Objekt-ID (GUID-Wert) der vom Benutzer zugewiesenen verwalteten Identität. ClientId sollte nicht verwendet werden, wenn dies angegeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-OutputBlobUri

Gibt das Azure Storage-Blob an, in das der Skriptausgabedatenstrom hochgeladen wird. Verwenden Sie einen SAS-URI mit Lese-, Anfüge-, Erstellungs-, Schreibzugriff ODER verwalteter Identität, um den VM-Zugriff auf das Blob bereitzustellen. Verweisen Sie auf outputBlobManagedIdentity-Parameter.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Parameter

Die vom Skript verwendeten Parameter. Informationen zum Erstellen finden Sie im Abschnitt "NOTES" für PARAMETER-Eigenschaften und erstellen eine Hashtabelle.

Typ:IRunCommandInputParameter[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ProtectedParameter

Die vom Skript verwendeten Parameter. Informationen zum Erstellen finden Sie im Abschnitt "NOTES" für PROTECTEDPARAMETER-Eigenschaften, und erstellen Sie eine Hashtabelle.

Typ:IRunCommandInputParameter[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ResourceGroupName

Der Name der Ressourcengruppe.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RunAsPassword

Gibt das Kennwort für das Benutzerkonto auf dem virtuellen Computer an, wenn der Ausführungsbefehl ausgeführt wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RunAsUser

Gibt das Benutzerkonto auf dem virtuellen Computer an, wenn der Ausführungsbefehl ausgeführt wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RunCommandName

Der Name des Befehls zum Ausführen des virtuellen Computers.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ScriptLocalPath

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ScriptUriManagedIdentityClientId

Client-ID (GUID-Wert) der vom Benutzer zugewiesenen verwalteten Identität. ObjectId sollte nicht verwendet werden, wenn dies angegeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ScriptUriManagedIdentityObjectId

Objekt-ID (GUID-Wert) der vom Benutzer zugewiesenen verwalteten Identität. ClientId sollte nicht verwendet werden, wenn dies angegeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SourceCommandId

Gibt eine CommandId des vordefinierten integrierten Skripts an.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SourceScript

Gibt den Skriptinhalt an, der auf dem virtuellen Computer ausgeführt werden soll.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SourceScriptUri

Gibt den Speicherort für den Skriptdownload an. Es kann entweder SAS-URI eines Azure Storage-Blobs mit Lesezugriff oder öffentlicher URI sein.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SubscriptionId

Abonnementanmeldeinformationen, die das Microsoft Azure-Abonnement eindeutig identifizieren. Die Abonnement-ID ist Teil des URI für jeden Dienstaufruf.

Typ:String
Position:Named
Standardwert:(Get-AzContext).Subscription.Id
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Tag

Ressourcentags

Typ:Hashtable
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TimeoutInSecond

Das Timeout in Sekunden, um den Ausführungsbefehl auszuführen.

Typ:Int32
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TreatFailureAsDeploymentFailure

Optional. Wenn dieser Wert auf "true" festgelegt ist, schlägt ein Fehler im Skript fehl, und "ProvisioningState" wird als fehlgeschlagen markiert. Wenn dieser Wert auf "false" festgelegt ist, gibt ProvisioningState nur an, ob der Ausführungsbefehl von der Erweiterungsplattform ausgeführt wurde oder nicht, es würde nicht angegeben, ob das Skript bei Skriptfehlern fehlgeschlagen ist. Sehen Sie sich die Instanzansicht des Ausführungsbefehls im Falle von Skriptfehlern an, um executionMessage, Ausgabe, Fehler anzuzeigen: https://aka.ms/runcommandmanaged#get-execution-status-and-results

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-VMName

Der Name des virtuellen Computers, auf dem der Ausführungsbefehl erstellt oder aktualisiert werden soll.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Ausgaben

IVirtualMachineRunCommand