Вызовите командлет Set-AzureRmAppServicePlan с произвольными параметрами - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу позвонить Set-AzureRmAppServicePlan с произвольными параметрами, список параметров определяется во время выполнения и не устанавливается статически.

На других языках, таких какPerl Я бы использовал для этого Hash, но я застрял здесь в Powershell, хотя знаю, что Powershell поддерживает HashTables.

Следующий пример не работает

$params = @{}

$params.add('-WorkerSize', 'Small');
$params.add('-NumberofWorkers', '2');

Set-AzureRmAppServicePlan -ResourceGroupName 'RG1' -Name 'AppServicePlna1' $params 

Я получаю Set-AzureRmAppServicePlan : Long running operation failed with status 'BadRequest'. ошибку от Azure.

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

PowerShell поддерживает то, что вы пытаетесь сделать.Он известен как splatting .

В вашем случае у вас есть небольшая опечатка.Все, что вам нужно сделать, это заменить $ на @ в этой строке:

Set-AzureRmAppServicePlan -ResourceGroupName 'RG1' -Name 'AppServicePlna1' $params

Таким образом, рабочая версия выглядит следующим образом:

Set-AzureRmAppServicePlan -ResourceGroupName 'RG1' -Name 'AppServicePlna1' @params

0 голосов
/ 27 ноября 2018

Проблема не в PowerShell, например.

В прошлый раз, когда я проверял, нельзя передать «ключ параметра» для команды модуля Azure.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...