Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✔️ Flexibele schaalsets voor Windows-VM's ✔️
Belangrijk
Managed Run Command is momenteel beschikbaar in Azure CLI, PowerShell en API. De portalfunctionaliteit staat op de roadmap.
De functie Opdracht uitvoeren maakt gebruik van de VM-agent (virtuele machine) om scripts uit te voeren binnen een Azure Windows-VM. U kunt deze scripts gebruiken voor algemeen machine- of toepassingsbeheer. Ze kunnen u helpen snel vm-toegang en netwerkproblemen vast te stellen en op te lossen en de VM weer in een goede staat te krijgen.
De bijgewerkte beheerde Run Command maakt gebruik van hetzelfde VM-agentkanaal om scripts uit te voeren en biedt de volgende verbeteringen ten opzichte van de oorspronkelijke actie-georiënteerde Run Command:
- Ondersteuning voor de bijgewerkte Uitvoeropdracht via een ARM-implementatiesjabloon
- Parallelle uitvoering van meerdere scripts
- Sequentiële uitvoering van scripts
- Door de gebruiker opgegeven time-out van script
- Ondersteuning voor langdurige scripts (uren/dagen)
- Geheimen (parameters, wachtwoorden) worden op een veilige manier doorgeven
Vereisten
Ondersteunde Windows-besturingssystemen
| Versie van besturingssysteem | x64 | ARM64 |
|---|---|---|
| Windows 10 | Ondersteund | Ondersteund |
| Windows 11 | Ondersteund | Ondersteund |
| Windows Server 2016 | Ondersteund | Ondersteund |
| Windows Server 2016 Core | Ondersteund | Ondersteund |
| Windows Server 2019 | Ondersteund | Ondersteund |
| Windows Server 2019 Core | Ondersteund | Ondersteund |
| Windows Server 2022 | Ondersteund | Ondersteund |
| Windows Server 2022 Core | Ondersteund | Ondersteund |
| Windows Server 2022 Azure Edition | Ondersteund | Ondersteund |
| Windows Server 2025 | Ondersteund | Ondersteund |
| Windows Server 2025 Core | Ondersteund | Ondersteund |
| Windows Server 2025 Azure Edition | Ondersteund | Ondersteund |
Beschikbare opdrachten
| CommandID | Beschrijving | Meer informatie |
|---|---|---|
| RunPowerShellScript | Een PowerShell-script uitvoeren | |
| IPConfig | Geeft gedetailleerde informatie weer voor het IP-adres, subnetmasker en de standaardgateway voor elke adapter die is gebonden aan TCP/IP. Raadpleeg Scripts uitvoeren voor het gebruik ervan | readme |
| EnableWindowsUpdate | Schakel automatische updates in via Windows Update. | readme |
| DisableWindowsUpdate | Schakel automatische updates uit via Windows Update. | readme |
| EnableAdminAccount | Controleert of het lokale beheerdersaccount is uitgeschakeld en indien wel, schakelt het dan in. | readme |
| EnableEMS | Schakel EMS (Emergency Management Services) in om seriële consoleverbindingen mogelijk te maken in scenario's voor probleemoplossing. | readme |
| EnableRemotePS | Schakel externe PowerShell in. | readme |
| IMDSCertCheck | Controleert de IMDS-status en analyseert vervolgens geïnstalleerde certificaten waarop IMDS afhankelijk is. Als dit ontbreekt, worden aanvullende details en risicobeperkingsstappen weergegeven. | readme |
| RDPSettings | Controleert registerinstellingen en domeinbeleidsinstellingen. Hiermee worden beleidsacties voorgesteld als de computer deel uitmaakt van een domein of de instellingen wijzigt in standaardwaarden. | readme |
| ResetRDPCert | Hiermee verwijdert u het SSL-certificaat dat is gekoppeld aan de RDP-listener en herstelt u de standaardbeveiliging van de RDP-listener. Gebruik dit script als u problemen met het certificaat ziet. | readme |
| Windows_WindowsActivation_Validation | Controleert de huidige Windows-licentiestatus (geactiveerd of niet) en er wordt een waarschuwing gegenereerd als de machine niet is geactiveerd. | readme |
| SetRDPPort | Hiermee stelt u het standaardpoortnummer of het door de gebruiker opgegeven poortnummer in voor extern bureaublad-verbindingen. Hiermee schakelt u een firewallregel in voor binnenkomende toegang tot de poort. | readme |
| DisableNLA | Hiermee schakelt u Verificatie op netwerkniveau (NLA) uit. U moet de virtuele machine opnieuw opstarten nadat het script is voltooid om de wijziging van kracht te laten worden. Het script zelf start de VM niet opnieuw op. U kunt dit script gebruiken om NLA uit te schakelen als RDP-verbindingen mislukken met de fout 'De externe computer waarmee u verbinding probeert te maken vereist Netwerkniveauverificatie (NLA), maar er kan geen contact worden gemaakt met uw Windows-domeincontroller om NLA uit te voeren.' of fout 'Er is een verificatiefout opgetreden. Er kan geen contact worden opgenomen met de lokale beveiligingsautoriteit.' NLA is een beveiligingsfunctie die alleen tijdelijk moet worden uitgeschakeld om RDP-verbindingen te laten slagen totdat het connectiviteitsprobleem met de domeincontroller is opgelost. | readme |
Notitie
De bovenstaande opdracht-id's zijn van toepassing op opdrachten voor beheerde uitvoeringen voor Windows-VM's. U kunt alle commandIds weergeven met behulp van de opdracht 'Get-AzVMRunCommandDocument -Location {RegionName}'.
Toegang tot Opdracht uitvoeren beperken
Voor het weergeven van de uitvoeringsopdrachten of het weergeven van de details van een opdracht is de Microsoft.Compute/locations/runCommands/read machtiging op abonnementsniveau vereist. De ingebouwde lezerrol en hogere niveaus hebben deze machtiging.
Voor het uitvoeren van een opdracht is de Microsoft.Compute/virtualMachines/runCommand/write machtiging vereist. De rol Inzender voor virtuele machines en hogere niveaus hebben deze machtiging.
U kunt een van de ingebouwde rollen gebruiken of een aangepaste rol maken om de opdracht Uitvoeren te gebruiken.
Azure-CLI
In de volgende voorbeelden wordt az vm run-command gebruikt om een shell-script uit te voeren op een Azure Windows-VM.
Een script uitvoeren met de VM
Met deze opdracht wordt het script aan de virtuele machine geleverd, uitgevoerd en wordt de vastgelegde uitvoer geretourneerd.
az vm run-command create --name "myRunCommand" --vm-name "myVM" --resource-group "myRG" --script "Write-Host Hello World!"
Een lijst weergeven van alle geïmplementeerde RunCommand-resources op een VIRTUELE machine
Met deze opdracht wordt een volledige lijst met eerder geïmplementeerde run-opdrachten geretourneerd, samen met de bijbehorende eigenschappen.
az vm run-command list --vm-name "myVM" --resource-group "myRG"
Uitvoeringsstatus en -resultaten ophalen
Met deze opdracht wordt de huidige uitvoeringsvoortgang opgehaald, inclusief de meest recente uitvoer, de begin-/eindtijd, de afsluitcode en de terminalstatus van de uitvoering.
az vm run-command show --name "myRunCommand" --vm-name "myVM" --resource-group "myRG" --expand instanceView
Notitie
De uitvoer- en foutvelden in instanceView zijn beperkt tot de laatste 4 kB.
Als u toegang wilt krijgen tot de volledige uitvoer en fout, kunt u de uitvoer- en foutgegevens doorsturen naar opslagtoevoegblobs met behulp van de parameters -outputBlobUri en -errorBlobUri tijdens het uitvoeren van de Run-opdracht met Set-AzVMRunCommand of Set-AzVMssRunCommand.
RunCommand-resource verwijderen van de VM
Verwijder de RunCommand-resource die eerder op de VIRTUELE machine is geïmplementeerd. Als het script nog steeds wordt uitgevoerd, wordt het beëindigd.
az vm run-command delete --name "myRunCommand" --vm-name "myVM" --resource-group "myRG"
Powershell
Een script uitvoeren met de VM
Met deze opdracht wordt het script aan de virtuele machine geleverd, uitgevoerd en wordt de vastgelegde uitvoer geretourneerd.
Set-AzVMRunCommand -ResourceGroupName "myRG" -VMName "myVM" -Location "EastUS" -RunCommandName "RunCommandName" –SourceScript "echo Hello World!"
Een script uitvoeren op de VM met de parameter SourceScriptUri
OutputBlobUri en ErrorBlobUri zijn optionele parameters.
Set-AzVMRunCommand -ResourceGroupName "myRg" `
-VMName "myVM" `
-RunCommandName "RunCommandName" `
-SourceScriptUri “<SAS_URI_of_a_storage_blob_with_read_access_or_public_URI>" `
-OutputBlobUri “<SAS_URI_of_a_storage_append_blob_with_read_add_create_write_access>" `
-ErrorBlobUri “<SAS_URI_of_a_storage_append_blob_with_read_add_create_write_access>”
Een langlopende run-opdracht uitvoeren op een VIRTUELE machine
De uitvoeringstijd moet langer duren dan de standaardtime-out van 90 minuten. Het moet 100 minuten draaien (raadpleeg de 6.0000-seconden-parameter -TimeoutInSecond), op voorwaarde dat het script naar verwachting zo lang draait. Na 100 minuten moet de uitvoering van het script worden gestopt.
Set-AzVMRunCommand -ResourceGroupName MyRG -VMName MyVM -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri <SourceScriptUri> -AsyncExecution -TimeoutInSecond 6000
Een lijst weergeven van alle geïmplementeerde RunCommand-resources op een VIRTUELE machine
Met deze opdracht wordt een volledige lijst met eerder geïmplementeerde run-opdrachten geretourneerd, samen met de bijbehorende eigenschappen.
Get-AzVMRunCommand -ResourceGroupName "myRG" -VMName "myVM"
Uitvoeringsstatus en -resultaten ophalen
Met deze opdracht wordt de huidige uitvoeringsvoortgang opgehaald, inclusief de meest recente uitvoer, de begin-/eindtijd, de afsluitcode en de terminalstatus van de uitvoering.
Get-AzVMRunCommand -ResourceGroupName "myRG" -VMName "myVM" -RunCommandName "RunCommandName" -Expand InstanceView
Opdracht Uitvoeren op een virtuele machine maken of bijwerken met behulp van SourceScriptUri (SAS-URL voor opslagblob)
Opdracht Uitvoeren op een Windows-VM maken of bijwerken met behulp van een SAS-URL van een opslagblob die een PowerShell-script bevat.
SourceScriptUri kan de volledige SAS-URL of openbare URL van een opslagblob zijn.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri <SourceScriptUri>
Notitie
SAS-URL moet leestoegang bieden tot de blob. Er wordt een verlooptijd van 24 uur voorgesteld voor de SAS-URL. SAS-URL's kunnen worden gegenereerd in Azure Portal met behulp van de opties van blob of sas-token met behulp van New-AzStorageBlobSASToken. Als u een SAS-token genereert met behulp van New-AzStorageBlobSASToken, uw SAS-URL = "basis-blob-URL" + "?" + "SAS-token van New-AzStorageBlobSASToken"
Een Run Command-instantieweergave voor een virtuele machine ophalen na het maken of bijwerken van Run Command
Haal een uitvoeringsopdracht op voor een VM met instance view. De exemplaarweergave bevat de uitvoeringsstatus van de opdracht uitvoeren (geslaagd, mislukt, enzovoort), afsluitcode, standaarduitvoer en standaardfout die wordt gegenereerd door het script uit te voeren met behulp van de opdracht Uitvoeren. Een niet-zero ExitCode geeft een mislukte uitvoering aan.
$x = Get-AzVMRunCommand -ResourceGroupName MyRG -VMName MyVM -RunCommandName MyRunCommand -Expand InstanceView
$x.InstanceView
Voorbeelduitvoer
ExecutionState : Succeeded
ExecutionMessage :
ExitCode : 0
Output :
output : uid=0(root) gid=0(root) groups=0(root)
HelloWorld
Error :
StartTime : 10/27/2022 9:10:52 PM
EndTime : 10/27/2022 9:10:55 PM
Statuses :
InstanceView.ExecutionState: Status van het gebruikerscommandoscript. Raadpleeg deze status om te weten of uw script al dan niet is geslaagd.
ProvisioningState: Status van end-to-end algemene extensieprovisioning (of het extensieplatform in staat was om het Run Command-script te activeren of niet).
Maak of werk een Run Command bij op een virtuele machine met ScriptLocalPath (lokaal scriptbestand)
Maak of werk een Run-opdracht op een virtuele machine bij met behulp van een lokaal scriptbestand dat zich op de clientmachine bevindt waarop de cmdlet wordt uitgevoerd.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1"
Run-opdracht maken of bijwerken op een VM met SourceScript (scripttekst)
Maak de Run Command-functionaliteit of werk deze bij op een VM door de scriptinhoud rechtstreeks door te geven aan de parameter -SourceScript. Gebruiken ; om meerdere opdrachten te scheiden
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -RunCommandName MyRunCommand2 -Location EastUS2EUAP -SourceScript "id; echo HelloWorld"
Uitvoeringsopdracht aanmaken of bijwerken op een virtuele machine met behulp van SourceCommandID
Maak of werk de opdracht "Run Command" op een virtuele machine bij met behulp van de bestaande commandId. Beschikbare commandIds kunnen worden opgehaald met Get-AzVMRunCommandDocument.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceCommandId DisableWindowsUpdate
Maak of werk een Run-opdracht op een virtuele machine bij met behulp van OutputBlobUri en ErrorBlobUri om standaarduitvoer en standaardfoutberichten naar Output- en Error-Append-blobs te streamen.
Run-opdracht maken of bijwerken op een virtuele machine en standaarduitvoer en standaardfoutberichten streamen naar uitvoer- en fouttoevoegblobs.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -RunCommandName MyRunCommand3 -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -OutputBlobUri <OutPutBlobUrI> -ErrorBlobUri "ErrorBlobUri
Notitie
De uitvoer- en fout-blobs moeten het type AppendBlob zijn en de BIJBEHORENDE SAS-URL's moeten lees-, toevoeg-, create-, schrijftoegang tot de blob bieden. Er wordt een verlooptijd van 24 uur voorgesteld voor de SAS-URL. Als de uitvoer of foutblob niet bestaat, wordt er een blob van het type AppendBlob gemaakt. SAS-URL's kunnen in het Azure Portal worden gegenereerd met behulp van de opties van de blob of door een SAS-token te gebruiken van New-AzStorageBlobSASToken.
Run Command maken of bijwerken op een virtuele machine als een andere gebruiker met behulp van RunAsUser- en RunAsPassword-parameters
Maak of werk Run Command op een virtuele machine bij als een andere gebruiker, gebruikmakend van de RunAsUser en RunAsPassword parameters. Voor een correcte werking van RunAs, neem contact op met de beheerder van de VM en zorg ervoor dat de gebruiker is toegevoegd aan de VM, de gebruiker toegang heeft tot de resources die door de Run Command worden geopend (mappen, bestanden, netwerk, enzovoort) en, in het geval van een Windows-VM, dat de 'Secundaire aanmeldingsservice' actief is op de VM.
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -RunAsUser myusername -RunAsPassword mypassword
Run-opdracht maken of bijwerken op een resource voor virtuele-machineschaalsets met behulp van SourceScriptUri (SAS-URL voor opslagsysteem blob)
Maak of werk de Run Command bij op een resource van Windows Virtual Machine Scale Sets met behulp van een SAS-URL van een opslagblob die een PowerShell-script bevat.
Set-AzVmssVMRunCommand -ResourceGroupName MyRG0 -VMScaleSetName MyVMSS -InstanceId 0 -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri <SourceScriptUri>
Notitie
SAS-URL moet leestoegang bieden tot de blob. Er wordt een verlooptijd van 24 uur voorgesteld voor de SAS-URL. SAS-URL's kunnen worden gegenereerd in Azure Portal met behulp van de opties van blob of sas-token met behulp van New-AzStorageBlobSASToken. Als u sas-token genereert met behulp van New-AzStorageBlobSASToken, is de SAS-URL-indeling: basis-blob-URL + "?" + het SAS-token van New-AzStorageBlobSASToken.
Opdracht Uitvoeren maken of bijwerken op een VM-exemplaar met parameter- en ProtectedParameter-parameters (openbare en beveiligde parameters voor script)
Gebruik ProtectedParameter om gevoelige invoer door te geven aan scripts, zoals wachtwoorden, sleutels, enzovoort.
$PublicParametersArray = @([Microsoft.Azure.PowerShell.Cmdlets.Compute.Models.Api20210701.IRunCommandInputParameter]@{name='publicParam1';value='publicParam1value'},
>> [Microsoft.Azure.PowerShell.Cmdlets.Compute.Models.Api20210701.IRunCommandInputParameter]@{name='publicParam2';value='publicParam2value'})
$ProtectedParametersArray = @([Microsoft.Azure.PowerShell.Cmdlets.Compute.Models.Api20210701.IRunCommandInputParameter]@{name='secret1';value='secret1value'},
>> [Microsoft.Azure.PowerShell.Cmdlets.Compute.Models.Api20210701.IRunCommandInputParameter]@{name='secret2';value='secret2value'})
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri <SourceScriptUri> -Parameter $PublicParametersArray -ProtectedParameter $ProtectedParametersArray
Windows: Parameters en ProtectedParameters worden als argumenten doorgegeven aan het script en uitgevoerd zoals volgt -
myscript.ps1 -publicParam1 publicParam1value -publicParam2 publicParam2value -secret1 secret1value -secret2 secret2valueLinux: Benoemde parameters en de bijbehorende waarden worden ingesteld op omgevingsconfiguratie, die toegankelijk moet zijn binnen het .sh script. Geef voor argumenten zonder naam een lege tekenreeks door om invoer een naam te geven. Naamloze argumenten worden doorgegeven aan scripts en worden als volgt uitgevoerd -
myscript.sh publicParam1value publicParam2value secret1value secret2value
RunCommand-resource verwijderen van de VM
Verwijder de RunCommand-resource die eerder op de VIRTUELE machine is geïmplementeerd. Als het script nog steeds wordt uitgevoerd, wordt het beëindigd.
Remove-AzVMRunCommand -ResourceGroupName "myRG" -VMName "myVM" -RunCommandName "RunCommandName"
REST-API
Als u een nieuwe Run Command wilt implementeren, voert u een PUT verzoek uit op de virtuele machine en specificeert u een unieke naam voor het Run Command exemplaar.
PUT /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?api-version=2023-03-01
{
"location": "<location>",
"properties": {
"source": {
"script": "Write-Host Hello World!",
"scriptUri": "<SAS URI of a storage blob with read access or public URI>",
"commandId": "<Id>"
},
"parameters": [
{
"name": "param1",
"value": "value1"
},
{
"name": "param2",
"value": "value2"
}
],
"protectedParameters": [
{
"name": "secret1",
"value": "value1"
},
{
"name": "secret2",
"value": "value2"
}
],
"runAsUser": "userName",
"runAsPassword": "userPassword",
"timeoutInSeconds": 3600,
"treatFailureAsDeploymentFailure": true,
"outputBlobUri": "< SAS URI of a storage append blob with read, add, create, write access>",
"errorBlobUri": "< SAS URI of a storage append blob with read, add, create, write access >"
}
}
Opmerkingen
- U kunt een inlinescript, een script-URI of een ingebouwde scriptopdracht-id opgeven als invoerbron. De URI van het script is ofwel een SAS-URI voor een opslagblob met leestoegang of een openbare URI.
- Er wordt slechts één type broninvoer ondersteund voor één opdrachtuitvoering.
- Vanaf API-versie 2023-03-01 kunt u de eigenschap
treatFailureAsDeploymentFailureinstellen op waar , waardoor de implementatie mislukt wanneer er een fout in het script optreedt. Als deze optie is ingesteld op false, geeft ProvisioningState alleen weer of de run-opdracht al dan niet is uitgevoerd door het uitbreidingsplatform. Het geeft niet aan of het script is mislukt in het geval van scriptfouten. - Run Command ondersteunt het schrijven van uitvoer en fouten naar Opslag-blobs met behulp van de parameters outputBlobUri en errorBlobUri, die kunnen worden gebruikt voor het opslaan van grote scriptuitvoer. Gebruik de SAS-URI van een toevoeg-blob voor opslag met lees-, add-, create-, write-toegang. De blob moet van het type AppendBlob zijn. Anders zou het schrijven van de scriptuitvoer of foutmelding mislukken. De blob wordt overschreven als deze al bestaat. Deze wordt gemaakt als deze niet bestaat.
Lijst van actieve run-opdrachten op een virtuele machine weergeven
GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands?api-version=2023-03-01
Uitvoeringsdetails ophalen voor een specifieke "Run Command"-implementatie
GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?$expand=instanceView&api-version=2023-03-01
Een specifieke Run Command-implementatie verwijderen
U kunt ook het voorbeeld van Run Command verwijderen.
DELETE /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?api-version=2023-03-01
Scripts implementeren in een geordende volgorde
Als u scripts opeenvolgend wilt implementeren, gebruikt u een implementatiesjabloon en geeft u een dependsOn relatie op tussen sequentiële scripts.
{
"type": "Microsoft.Compute/virtualMachines/runCommands",
"name": "secondRunCommand",
"apiVersion": "2019-12-01",
"location": "[parameters('location')]",
"dependsOn": <full resourceID of the previous other Run Command>,
"properties": {
"source": {
"script": "Write-Host Hello World!"
},
"timeoutInSeconds": 60
}
}
Meerdere run-opdrachten sequentieel uitvoeren
Als u standaard meerdere RunCommand-resources implementeert met behulp van een implementatiesjabloon, worden deze gelijktijdig uitgevoerd op de virtuele machine. Als u afhankelijk bent van de scripts en een voorkeursvolgorde van uitvoering, kunt u de dependsOn eigenschap gebruiken om ze opeenvolgend uit te voeren.
In dit voorbeeld wordt secondRunCommand uitgevoerd na firstRunCommand.
{
"$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion":"1.0.0.0",
"resources":[
{
"type":"Microsoft.Compute/virtualMachines/runCommands",
"name":"[concat(parameters('vmName'),'/firstRunCommand')]",
"apiVersion":"2023-03-01",
"location":"[parameters('location')]",
"dependsOn":[
"[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"
],
"properties":{
"source":{
"script":"Write-Host First: Hello World!"
},
"parameters":[
{
"name":"param1",
"value":"value1"
},
{
"name":"param2",
"value":"value2"
}
],
"timeoutInSeconds":20
}
},
{
"type":"Microsoft.Compute/virtualMachines/runCommands",
"name":"[concat(parameters('vmName'),'/secondRunCommand')]",
"apiVersion":"2019-12-01",
"location":"[parameters('location')]",
"dependsOn":[
"[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'),'runcommands/firstRunCommand')]"
],
"properties":{
"source":{
"scriptUri":"http://github.com/myscript.ps1"
},
"timeoutInSeconds":60
}
}
]
}