Invoke-AzVMRunCommand
Führen Sie einen Befehl auf dem virtuellen Computer aus.
Invoke-AzVMRunCommand
[-ResourceGroupName] <String>
[-VMName] <String>
-CommandId <String>
[-ScriptPath <String>]
[-ScriptString <String>]
[-Parameter <Hashtable>]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-AzVMRunCommand
-CommandId <String>
[-ScriptPath <String>]
[-ScriptString <String>]
[-Parameter <Hashtable>]
[-ResourceId] <String>
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-AzVMRunCommand
-CommandId <String>
[-ScriptPath <String>]
[-ScriptString <String>]
[-Parameter <Hashtable>]
[-VM] <PSVirtualMachine>
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Rufen Sie einen Ausführungsbefehl auf der VM auf.
Beispiel 1: Aufrufen eines Befehls unter Windows – Verwenden des ScriptPath-Parameters, wenn sich das Skript auf der Windows-Remote-VM befindet
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'sample.ps1' -Parameter @{param1 = "var1"; param2 = "var2"}
Aufrufen eines Ausführungsbefehls "RunPowerShellScript" mit Überschreibung des Skripts "sample.ps1" auf einer Windows-VM mit dem Namen "vmname" in der Ressourcengruppe "rgname". Var1 und var2 werden als Parameter in der sample.ps1definiert. Der Parameterwert kann nur Zeichenfolgentyp sein, und das Skript ist bei Bedarf für die Konvertierung in andere Typen verantwortlich.
Beispiel 2: Aufrufen eines Befehls unter Windows – Verwenden des ScriptString-Parameters zum Ausführen des Cmdlets auf der Windows-VM
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"
Dieser Befehl ruft einen Ausführungsbefehl "RunShellScript" auf, der das Cmdlet Set-TimeZone mit den zugehörigen Parametern ausführt. Dieses Beispiel ist nützlich, wenn Sie kurze Befehle auf windows-VM ausführen möchten.
Beispiel 3: Aufrufen eines Befehls unter Windows – Verwenden des ScriptString-Parameters zum Ausführen von Skriptblöcken auf der Windows-VM
$ScriptBlock = {
param(
[string] $NewTimeZone,
[string] $NewDate
)
Set-TimeZone -Id $NewTimeZone
Set-Date -Date [DateTime]$NewDate
}
$Script = [scriptblock]::create($ScriptBlock)
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString $Script -Parameter @{'NewTimeZone' = "UTC"; 'NewDate' = "Dec-8"}
Mit diesem Befehl wird ein Ausführungsbefehl "RunShellScript" aufgerufen, der einen Skriptblock auf einer Windows-Remote-VM namens "vmname" ausführt. Mit der Skriptblock-Methode können Sie mehrere Cmdlets mit Parametern in einem einzigen Aufruf ausführen und sparen außerdem Zeit beim Aufrufen mehrerer Ausführungsbefehle für verschiedene Cmdlets. Parameterwerte können nur vom Zeichenfolgentyp sein.
export param1=var1 param2=var2
set -- var1 var2 var3
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -Name 'vmname' -CommandId 'RunShellScript' -ScriptPath 'sample.bash' -Parameter @{"param1" = "var1";"param2" = "var2"}
echo This is a sample bash script
echo Usage 1: Ordered parameters: $0 $1
echo Usage 2: Named exports: $var1 $var2
Mit diesem Befehl wird ein Ausführungsbefehl "RunShellScript" aufgerufen, wobei das Skript "sample.bash" auf einer Linux-VM mit dem Namen "vmname" überschrieben wird. Var1 und var2 werden als Parameter im Sample.bash definiert.
Führen Sie das Cmdlet im Hintergrund aus, und geben Sie ein Auftragsobjekt zurück, um den Fortschritt nachzuverfolgen.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Die Befehls-ID ausführen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.
Typ: | IAzureContextContainer |
Aliase: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Die Befehlsparameter ausführen. Geben Sie Parameter als Schlüssel-Wert-Paare an, die bei der Skriptausführung übergeben werden sollen.
Typ: | Hashtable |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Der Name der Ressourcengruppe.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Die Ressourcen-ID für den virtuellen Computer.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Pfad des auszuführenden Skripts. Wenn dieser Wert angegeben wird, überschreibt das angegebene Skript das Standardskript des Befehls. Der Pfad sollte auf eine Datei aus einem lokalen Dateisystem verweisen. Der Befehl lädt ihn und sendet ihn zur Ausführung.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Das Skript, das als Zeichenfolge ausgeführt werden soll.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Das VIRTUELLE PS-Computerobjekt.
Typ: | PSVirtualMachine |
Aliase: | VMProfile |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Der Name des virtuellen Computers.
Typ: | String |
Aliase: | Name |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Zeigt, was passiert, 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 |
Feedback zu Azure PowerShell
Azure PowerShell ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: