Instalowanie modułu AzureRM programu PowerShell dla usługi Azure Stack Hub
Usługa 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 Programu PowerShell usługi Azure Resource Manager (AzureRM) 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 Az programu Azure PowerShell 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 interfejsów 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 PowerShell usługi Azure Resource Manager 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.
Moduły usługi Azure Resource Manager dla usługi Azure Stack Hub można również uruchomić 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 usługi 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, wykonaj czynności opisane w sekcji Instalowanie programu Windows PowerShell.Uwaga
Program PowerShell 5.1 wymaga maszyny z systemem Windows.
Uruchom program PowerShell w wierszu polecenia z podwyższonym poziomem uprawnień.
Galeria programu PowerShell dostęp
Potrzebujesz dostępu 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.
2. Zweryfikuj dostępność Galeria programu PowerShell
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 wszystkie wcześniej zainstalowane moduły programu PowerShell usługi Azure Stack Hub zostały odinstalowane. Odinstaluj moduły przy użyciu jednej z następujących dwóch metod:
Aby odinstalować istniejące moduły usługi 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.
Usuń wszystkie foldery rozpoczynające się od
Azure
,Az
lubAzs.
zC:\Program Files\WindowsPowerShell\Modules
folderów iC:\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ą internetową
Wymagany profil wersji interfejsu API i moduły programu PowerShell usługi Azure Stack Hub będą zależeć od uruchomionej wersji usługi Azure Stack Hub.
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. Użycie 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 to wersja powodująca 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 to przełomowa wersja zmiany. 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, AzureRm
moduły i AzureStack
zostaną wyświetlone w danych wyjściowych.
5. Rozłączone: Instalowanie programu PowerShell bez połączenia internetowego
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:
- Zainstaluj program PowerShell usługi Azure Stack Hub na połączonej maszynie.
- Włącz dodatkowe funkcje magazynu.
- Przetransportuj pakiety programu PowerShell do odłączonej stacji roboczej.
- Ręcznie uruchom dostawcę NuGet na odłączonej stacji roboczej.
- 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 usługi 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 to wersja powodująca 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 jest zmianą powodującą 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
Skopiuj pobrane pakiety na urządzenie USB.
Zaloguj się do odłączonej stacji roboczej i skopiuj pakiety z urządzenia USB do lokalizacji na stacji roboczej.
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.
Zarejestruj tę lokalizację jako domyślne repozytorium 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 korzystania z 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:
Otwórz monit programu PowerShell z podwyższonym poziomem uprawnień.
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 usługi 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łoszony przy użyciu polecenia NewAzureRMADServicePrincipal i NewAzureRMAdApplication
Dotyczy: środowiska usługi Azure Stack korzystające z identyfikatora Entra firmy Microsoft.
Przyczyna: Usługa Azure Active Directory Graph wprowadziła zmianę powodującą niezgodność, aby ograniczyć
IdentifierUri
dla aplikacji usługi Active Directory domenę zweryfikowaną w katalogu. Przed zmianą to ograniczenie zostało wymuszone tylko dla aplikacji wielodostępnych. 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.
Musisz użyć nazwy głównej usługi, która jest poddomeną dzierżawy katalogów. 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 z prawidłowym
IdentifierUri
kodem, 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: typowe