Dela via


Invoke-AzVMRunCommand

Kör ett kommando på den virtuella datorn.

Syntax

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

Anropa ett körningskommando på den virtuella datorn.

Exempel

Exempel 1: Anropa ett kommando i Windows – Använda ScriptPath-parametern när skriptet finns på den fjärranslutna virtuella Windows-datorn

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'sample.ps1' -Parameter @{param1 = "var1"; param2 = "var2"}

Anropa ett körningskommando "RunPowerShellScript" med åsidosättande av skriptet "sample.ps1" på en virtuell Windows-dator med namnet "vmname" i resursgruppen "rgname". Var1 och var2 definieras som parametrar i sample.ps1. Parametervärdet kan endast vara strängtyp och skriptet ansvarar för att konvertera dem till andra typer om det behövs.

Exempel 2: Anropa ett kommando i Windows – Använda parametern ScriptString för att köra cmdlet på den virtuella Windows-datorn

Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"

Det här kommandot anropar ett körningskommando "RunShellScript" som kör cmdleten Set-TimeZone med tillhörande parametrar. Det här exemplet är användbart när du vill köra korta kommandon på en virtuell Windows-dator.

Exempel 3: Anropa ett kommando i Windows – Använda parametern ScriptString för att köra skriptblock på den virtuella Windows-datorn

$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"}

Det här kommandot anropar ett körningskommando "RunShellScript" som kör ett skriptblock på en fjärransluten virtuell Windows-dator med namnet "vmname". Med skriptblockeringssättet kan du köra flera cmdletar med parametrar i en enda anrop och det sparar även tid på att anropa flera körningskommandon för olika cmdletar. Parametervärden kan endast vara av strängtyp.

Exempel 4: Anropa ett kommando i 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

Det här kommandot anropar körningskommandot "RunShellScript" och åsidosätter skriptet "sample.bash" på en virtuell Linux-dator med namnet "vmname". Var1 och var2 definieras som parametrar i sample.bash.

Parametrar

-AsJob

Kör cmdleten i bakgrunden och returnera ett jobbobjekt för att spåra förloppet.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-CommandId

Kör kommando-ID.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultProfile

Autentiseringsuppgifter, konto, klientorganisation och prenumeration som används för kommunikation med Azure.

Typ:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Parameter

Kör kommandoparametrarna. Ange parametrar som nyckel/värde-par som ska skickas vid skriptkörning.

Typ:Hashtable
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ResourceGroupName

Namnet på resursgruppen.

Typ:String
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-ResourceId

Resurs-ID:t för den virtuella datorn.

Typ:String
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-ScriptPath

Sökvägen till skriptet som ska köras. När det här värdet anges åsidosätter det angivna skriptet kommandots standardskript. Sökvägen ska peka på en fil från ett lokalt filsystem. Kommandot läser in det och skickar det för körning.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ScriptString

Skriptet som ska köras som en sträng.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-VM

Objektet för den virtuella PS-datorn.

Typ:PSVirtualMachine
Alias:VMProfile
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-VMName

Namnet på den virtuella datorn.

Typ:String
Alias:Name
Position:1
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

String

PSVirtualMachine

Utdata

PSRunCommandResult