Megosztás a következőn keresztül:


Invoke-AzVMRunCommand

Futtasson egy parancsot a virtuális gépen.

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

Futtatási parancs meghívása a virtuális gépen.

Példák

1. példa: Parancs meghívása Windows rendszeren – ScriptPath paraméter használata, ha a szkript a távoli Windows virtuális gépen található

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

A "RunPowerShellScript" parancs meghívása a "sample.ps1" szkript felülírásával egy "vmname" nevű Windows rendszerű virtuális gépen az "rgname" erőforráscsoportban. A var1 és a var2 paraméterként van definiálva a sample.ps1 fájlban. A paraméterérték csak sztring típusú lehet, és szükség esetén a szkript felelős azért, hogy más típusokra konvertálja őket.

2. példa: Parancs meghívása Windows rendszeren – ScriptString paraméter használata parancsmag futtatásához a Windows rendszerű virtuális gépen

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

Ez a parancs meghív egy "RunShellScript" parancsot, amely végrehajtja a Set-TimeZone parancsmagot a hozzá tartozó paraméterekkel. Ez a példa akkor hasznos, ha rövid parancsokat szeretne végrehajtani Windows rendszerű virtuális gépen.

3. példa: Parancs meghívása Windows rendszeren – ScriptString paraméter használata szkriptblokkok futtatásához a Windows rendszerű virtuális gépen

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

Ez a parancs meghív egy "RunShellScript" futtatási parancsot, amely egy szkriptblokkot hajt végre egy távoli, "vmname" nevű Windows rendszerű virtuális gépen. A szkriptblokkolással több parancsmagot is végrehajthat paraméterekkel egyetlen meghívásban, és időt takarít meg a különböző parancsmagok több futtatási parancsának meghívására is. A paraméterérték(ek) csak sztring típusúak lehetnek.

4. példa: Parancs meghívása Linux rendszeren

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

Ez a parancs meghív egy RunShellScript parancsot, amely felülírja a "sample.bash" szkriptet egy "vmname" nevű Linux rendszerű virtuális gépen. A var1 és a var2 paraméterként van definiálva a sample.bashben.

Paraméterek

-AsJob

Futtassa a parancsmagot a háttérben, és adjon vissza egy feladatobjektumot a folyamat nyomon követéséhez.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-CommandId

A futtatási parancs azonosítója.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt.

Típus:SwitchParameter
Aliasok:cf
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-DefaultProfile

Az Azure-ral való kommunikációhoz használt hitelesítő adatok, fiók, bérlő és előfizetés.

Típus:IAzureContextContainer
Aliasok:AzContext, AzureRmContext, AzureCredential
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Parameter

A futtatási parancs paraméterei. Adja meg a paramétereket kulcs/érték párként, amit a szkript végrehajtásakor kell átadni.

Típus:Hashtable
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ResourceGroupName

Az erőforráscsoport neve.

Típus:String
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-ResourceId

A virtuális gép erőforrás-azonosítója.

Típus:String
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-ScriptPath

A végrehajtandó szkript elérési útja. Ha ez az érték meg van adva, a megadott szkript felülírja a parancs alapértelmezett szkriptét. Az elérési útnak egy helyi fájlrendszerből származó fájlra kell mutatnia. A parancs betölti, és végrehajtásra küldi.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ScriptString

A sztringként végrehajtandó szkript.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-VM

A PS virtuálisgép-objektum.

Típus:PSVirtualMachine
Aliasok:VMProfile
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-VMName

A virtuális gép neve.

Típus:String
Aliasok:Name
Position:1
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-WhatIf

Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.

Típus:SwitchParameter
Aliasok:wi
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Bevitelek

String

PSVirtualMachine

Kimenetek

PSRunCommandResult