Sdílet prostřednictvím


Invoke-AzVMRunCommand

Na virtuálním počítači spusťte příkaz.

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

Vyvolejte na virtuálním počítači příkaz spustit.

Příklady

Příklad 1: Vyvolání příkazu ve Windows – použití parametru ScriptPath, když se skript nachází na vzdáleném virtuálním počítači s Windows

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

Vyvolejte příkaz run RunPowerShellScript s přepsáním skriptu sample.ps1 na virtuálním počítači s Windows s názvem vmname ve skupině prostředků rgname. Var1 a var2 jsou definovány jako parametry v sample.ps1. Hodnota parametru může být pouze typ řetězce a skript je v případě potřeby zodpovědný za jejich převod na jiné typy.

Příklad 2: Vyvolání příkazu ve Windows – Spuštění rutiny na virtuálním počítači s Windows pomocí parametru ScriptString

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

Tento příkaz vyvolá příkaz run RunShellScript, který spustí rutinu Set-TimeZone s přidruženými parametry. Tento příklad je užitečný, když chcete na virtuálním počítači s Windows spouštět krátké příkazy.

Příklad 3: Vyvolání příkazu ve Windows – Spuštění bloků skriptu na virtuálním počítači s Windows pomocí parametru ScriptString

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

Tento příkaz vyvolá příkaz run RunShellScript, který spustí blok skriptu na vzdáleném virtuálním počítači s Windows s názvem vmname. Blok skriptu umožňuje spouštět více rutin s parametry v jediném vyvolání a také šetří čas při vyvolání více příkazů spuštění pro různé rutiny. Hodnoty parametrů můžou být pouze typu řetězce.

Příklad 4: Vyvolání příkazu v Linuxu

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

Tento příkaz vyvolá příkaz run RunShellScript s přepsáním skriptu sample.bash na virtuálním počítači s Linuxem s názvem vmname. Var1 a var2 jsou definovány jako parametry v sample.bash.

Parametry

-AsJob

Spusťte rutinu na pozadí a vraťte objekt úlohy ke sledování průběhu.

Typ:SwitchParameter
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-CommandId

ID příkazu spustit.

Typ:String
Position:Named
výchozí hodnota:None
Vyžadováno:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Typ:SwitchParameter
Aliases:cf
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Přihlašovací údaje, účet, tenant a předplatné používané ke komunikaci s Azure.

Typ:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-Parameter

Parametry příkazu spustit. Zadejte parametry jako páry klíč/hodnota, které se mají předat při spuštění skriptu.

Typ:Hashtable
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Název skupiny zdrojů.

Typ:String
Position:0
výchozí hodnota:None
Vyžadováno:True
Accept pipeline input:True
Accept wildcard characters:False

-ResourceId

ID prostředku pro virtuální počítač.

Typ:String
Position:0
výchozí hodnota:None
Vyžadováno:True
Accept pipeline input:True
Accept wildcard characters:False

-ScriptPath

Cesta ke skriptu, který se má spustit. Pokud je tato hodnota zadaná, daný skript přepíše výchozí skript příkazu. Cesta by měla odkazovat na soubor z místního systému souborů. Příkaz ho načte a odešle ho ke spuštění.

Typ:String
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptString

Skript, který se má spustit jako řetězec.

Typ:String
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Objekt virtuálního počítače PS.

Typ:PSVirtualMachine
Aliases:VMProfile
Position:0
výchozí hodnota:None
Vyžadováno:True
Accept pipeline input:True
Accept wildcard characters:False

-VMName

Název virtuálního počítače.

Typ:String
Aliases:Name
Position:1
výchozí hodnota:None
Vyžadováno:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Typ:SwitchParameter
Aliases:wi
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

String

PSVirtualMachine

Výstupy

PSRunCommandResult