Invoke-AzVMRunCommand
Выполните команду на виртуальной машине.
Синтаксис
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>]
Описание
Вызовите команду выполнения на виртуальной машине.
Примеры
Пример 1. Вызов команды в Windows — использование параметра ScriptPath при расположении скрипта на удаленной виртуальной машине Windows
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptPath 'sample.ps1' -Parameter @{param1 = "var1"; param2 = "var2"}
Вызовите команду запуска RunPowerShellScript с переопределением скрипта sample.ps1 на виртуальной машине Windows с именем vmname в группе ресурсов rgname. Var1 и var2 определяются как параметры в примере.ps1. Значение параметра может быть только строковым типом, и скрипт отвечает за преобразование их в другие типы при необходимости.
Пример 2. Вызов команды в Windows— использование параметра ScriptString для выполнения командлета на виртуальной машине Windows
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RunPowerShellScript' -ScriptString "Set-TimeZone -Name 'Coordinated Universal Time' -PassThru"
Эта команда вызывает команду run "RunShellScript", которая будет выполнять командлет Set-TimeZone с соответствующими параметрами. Этот пример полезен при выполнении коротких команд на виртуальной машине Windows.
Пример 3. Вызов команды в Windows— использование параметра ScriptString для запуска блоков скриптов на виртуальной машине Windows
$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"}
Эта команда вызывает команду run "RunShellScript", которая выполняет блок скрипта на удаленной виртуальной машине Windows с именем vmname. Блочный способ скрипта позволяет выполнять несколько командлетов с параметрами в одном вызове, а также экономит время при вызове нескольких команд выполнения для разных командлетов. Значения параметров могут иметь только строковый тип.
Пример 4. Вызов команды в 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
Эта команда вызывает команду run "RunShellScript" с переопределением скрипта sample.bash на виртуальной машине Linux с именем vmname. Var1 и var2 определяются как параметры в примере.bash.
Параметры
-AsJob
Запустите командлет в фоновом режиме и верните объект задания для отслеживания хода выполнения.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-CommandId
Идентификатор команды выполнения.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DefaultProfile
Учетные данные, учетная запись, клиент и подписка, используемые для взаимодействия с Azure.
Тип: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Parameter
Параметры команды выполнения. Укажите параметры в качестве пар "ключ-значение", которые передаются при выполнении скрипта.
Тип: | Hashtable |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ResourceGroupName
Имя группы ресурсов.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ResourceId
Идентификатор ресурса виртуальной машины.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ScriptPath
Путь к выполняемму скрипту. Если это значение задано, данный скрипт переопределит скрипт по умолчанию команды. Путь должен указывать на файл из локальной файловой системы. Команда загружает ее и отправляет ее для выполнения.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ScriptString
Скрипт, выполняемый в виде строки.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-VM
Объект виртуальной машины PS.
Тип: | PSVirtualMachine |
Aliases: | VMProfile |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-VMName
Имя виртуальной машины.
Тип: | String |
Aliases: | Name |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |