Скрипт Powershell для изменения пропускной способности cosmosDB выдает ошибку 401 - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь изменить пропускную способность cosmosDB с помощью powershell

Когда я запускаю следующий скрипт, я выдаю эту ошибку, но после этого она прекрасно работает

Возвращен запрос токенаошибка http: 401 и ответ сервера: {"error": "invalid_client", "error_description": "AADSTS50012: указан неверный секретный ключ клиента. \ r \ nTrace ID: GUID \ r \ nКорреляционный идентификатор: GUID \ r \ nTimestamp: 2019-01-30 03: 59: 07Z "," error_codes ": [50012]," timestamp ":" 2019-01-30 03: 59: 07Z "," trace_id ":" GUID "," correlation_id ":" GUID"}

$SecurePw = ConvertTo-SecureString $DeploymentServicePrincipalPassword -AsPlainText -Force
az login --service-principal -u $DeploymentServicePrincipalId -p $SecurePw --tenant $TenantId
az account set --subscription $SubscriptionId
az cosmosdb collection update --collection-name $CollectionName --name $AccountName --db-name $DBName --resource-group $ResourceGroupName --throughput $Throughput

Если я не преобразую пароль в защищенную строку, он просто отлично работает.Как исправить вышеописанный скрипт, чтобы он не выдавал ошибку 401?

Спасибо

1 Ответ

0 голосов
/ 30 января 2019

Вы можете добавить вторую строку следующего кода, и он работает мне.

$SecurePw = ConvertTo-SecureString '<your secret>' -AsPlainText -Force
$AzPass = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecurePw));
az login --service-principal -u '<your client id>' -p $AzPass --tenant '<your tenant id >'

Пожалуйста, обратитесь к этому документу .

Выход:

enter image description here

...