Invoke-AzVMRunCommand
Voer een opdracht uit op de virtuele machine.
Syntaxis
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>]
Description
Roep een run-opdracht aan op de VIRTUELE machine.
Voorbeelden
Voorbeeld 1: Een opdracht in Windows aanroepen - ScriptPath-parameter gebruiken wanneer het script zich op de externe Windows-VM bevindt
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'sample.ps1' -Parameter @{param1 = "var1"; param2 = "var2"}
Roep een run-opdracht 'RunPowerShellScript' aan met het script 'sample.ps1' op een Windows-VM met de naam 'vmname' in de resourcegroep 'rgname'. Var1 en var2 worden gedefinieerd als parameters in de sample.ps1. Parameterwaarde kan alleen tekenreekstype zijn en het script is indien nodig verantwoordelijk voor het converteren ervan naar andere typen.
Voorbeeld 2: Een opdracht aanroepen in Windows - ScriptString-parameter gebruiken om cmdlet uit te voeren op de Windows-VM
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"
Met deze opdracht wordt een run-opdracht 'RunShellScript' aangeroepen waarmee de cmdlet wordt uitgevoerd Set-TimeZone met de bijbehorende parameters. Dit voorbeeld is handig als u korte opdrachten wilt uitvoeren op een Virtuele Windows-machine.
Voorbeeld 3: Een opdracht aanroepen in Windows - ScriptString-parameter gebruiken om scriptblokken uit te voeren op de 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"}
Met deze opdracht wordt een run-opdracht 'RunShellScript' aangeroepen waarmee een scriptblok wordt uitgevoerd op een externe Windows-VM met de naam 'vmname'. Met het scriptblok kunt u meerdere cmdlets uitvoeren met parameters in één aanroep en bespaart u ook tijd bij het aanroepen van meerdere uitvoeringsopdrachten voor verschillende cmdlets. Parameterwaarde(s) kan alleen van het tekenreekstype zijn.
Voorbeeld 4: Een opdracht aanroepen in Linux
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
Met deze opdracht wordt een run-opdracht 'RunShellScript' aangeroepen, waarbij het script sample.bash wordt overschreven op een Virtuele Linux-machine met de naam 'vmname'. Var1 en var2 worden gedefinieerd als parameters in de sample.bash.
Parameters
-AsJob
Voer de cmdlet op de achtergrond uit en retourneer een taakobject om de voortgang bij te houden.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-CommandId
De opdracht-id uitvoeren.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Confirm
U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DefaultProfile
De referenties, accounts, tenants en abonnementen die worden gebruikt voor communicatie met Azure.
Type: | IAzureContextContainer |
Aliassen: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Parameter
De opdrachtparameters uitvoeren. Geef parameters op als sleutel-/waardeparen die moeten worden doorgegeven bij het uitvoeren van scripts.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ResourceGroupName
De naam van de resourcegroep.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ResourceId
De resource-id voor de virtuele machine.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ScriptPath
Pad van het script dat moet worden uitgevoerd. Wanneer deze waarde wordt opgegeven, overschrijft het opgegeven script het standaardscript van de opdracht. Het pad moet verwijzen naar een bestand vanuit een lokaal bestandssysteem. De opdracht wordt geladen en verzonden voor uitvoering.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ScriptString
Het script dat moet worden uitgevoerd als een tekenreeks.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-VM
Het object van de virtuele PS-machine.
Type: | PSVirtualMachine |
Aliassen: | VMProfile |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-VMName
De naam van de virtuele machine.
Type: | String |
Aliassen: | Name |
Position: | 1 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WhatIf
Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
Uitvoerwaarden
Azure PowerShell