Installieren des PowerShell AzureRM-Moduls für Azure Stack Hub

Azure PowerShell Azure Resource Manager (AzureRM) stellt eine Reihe von Cmdlets bereit, die das Azure Resource Manager-Modell für die Verwaltung von Azure Stack Hub-Ressourcen verwenden.

Wichtig

Diese Webseite gilt für eine veraltete Version von Azure Stack Hub PowerShell. Alle Versionen des PowerShell-Moduls Azure Resource Manager (AzureRM) sind veraltet, werden aber weiterhin unterstützt. AzureRM-Module werden in zukünftigen Versionen nicht mehr Azure Stack Hub aktualisiert. Az-Module werden für Builds ab 2002 verwendet. Das Profil 2020-09-01-hybrid wird für AzureRM-Module nicht unterstützt.

Für die Interaktion mit Azure und Azure Stack Hub wird nun das Az PowerShell-Modul empfohlen. Informationen zu den ersten Schritten mit dem Az PowerShell-Modul finden Sie unter Installieren des PowerShell Az-Vorschaumoduls für Azure Stack Hub. Informationen über das Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von AzureRM zu Azure PowerShell Az in Azure Stack Hub. Ausführliche Informationen zu den erweiterten Funktionen der Az-Module, die in der globalen Azure-Umgebung eingeführt wurden, finden Sie unter Einführung in das Azure Az PowerShell-Modul.

Darüber hinaus müssen Sie API-Profile verwenden, um die kompatiblen Endpunkte für die Azure Stack Hub-Ressourcenanbieter anzugeben.

API-Profile bieten eine Möglichkeit, Versionsunterschiede zwischen Azure und Azure Stack Hub zu verwalten. Ein API-Versionsprofil ist eine Gruppe von Azure Resource Manager-PowerShell-Modulen mit spezifischen API-Versionen. Jede Cloudplattform verfügt über eine Gruppe von unterstützten API-Versionsprofilen. Beispielsweise unterstützt Azure Stack Hub eine bestimmte Profilversion, z. B. 2019-03-01-hybrid. Wenn Sie ein Profil installieren, werden die Azure Resource Manager-PowerShell-Module installiert, die dem angegebenen Profil entsprechen.

Sie können mit Azure Stack Hub kompatible PowerShell-Module in einem Szenario mit Internetverbindung, mit teilweiser Internetverbindung oder ohne Internetverbindung installieren. Dieser Artikel leitet Sie durch die detaillierten Anweisungen für diese Szenarien.

Sie können die Azure Resource Manager-Module für Azure Stack Hub auch in einem Docker-Container ausführen. Anleitungen finden Sie unter Verwenden von Docker zum Ausführen von PowerShell für Azure Stack Hub.

1. Überprüfen der Voraussetzungen

Bevor Sie mit Azure Stack Hub und dem PowerShell Azure Resource Manager-Modul beginnen, müssen folgende Voraussetzungen erfüllt sein:

  • PowerShell-Version 5.1
    Führen Sie zum Überprüfen Ihrer Version $PSVersionTable.PSVersion aus, und vergleichen Sie die Hauptversion. Wenn Sie nicht über PowerShell 5.1 verfügen, befolgen Sie die Anweisungen unter Installieren von Windows PowerShell.

    Hinweis

    Für PowerShell 5.1 muss ein Windows-Computer verwendet werden.

  • Führen Sie PowerShell in einer Eingabeaufforderung mit erhöhten Rechten aus.

  • Zugriff auf den PowerShell-Katalog
    Sie benötigen Zugriff auf den PowerShell-Katalog. Der Katalog ist das zentrale Repository für PowerShell-Inhalte. Das Modul PowerShellGet enthält Cmdlets zum Ermitteln, Installieren, Aktualisieren und Veröffentlichen von PowerShell-Artefakten. Beispiele für diese Artefakte sind Module, DSC-Ressourcen, Rollenfunktionen und Skripts aus dem PowerShell-Katalog und anderen privaten Repositorys. Bei Verwendung von PowerShell in einem Szenario ohne Internetverbindung müssen Sie Ressourcen über einen Computer mit Internetverbindung abrufen und an einem Speicherort speichern, auf den Sie von Ihrem Computer ohne Internetverbindung aus zugreifen können.

Überprüfen Sie, ob PSGallery als Repository registriert ist.

Hinweis

Für diesen Schritt ist Internetzugriff erforderlich.

Öffnen Sie eine PowerShell-Eingabeaufforderung mit erhöhten Rechten, und führen Sie die folgenden Cmdlets aus:

Install-module -Name PowerShellGet -Force
Import-Module -Name PackageManagement -ErrorAction Stop
Get-PSRepository -Name "PSGallery"

Falls das Repository nicht registriert ist, öffnen Sie eine PowerShell-Sitzung mit erhöhten Rechten, und führen Sie den folgenden Befehl aus:

Register-PSRepository -Default
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted

3. Deinstallieren vorhandener Versionen der Azure Stack Hub-PowerShell-Module

Deinstallieren Sie vor der Installation der erforderlichen Version unbedingt alle zuvor installierten Azure Resource Manager-PowerShell-Module für Azure Stack Hub. Deinstallieren Sie die Module mit einer der folgenden zwei Methoden:

  1. Schließen Sie alle aktiven PowerShell-Sitzungen, und führen Sie die folgenden Cmdlets aus, um die vorhandenen Azure Resource Manager- und Az PowerShell-Module zu deinstallieren:

    Get-Module -Name Azure* -ListAvailable | Uninstall-Module -Force -Verbose -ErrorAction Continue
    Get-Module -Name Azs.* -ListAvailable | Uninstall-Module -Force -Verbose -ErrorAction Continue
    Get-Module -Name Az.* -ListAvailable | Uninstall-Module -Force -Verbose -ErrorAction Continue
    

    Wenn eine Fehlermeldung wie „Das Modul wird bereits verwendet“ auftritt, schließen Sie die PowerShell-Sitzungen, die die Module verwenden, und führen Sie das obige Skript erneut aus.

  2. Löschen Sie aus den Ordnern C:\Program Files\WindowsPowerShell\Modules und C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules alle Ordner, die mit Azure, Az oder Azs. beginnen. Beim Löschen dieser Ordner werden alle vorhandenen PowerShell-Module entfernt.

4. Verbunden: Installieren von PowerShell für Azure Stack Hub mit Internetverbindung

Das API-Versionsprofil und die Azure Stack Hub-PowerShell-Module, die Sie benötigen, hängen von der jeweils ausgeführten Version von Azure Stack Hub ab.

Installieren von Azure Stack Hub PowerShell

Führen Sie zum Installieren dieser Module auf der Entwicklungsarbeitsstation das folgende PowerShell-Skript aus:

Für Azure Stack Hub 2002 oder höher:

Sie können AzureRM-Module oder Az-Vorschaumodule verwenden. Für die Verwendung der Az-Module sind Azure Stack Hub 2002 oder höher erforderlich.

Befolgen Sie zum Verwenden von Az-Vorschaumodulen die Anweisungen unter Installieren des PowerShell Az-Vorschaumoduls für Azure Stack Hub.

# Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet
Install-Module -Name AzureRM.BootStrapper

# Install and import the API Version Profile required by Azure Stack Hub into the current PowerShell session.
Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.8.3 

Für Azure Stack Hub 1910:

# Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet
Install-Module -Name AzureRM.BootStrapper

# Install and import the API Version Profile required by Azure Stack Hub into the current PowerShell session.
Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.8.0

Hinweis

  • Azure Stack Hub-Modulversion 1.8.0 ist ein Breaking Change-Release. Details finden Sie in den Versionshinweisen.

Für Azure Stack Hub 1908 oder früher:

# Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet
Install-Module -Name AzureRM.BootStrapper

# Install and import the API Version Profile required by Azure Stack Hub into the current PowerShell session.
Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.7.2

Hinweis

Azure Stack Hub-Modulversion 1.7.2 ist ein Breaking Change-Release. Informationen zum Migrieren von Azure Stack Hub 1.6.0 finden Sie im Migrationsleitfaden.

Bestätigen der Installation der PowerShell

Führen Sie den folgenden Befehl aus, um die Installation zu überprüfen:

Get-Module -Name "Azure*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable

War die Installation erfolgreich, werden die AzureRm- und AzureStack-Module in der Ausgabe angezeigt.

5. Nicht verbunden: Installieren von PowerShell ohne Internetverbindung

In einem Szenario ohne Internetverbindung müssen Sie zuerst die PowerShell-Module auf einen Computer mit Internetverbindung herunterladen. Anschließend übertragen Sie sie für den Installationsvorgang in das Azure Stack Development Kit (ASDK).

Melden Sie sich bei einem Computer mit Internetverbindung an, und verwenden Sie die folgenden Skripts, um die Pakete „Azure Resource Manager“ und „Azure Stack Hub“ abhängig von Ihrer Version von Azure Stack Hub herunterzuladen.

Die Installation umfasst fünf Schritte:

  1. Installieren von Azure Stack Hub-PowerShell auf einem verbundenen Computer.
  2. Aktivieren zusätzlicher Speicherfunktionen
  3. Übertragen der PowerShell-Pakete auf Ihre getrennte Arbeitsstation
  4. Manuelles Bootstrapping des NuGet-Anbieters auf Ihrer getrennten Arbeitsstation
  5. Bestätigen der Installation von PowerShell

Installieren von Azure Stack Hub PowerShell

Azure Stack Hub 2002 oder höher:

Sie können AAzure Resource Manager- oder Az-Vorschaumodule verwenden. Informationen zu Az-Modulen finden Sie in den Anweisungen zum Installieren des PowerShell Az-Vorschaumoduls für Azure Stack Hub.


Install-module -Name PowerShellGet -Force 
Import-Module -Name PackageManagement -ErrorAction Stop

$Path = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.3

Azure Stack Hub 1910:

Install-module -Name PowerShellGet -Force 
Import-Module -Name PackageManagement -ErrorAction Stop

$Path = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.0

Hinweis

Azure Stack Hub-Modulversion 1.8.0 ist ein Breaking Change-Release. Details finden Sie in den Versionshinweisen.

Für Azure Stack Hub 1908 oder früher:

Install-module -Name PowerShellGet -Force 
Import-Module -Name PackageManagement -ErrorAction Stop

$Path = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.7.2

Hinweis

Azure Stack Hub-Modulversion 1.7.1 ist ein Breaking Change. Informationen zum Migrieren von Azure Stack Hub 1.6.0 finden Sie im Migrationsleitfaden.

Hinweis

Für Computer ohne Internetverbindung empfiehlt es sich, das folgende Cmdlet auszuführen, um das Sammeln von Telemetriedaten zu deaktivieren. Andernfalls kommt es bei den Cmdlets unter Umständen zu einer Leistungsbeeinträchtigung, wenn die Telemetriedatensammlung nicht deaktiviert wird. Dies betrifft nur Computer ohne Internetverbindung.

Disable-AzureRmDataCollection

Hinzufügen Ihrer Paketen auf Ihrer Arbeitsstation

  1. Kopieren Sie die heruntergeladenen Pakete auf ein USB-Gerät.

  2. Melden Sie sich bei der getrennten Arbeitsstation an, und kopieren Sie die Pakete vom USB-Gerät an einen Speicherort auf der Arbeitsstation.

  3. Manuelles Bootstrapping des NuGet-Anbieters auf Ihrer getrennten Arbeitsstation Anweisungen finden Sie unter Manuelles Bootstrapping des NuGet-Anbieters auf einem Computer, der nicht mit dem Internet verbunden ist.

  4. Registrieren Sie diesen Speicherort als Standardrepository, und installieren Sie die Azure Resource Manager- und AzureStack-Module aus diesem Repository:

    # requires -Version 5
    # requires -RunAsAdministrator
    # requires -Module PowerShellGet
    # requires -Module PackageManagement
    
    $SourceLocation = "<Location on the development kit that contains the PowerShell packages>"
    $RepoName = "MyNuGetSource"
    
    Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
    Install-Module -Name AzureRM -Repository $RepoName
    
    Install-Module -Name AzureStack -Repository $RepoName
    

Bestätigen der Installation der PowerShell

Führen Sie den folgenden Befehl aus, um die Installation zu überprüfen:

Get-Module -Name "Azure*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable

6. Konfigurieren von PowerShell für die Verwendung eines Proxyservers

In Szenarien, für die ein Proxyserver für den Zugriff auf das Internet erforderlich ist, konfigurieren Sie zuerst PowerShell für die Verwendung eines vorhandenen Proxyservers:

  1. Öffnen Sie eine PowerShell-Eingabeaufforderung mit erhöhten Rechten.

  2. Führen Sie die folgenden Befehle aus:

    #To use Windows credentials for proxy authentication
    [System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
    
    #Alternatively, to prompt for separate credentials that can be used for #proxy authentication
    [System.Net.WebRequest]::DefaultWebProxy.Credentials = Get-Credential
    

Bekanntes Problem

Fehler „Method get_SerializationSettings“

  • Ursache: Das PowerShell Az-Modul und die PowerShell Azure Resource Manager-Module sind nicht kompatibel.

    Der folgende Fehler gibt an, dass die Azure Resource Manager-Module und Az-Module in derselben Sitzung geladen werden:

    >  Method 'get_SerializationSettings' in type 'Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient' from assembly 'Microsoft.Azure.Commands.ResourceManager.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does 
    not have an implementation.
    
  • Abhilfe: Deinstallieren Sie die in Konflikt stehenden Module.

    Wenn Sie die Azure Resource Manager-Module verwenden möchten, deinstallieren Sie die Az-Module. Deinstallieren Sie die Azure Resource Manager-Module, wenn Sie die Az-Module nutzen möchten. Schließen Sie die PowerShell-Sitzung, und deinstallieren Sie entweder die Az- oder die Azure Resource Manager-Module.

    Anweisungen finden Sie unter Deinstallieren vorhandener Versionen der Azure Stack Hub-PowerShell-Module.

Fehler bei NewAzureRMADServicePrincipal und NewAzureRMAdApplication

  • Geltungsbereich: Azure Stack-Umgebungen, die Azure Active Directory (Azure AD) verwenden.

  • Ursache: Azure Active Directory Graph hat einen Breaking Change eingeführt, um IdentifierUri für Active Directory-Anwendungen auf die Unterdomänen einer überprüften Domäne im Verzeichnis zu beschränken. Vor der Änderung wurde diese Einschränkung nur für mehrinstanzenfähige Apps erzwungen. Diese Einschränkung gilt jetzt auch für Einzelmandanten-Apps. Die Änderung führt zu folgendem Fehler: Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running.

  • Abhilfe: Sie haben zwei Möglichkeiten, um diese Einschränkung zu umgehen.

    • Sie müssen einen Dienstprinzipalnamen verwenden, der eine Unterdomäne des Verzeichnismandanten ist. Wenn das Verzeichnis beispielsweise contoso.onmicrosoft.com ist, muss der Dienstprinzipalname die Form <foo>.contoso.onmicrosoft.com aufweisen. Verwenden Sie das folgende Cmdlet:

      NewAzureRMADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
      

      Weitere Informationen zur Identität und zur Verwendung von Dienstprinzipalen mit Azure Stack Hub finden Sie in der Übersicht über Identitätsanbieter für Azure Stack Hub.

    • Erstellen Sie die Azure AD-App, die ein gültiges IdentifierUri bereitstellt, und erstellen Sie dann den Dienstprinzipal mithilfe des folgenden Cmdlets, um die App zuzuordnen:

      $app=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Häufigkeit: Allgemein

Nächste Schritte