Grundlagen: Azure & PowerShell: Verwaltungszertifikate installieren


PowerShell für die erste Verwendung konfigurieren

Nachdem PowerShell für Azure installiert wurde (siehe auch Grundlagen: PowerShell für Microsoft Azure installieren), müssen Verwaltungszertifikate für die Azure-Abonnements installiert werden, die Sie per PowerShell verwalten möchten. Der einfachste Weg dies zu tun, ist eine Abonnementdatei mit allen notwendigen Daten herunterzuladen und zu importieren. Diese Datei enthält Informationen zur ID, zum Namen, Verwaltungsendpunkt und Verwaltungszertifikat für alle Abonnements, auf die Sie mit Ihren Login Zugriff haben. Die Abonnementdatei, die im XML-Format vorliegt, hat die Dateierweiterung „.publishsettings“.

Mit dem PowerShell-Befehl Get-AzurePublishSettingsFile wird eine Webseite von Microsoft Azure aufgerufen, auf der ein Download der Abonnementdatei gestartet wird. Danach kann mit Import-AzurePublishSettingsFile die Datei importiert werden.

Der Befehl Get-AzurePublishSettingsFile öffnet die Webseite http://go.microsoft.com/fwlink/?LinkID=301775, die zu https://manage.windowsazure.com/publishsettings weiterleitet. Es ist also möglich, diese Webseite auch direkt zu öffnen und dadurch die Abonnementdatei zu erhalten.

clip_image001

Eine Abonnementdatei hat ungefähr den folgenden Inhalt.

Beispiel 1 zeigt die beiden PowerShell-Befehle Get-AzurePublishSettingsFile und Import-AzurePublishSettingsFile im Einsatz.

Mit dem Befehl Get-AzureSubscription können Sie alle Azure-Abonnements auflisten lassen, die Sie auf Ihrem System registriert haben. In der Eigenschaft Accounts sind die Fingerabdrücke der Verwaltungszertifikate gespeichert, die mit dem jeweiligen Azure-Abonnement verbunden sind.

Beispiel 2 zeigt die Verwendung von Get-AzureSubscription, womit u.a. die ID, der Name, die Fingerabdrücke der Verwaltungszertifikate des Abonnements abgerufen werden können.

Der Befehl Get-AzurePublishSettingsFile öffnet also eigentlich nur eine Webseite. Aber was macht der Befehl Import-AzurePublishSettingsFile? Der Befehl Import-AzurePublishSettingsFile speichert Informationen an zwei Standorten:

  1. Das Verwaltungszertifikat wird im persönlichen Zertifikatsspeicher gespeichert.
  2. Die Abonnementinformationen wie ID, Name, Dienst-Endpunkt und der Fingerabdruck des Zertifikats werden im Azure-Profil gespeichert. Die Daten des Azure-Profils für PowerShell finden Sie in der Datei "%userprofile%\AppData\Roaming\Windows Azure Powershell\AzureProfile.json".

Es ist möglich, diesen Prozess von Import-AzurePublishSettingsFile halb-manuell durchzuführen. Dazu muss das gewünschte Verwaltungszertifikat bereits im persönlichen Zertifikatsspeicher installiert sein. Dann kann man mit dem Befehl Set-AzureSubscription ein Azure-Abonnement mit einem Zertifikat verknüpfen.

Beispiel 3 lädt ein Zertifikat und verknüpft es mit einem Azure-Abonnement.

Sobald man mehr mit Azure zu tun hat, wird man mit hoher Wahrscheinlichkeit mit mehreren Azure-Abonnements arbeiten müssen. PowerShell-Befehle werden allerdings immer nur auf das aktuell ausgewählte Azure-Abonnement ausgeführt. Es ist also notwendig, festzulegen, auf welches Azure-Abonnement bestimmte Befehle ausgeführt werden sollen. Zum Wechseln zwischen mehreren Azure-Abonnements ist der Befehl Select-AzureSubscription zu verwenden.

Mit dem Befehl Get-AzureSubscription, den wir weiter oben kennengelernt haben, können wir auch in Erfahrung bringen, welches Azure-Abonnement aktuell und welches als Standardauswahl ausgewählt ist. Die Eigenschaft IsCurrent gibt das aktuelle Azure-Abonnement an und die Eigenschaft IsDefault die Standardauswahl.

Skripte

Für den Fall, dass die Skripte auf GitHub Gist nicht aufrufbar sind, sind diese hier noch einmal unformatiert aufgeführt.

Beispiel 1

Get-AzurePublishSettingsFile

 

Import-AzurePublishSettingsFile 'C:\Users\pkirch\Downloads\Azure MSDN - pkirchner-11-20-2014-credentials.publishsettings'

 

<# Output

 

Id : c6244819-a8d6-4279-b492-4a47f4301c54

Name : Azure MSDN - pkirchner

Environment : AzureCloud

Account : 8BC957EA7D9DA18CCEFB1E3DD820A0ECD43C8060

Properties : {[SupportedModes, AzureServiceManagement]}

 

#>

Beispiel 2

Get-AzureSubscription

 

<# Output

 

SubscriptionId : c6244819-a8d6-4279-b492-4a47f4301c54

SubscriptionName : Azure MSDN - pkirchner

Environment : AzureCloud

SupportedModes : AzureServiceManagement

DefaultAccount : 914193B3332ED5FFF26CECABB522B42AA08EDB0E

Accounts : {914193B3332ED5FFF26CECABB522B42AA08EDB0E, 8BC857EA6D9DA18CCEFB2E3DD820A1ECD43C8060}

IsDefault : True

IsCurrent : True

CurrentStorageAccountName : pkmsft

SubscriptionId : d1c2d82d-11f3-4454-950b-784bf663c0c6

SubscriptionName : MSFT pkirch

Environment : AzureCloud

SupportedModes : AzureServiceManagement

DefaultAccount : A6D71DD42B1EBEFD3FF5EE501970C8C05847CCF5

Accounts : {A6D71DD42B1EBEFD3FF5EE501970C8C05847CCF5}

IsDefault : False

IsCurrent : False

CurrentStorageAccountName : testlabclient

 

#>

Beispiel 3

# Get certificate from personal certificate store.

$cert = Get-Item Cert:\CurrentUser\My96E6A67C50C4BCED9E27D51013CA92272F73FCD

# Add Azure subscription parameter set including name, ID, and certificate.

Set-AzureSubscription -SubscriptionName "Azure MSDN - pkirchner" -SubscriptionId c6244819-a8d6-4279-b492-4a47f4301c54 -Certificate $cert

# No output

Referenzen

Gewusst wie: Verbinden mit Ihrem Abonnement

English Summary

PowerShell needs management certificates to be able to connect to the Microsoft Azure Service Management API. You use the two PowerShell command Get-AzurePublishSettingsFile and Import-AzurePublishSettingsFile to get and import an Azure subscription file with all data like ID, name, service endpoint, and management certificate. With the command Set-AzureSubscription you can manually connect an Azure subscription ID with a preinstalled certificate.

If you have to handle multiple Azure subscriptions you have to switch between Azure subscriptions using the command Select-AzureSubscription because all PowerShell commands operate on the currently selected subscription. You can get view the settings for the currently selected subscription (property IsCurrent) and the default subscription (property IsDefault) using the command Get-AzureSubscription.

Comments (0)

Skip to main content