Instalowanie modułu AzureRM programu PowerShell dla usługi Azure Stack Hub

Azure PowerShell Azure Resource Manager (AzureRM) udostępnia zestaw poleceń cmdlet, które używają modelu usługi Azure Resource Manager do zarządzania zasobami usługi Azure Stack Hub.

Ważne

Osiągnięto stronę internetową dla nieaktualnej wersji programu PowerShell usługi Azure Stack Hub. Wszystkie wersje modułu Azure Resource Manager (AzureRM) programu PowerShell są nieaktualne i nie są obsługiwane. Moduły azureRM nie będą już aktualizowane w przyszłych kompilacjach usługi Azure Stack Hub. Moduły Az muszą być używane w kompilacjach 2002 i nowszych. Profil hybrydowy 2020-09-01 nie jest obsługiwany w przypadku modułów AzureRM.

Moduł Az programu PowerShell jest teraz zalecanym modułem programu PowerShell do interakcji z platformą Azure i usługą Azure Stack Hub. Aby rozpocząć pracę z modułem Az programu PowerShell, zobacz Instalowanie modułu Az programu PowerShell w wersji zapoznawczej dla usługi Azure Stack Hub. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az programu PowerShell. Zobacz Migrowanie z modułu AzureRM do modułu Azure PowerShell Az w usłudze Azure Stack Hub. Aby uzyskać szczegółowe informacje na temat zwiększonej funkcjonalności modułów Az, które zostały przyjęte na globalnej platformie Azure, zobacz Wprowadzenie do modułu Azure Az programu PowerShell.

Należy również użyć profilów interfejsu API , aby określić zgodne punkty końcowe dla dostawców zasobów usługi Azure Stack Hub.

Profile interfejsu API umożliwiają zarządzanie różnicami wersji między platformą Azure i usługą Azure Stack Hub. Profil wersji interfejsu API to zestaw modułów programu PowerShell usługi Azure Resource Manager z określonymi wersjami interfejsu API. Każda platforma w chmurze ma zestaw obsługiwanych profilów wersji interfejsu API. Na przykład usługa Azure Stack Hub obsługuje określoną wersję profilu, taką jak 2019-03-01-hybrid. Podczas instalowania profilu instalowane są moduły programu Azure Resource Manager PowerShell odpowiadające określonemu profilowi.

Moduły programu PowerShell zgodne z usługą Azure Stack Hub można zainstalować w scenariuszach połączonych z Internetem, częściowo połączonych lub rozłączonych. W tym artykule przedstawiono szczegółowe instrukcje dotyczące tych scenariuszy.

Możesz również uruchomić moduły usługi Azure Resource Manager dla usługi Azure Stack Hub w kontenerze platformy Docker. Aby uzyskać instrukcje, zobacz Używanie platformy Docker do uruchamiania programu PowerShell dla usługi Azure Stack Hub.

1. Sprawdź wymagania wstępne

Przed rozpoczęciem pracy z usługą Azure Stack Hub i modułem Azure Resource Manager programu PowerShell należy spełnić następujące wymagania wstępne:

  • PowerShell w wersji 5.1
    Aby sprawdzić wersję, uruchom polecenie $PSVersionTable.PSVersion i porównaj wersję główną . Jeśli nie masz programu PowerShell 5.1, postępuj zgodnie z instrukcjami w sekcji Instalowanie Windows PowerShell.

    Uwaga

    Program PowerShell 5.1 wymaga komputera z systemem Windows.

  • Uruchom program PowerShell w wierszu polecenia z podwyższonym poziomem uprawnień.

  • dostęp Galeria programu PowerShell
    Musisz mieć dostęp do Galeria programu PowerShell. Galeria jest centralnym repozytorium zawartości programu PowerShell. Moduł PowerShellGet zawiera polecenia cmdlet do odnajdywania, instalowania, aktualizowania i publikowania artefaktów programu PowerShell. Przykłady tych artefaktów to moduły, zasoby DSC, możliwości ról i skrypty z Galeria programu PowerShell i innych repozytoriów prywatnych. Jeśli używasz programu PowerShell w scenariuszu bez połączenia, musisz pobrać zasoby z komputera z połączeniem z Internetem i zapisać je w lokalizacji dostępnej dla odłączonego komputera.

Sprawdź, czy usługa PSGallery jest zarejestrowana jako repozytorium.

Uwaga

Ten krok wymaga dostępu do Internetu.

Otwórz wiersz polecenia programu PowerShell z podwyższonym poziomem uprawnień i uruchom następujące polecenia cmdlet:

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

Jeśli repozytorium nie jest zarejestrowane, otwórz sesję programu PowerShell z podwyższonym poziomem uprawnień i uruchom następujące polecenie:

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

3. Odinstaluj istniejące wersje modułów programu PowerShell usługi Azure Stack Hub

Przed zainstalowaniem wymaganej wersji upewnij się, że zostały odinstalowane wszystkie wcześniej zainstalowane moduły usługi Azure Stack Hub Resource Manager PowerShell. Odinstaluj moduły przy użyciu jednej z następujących dwóch metod:

  1. Aby odinstalować istniejące moduły azure Resource Manager i Az programu PowerShell, zamknij wszystkie aktywne sesje programu PowerShell i uruchom następujące polecenia cmdlet:

    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
    

    Jeśli wystąpi błąd, taki jak "Moduł jest już używany", zamknij sesje programu PowerShell korzystające z modułów i uruchom ponownie powyższy skrypt.

  2. Usuń wszystkie foldery rozpoczynające się od Azure, Az lub Azs. z C:\Program Files\WindowsPowerShell\Modules folderów i C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules . Usunięcie tych folderów powoduje usunięcie wszystkich istniejących modułów programu PowerShell.

4. Połączone: instalowanie programu PowerShell dla usługi Azure Stack Hub z łącznością z Internetem

Wymagany profil wersji interfejsu API i moduły programu PowerShell usługi Azure Stack Hub będą zależeć od wersji usługi Azure Stack Hub, która jest uruchomiona.

Instalowanie programu PowerShell w usłudze Azure Stack Hub

Uruchom następujący skrypt programu PowerShell, aby zainstalować te moduły na stacji roboczej dewelopera:

W przypadku usługi Azure Stack Hub 2002 lub nowszej:

Możesz użyć modułów AzureRm użytkownika lub modułów Az w wersji zapoznawczej. Korzystanie z modułów Az wymaga usługi Azure Stack Hub 2002 lub nowszej.

Aby użyć modułów Az w wersji zapoznawczej, postępuj zgodnie z instrukcjami w temacie Instalowanie modułu Az programu PowerShell.

# 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 

W przypadku usługi 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

Uwaga

  • Moduł usługi Azure Stack Hub w wersji 1.8.0 jest wydaniem zmiany powodującej niezgodność. Aby uzyskać szczegółowe informacje, zapoznaj się z informacjami o wersji .

W przypadku usługi Azure Stack Hub w wersji 1908 lub starszej:

# 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

Uwaga

Moduł usługi Azure Stack Hub w wersji 1.7.2 jest wydaniem zmiany powodującej niezgodność. Aby przeprowadzić migrację z usługi Azure Stack Hub 1.6.0, zapoznaj się z przewodnikiem migracji.

Potwierdzanie instalacji programu PowerShell

Potwierdź instalację, uruchamiając następujące polecenie:

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

Jeśli instalacja zakończy się pomyślnie, moduły AzureRm i AzureStack zostaną wyświetlone w danych wyjściowych.

5. Rozłączono: instalowanie programu PowerShell bez połączenia z Internetem

W scenariuszu bez połączenia najpierw pobierz moduły programu PowerShell na maszynę, która ma łączność z Internetem. Następnie należy przenieść je do zestawu Azure Stack Development Kit (ASDK) na potrzeby instalacji.

Zaloguj się do komputera z łącznością z Internetem i użyj poniższych skryptów, aby pobrać pakiety usługi Azure Resource Manager i Azure Stack Hub w zależności od używanej wersji usługi Azure Stack Hub.

Instalacja ma pięć kroków:

  1. Zainstaluj program PowerShell usługi Azure Stack Hub na połączonej maszynie.
  2. Włącz dodatkowe funkcje magazynu.
  3. Przetransportuj pakiety programu PowerShell do rozłączonej stacji roboczej.
  4. Ręcznie uruchom dostawcę NuGet na odłączonej stacji roboczej.
  5. Potwierdź instalację programu PowerShell.

Instalowanie programu PowerShell w usłudze Azure Stack Hub

Usługa Azure Stack Hub 2002 lub nowsza.

Możesz użyć modułów azure Resource Manager lub Az w wersji zapoznawczej. Aby uzyskać informacje na temat modułów Az, zobacz instrukcje w temacie Instalowanie modułu Az programu PowerShell.


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

Uwaga

Moduł usługi Azure Stack Hub w wersji 1.8.0 jest wydaniem zmiany powodującej niezgodność. Aby uzyskać szczegółowe informacje, zapoznaj się z informacjami o wersji .

W przypadku usługi Azure Stack Hub w wersji 1908 lub starszej:

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

Uwaga

Moduł usługi Azure Stack Hub w wersji 1.7.1 to zmiana powodująca niezgodność. Aby przeprowadzić migrację z usługi Azure Stack Hub 1.6.0, zapoznaj się z przewodnikiem migracji.

Uwaga

Na maszynach bez połączenia z Internetem zalecamy wykonanie następującego polecenia cmdlet w celu wyłączenia zbierania danych telemetrycznych. Może wystąpić spadek wydajności poleceń cmdlet bez wyłączania zbierania danych telemetrycznych. Dotyczy to tylko maszyn bez połączeń internetowych

Disable-AzureRmDataCollection

Dodawanie pakietów do stacji roboczej

  1. Skopiuj pobrane pakiety na urządzenie USB.

  2. Zaloguj się do odłączonej stacji roboczej i skopiuj pakiety z urządzenia USB do lokalizacji na stacji roboczej.

  3. Ręcznie uruchom dostawcę NuGet na odłączonej stacji roboczej. Aby uzyskać instrukcje, zobacz Ręczne uruchamianie dostawcy NuGet na maszynie, która nie jest połączona z Internetem.

  4. Zarejestruj tę lokalizację jako repozytorium domyślne i zainstaluj usługę Azure Resource Manager i AzureStack moduły z tego repozytorium:

    # 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
    

Potwierdzanie instalacji programu PowerShell

Potwierdź instalację, uruchamiając następujące polecenie:

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

6. Konfigurowanie programu PowerShell do używania serwera proxy

W scenariuszach wymagających serwera proxy dostępu do Internetu należy najpierw skonfigurować program PowerShell do korzystania z istniejącego serwera proxy:

  1. Otwórz monit programu PowerShell z podwyższonym poziomem uprawnień.

  2. Uruchom następujące polecenia:

    #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
    

Znany problem

Błąd get_SerializationSettings metody

  • Przyczyna: moduł Az programu PowerShell i moduły programu Azure Resource Manager programu PowerShell nie są zgodne.

    Następujący błąd wskazuje, że moduły usługi Azure Resource Manager i moduły Az są ładowane w tej samej sesji:

    >  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.
    
  • Korygowanie: odinstaluj moduły powodujące konflikt.

    Jeśli chcesz użyć modułów usługi Azure Resource Manager, odinstaluj moduły Az. Możesz też odinstalować usługę Azure Resource Manager, jeśli chcesz użyć modułów Az. Zamknij sesję programu PowerShell i odinstaluj moduły Az lub Azure Resource Manager.

    Instrukcje można znaleźć w temacie Odinstalowywanie istniejących wersji modułów programu PowerShell usługi Azure Stack Hub.

Błąd zgłaszany przy użyciu polecenia NewAzureRMADServicePrincipal i NewAzureRMAdApplication

  • Dotyczy: środowiska usługi Azure Stack korzystające z Tożsamość Microsoft Entra.

  • Przyczyna: Usługa Azure Active Directory Graph wprowadziła zmianę powodującą niezgodność, aby ograniczyć IdentifierUri dla aplikacji usługi Active Directory poddomeny zweryfikowanej domeny w katalogu. Przed zmianą to ograniczenie zostało wymuszone tylko dla aplikacji z wieloma dzierżawami. Teraz to ograniczenie dotyczy również aplikacji z jedną dzierżawą. Zmiana spowoduje następujący błąd: Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running.

  • Korygowanie: możesz obejść to ograniczenie na dwa sposoby.

    • Należy użyć nazwy głównej usługi, która jest poddomeną dzierżawy katalogu. Jeśli na przykład katalog to contoso.onmicrosoft.com, nazwa główna usługi musi mieć postać <foo>.contoso.onmicrosoft.com. Użyj następującego polecenia cmdlet:

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

      Aby uzyskać więcej informacji na temat tożsamości i używania jednostek usługi w usłudze Azure Stack Hub, zobacz Omówienie dostawców tożsamości dla usługi Azure Stack Hub.

    • Utwórz aplikację Microsoft Entra podając prawidłową wartośćIdentifierUri, a następnie utwórz jednostkę usługi kojarzącą aplikację przy użyciu następującego polecenia cmdlet:

      $app=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Wystąpienie: wspólne

Następne kroki