Share via


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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsyncExecution

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ErrorBlobManagedIdentityClientId

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ErrorBlobManagedIdentityObjectId

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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".

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

Ressourcenspeicherort

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NoWait

Asynchrones Ausführen des Befehls

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputBlobManagedIdentityClientId

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputBlobManagedIdentityObjectId

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Parameter

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

Type:IRunCommandInputParameter[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProtectedParameter

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

Type:IRunCommandInputParameter[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Der Name der Ressourcengruppe.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RunAsPassword

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsUser

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunCommandName

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ScriptLocalPath

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ScriptUriManagedIdentityClientId

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptUriManagedIdentityObjectId

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceCommandId

Gibt eine CommandId des vordefinierten integrierten Skripts an.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceScript

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

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

Type:String
Position:Named
Default value:(Get-AzContext).Subscription.Id
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tag

Ressourcentags

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutInSecond

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMName

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Ausgaben

IVirtualMachineRunCommand