How to deploy to Azure with powershell?


December 2018


4.6k time


I want to deploy my application to azure with powershell. So far I have created a certificate in the localmachine store, I'm not going to run the deploy script as me, uploaded the script to azure. The next step is to get access to the service on azure in powershell but there it fails. The script I have so far is:

$cert = Get-Item Cert:\LocalMachine\deploy\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Set-AzureSubscription -SubscriptionName $subscriptionName -SubscriptionId $subscriptionId -Certificate $cert
Select-AzureSubscription $subscriptionName
$service = Get-AzureService $azureId

It fails on the last row with the following message:

Get-AzureService : Communication could not be established. This could be due to an invalid subscription ID. Note that subscription IDs are case sensitive.
At F:\DeployTest\deploy.ps1:9 char:12
+ $service = Get-AzureService $azureId
+            ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Get-AzureService], Exception
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Management.ServiceManagement.HostedServices.GetAzureServiceCommand

Get-AzureService : HTTP Status Code: AuthenticationFailed - HTTP Error Message: The server failed to authenticate the request. Verify that the certificate is valid and is associated with this subscription.
Operation ID: 
At F:\DeployTest\deploy.ps1:9 char:12
+ $service = Get-AzureService $azureId
+            ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Get-AzureService], CommunicationException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Management.ServiceManagement.HostedServices.GetAzureServiceCommand

I really don't know what the problem is, the certificate I'm trying to use is uploaded so it feels like there is something fundamental I've missed.

Update: I did get it to work after downloading the .publishsettings-file and importing that instead of trying to use Set-AzureSubscription. I'm still a little bit confused though, shouldn't it be possible to use the method I tried above?

1 answers


Я наконец-то нашел эту проблему, и, конечно, это проблема пользователя. Во-первых, когда я был в лазурном портале я не нашел, где загрузить сертификат, поэтому я загрузил его на первое место я нашел упоминание сертификатов. То, что я узнал, что этот район был не тот, я загрузил сертификат в области сертификации при облачной службе я хотел администрировать, что неправильное место.

Правильное место для загрузки сертификата находится под settingsв админ портала лазури. Таким образом, приведенный выше код работает , если сертификат будет загружен в нужное место.