Как получить appid и пароль в AZ Cli PowerShell с помощью jmespath?

#azure #powershell #jmespath

#лазурный #powershell #jmespath

Вопрос:

Здравствуйте, я пытаюсь создать учетную запись службы, используя приведенные ниже команды командной строки az. Я пытаюсь получить идентификатор приложения и пароль в объект powershell, используя Jmespath. Это то, что я пытаюсь сделать.

 $serviceprincipalname ="k8ssp"

$spdetails = $( az ad sp create-for-rbac `
--name $serviceprincipalname `
--query [appId, password])

write-output $spdetails
write-output $spdetails[0]
 

Однако запрос Jmespath завершается с ошибкой, приведенной ниже

az ad sp create-for-rbac: ошибка: аргумент —запрос: недопустимое значение jmespath_type: ‘[AppID’

Как я могу выделить идентификатор приложения и пароль в один объект, чтобы позже разделить его и использовать?

Комментарии:

1. --query '[appid, password]' ?

2. Это работает… ааааа, я просто не могу поверить, что потратил на это 30 минут :-). Однако при этом отображается нулевая запись-вывод $spdetails[0]

3. добавьте ‘-o tsv’, как следует из другого ответа, однако я склонен выводить в формате json и анализировать его как объект, так будет лучше

Ответ №1:

Вы можете использовать --query "[appId, password]" -o tsv

 $result=(az ad sp create-for-rbac --name $serviceprincipalname --query "[appId, password]" -o tsv)
 

введите описание изображения здесь