Instalowanie modułów Az i Azure Stack programu PowerShell dla usługi Azure Stack Hub
Wersja usługi Azure Stack Hub | Wersja programu PowerShell w usłudze AzureStack |
---|---|
2102 | 2.1.1 |
2108 | 2.2.0 |
2206 | 2.3.0 |
2301+ | 2.4.0 |
Aby uzyskać więcej informacji na temat modułów usługi AzureStack, zobacz artykuł PSGallery.
W tym artykule wyjaśniono, jak zainstalować moduły administratora Azure PowerShell Az i zgodne z usługą Azure Stack Hub przy użyciu modułu PowerShellGet. Moduły Az można zainstalować na platformach Windows, macOS i Linux.
Moduły Az 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.
Jeśli chcesz zainstalować moduł Moduły zasobów programu PowerShell (AzureRM) dla usługi Azure Stack Hub, zobacz Instalowanie modułu AzureRM programu PowerShell dla usługi Azure Stack Hub.
Ważne
Nie będzie nowych wersji modułów usługi Azure Resource Modules. Moduły modułów zasobów platformy Azure są obsługiwane tylko w przypadku krytycznych poprawek. W przyszłości będą dostępne tylko wersje Az dla usługi Azure Stack Hub.
Profile interfejsu API umożliwiają określenie zgodnych punktów końcowych 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 usługi Azure Resource Manager PowerShell 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 2020-09-01-hybrid. Podczas instalowania profilu instalowane są moduły programu Azure Resource Manager PowerShell odpowiadające określonym profilom.
Moduły Az 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.
1. Sprawdź wymagania wstępne
Moduły Az są obsługiwane w usłudze Azure Stack Hub z aktualizacją Update 2002 lub nowszą oraz z zainstalowanymi bieżącymi poprawkami. Aby uzyskać więcej informacji, zobacz informacje o wersji usługi Azure Stack Hub .
Moduły Azure PowerShell Az współpracują z programem PowerShell 5.1 lub nowszym w systemie Windows lub powerShell Core 6.x i nowszym na wszystkich platformach. Należy zainstalować najnowszą wersję programu PowerShell Core dostępną dla systemu operacyjnego. Azure PowerShell nie ma innych wymagań podczas uruchamiania w programie PowerShell Core.
Aby sprawdzić używaną wersję programu PowerShell, uruchom polecenie:
$PSVersionTable.PSVersion
Wymagania wstępne dotyczące systemu Windows
Aby użyć programu Azure PowerShell w programie PowerShell 5.1 w systemie Windows:
Jeśli to konieczne, przeprowadź aktualizację do programu Windows PowerShell 5.1. Jeśli używasz systemu Windows 10, masz już zainstalowany program PowerShell 5.1.
Zainstaluj program .NET Framework 4.7.2 lub nowszy.
Upewnij się, że masz najnowszą wersję modułu PowerShellGet. Uruchom następujące polecenia cmdlet z poziomu wiersza polecenia z podwyższonym poziomem uprawnień:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 powershell -noprofile $PSVersionTable Uninstall-Module PowershellGet -AllVersions -Force -Confirm:$false Get-module PowershellGet Find-module PowershellGet Install-Module PowershellGet -MinimumVersion 2.2.3 -Force
2. Wymagania wstępne dotyczące systemów Linux i Mac
Wymagana jest wersja programu PowerShell Core 6.x lub nowsza. Postępuj zgodnie z linkiem , aby uzyskać instrukcje
3. Odinstaluj istniejące wersje modułów programu PowerShell usługi Azure Stack Hub
Przed zainstalowaniem wymaganej wersji upewnij się, że odinstalujesz wszystkie wcześniej zainstalowane moduły usługi Azure Stack Hub azure Resource Manager lub Az programu PowerShell. Odinstaluj moduły przy użyciu jednej z następujących dwóch metod:
Aby odinstalować istniejące moduły programu 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.
Jeśli Uninstall-Module nie powiodła się, usuń wszystkie foldery rozpoczynające się od
Azure
,Az
lubAzs.
z lokalizacji $env:PSModulePath. W przypadku Windows PowerShell lokalizacje mogą być iC:\Program Files\WindowsPowerShell\Modules
C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
. W przypadku programu PowerShell Core lokalizacje mogą być iC:\Program Files\PowerShell\7\Modules
C:\Users\{yourusername}\Documents\PowerShell\Modules
. Usunięcie tych folderów powoduje usunięcie wszystkich istniejących modułów Azure PowerShell.
4. Połączono: instalowanie za pomocą łączności z Internetem
Moduł Az usługi Azure Stack będzie działać z programem PowerShell 5.1 lub nowszym na maszynie z systemem Windows lub programem PowerShell 6.x lub nowszym na platformie Linux lub macOS. Użycie poleceń cmdlet PowerShellGet jest preferowaną metodą instalacji. Ta metoda działa tak samo na obsługiwanych platformach.
Uruchom następujące polecenie z sesji programu PowerShell, aby zaktualizować moduł PowerShellGet do minimalnej wersji 2.2.3
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
Zamknij sesję programu PowerShell, a następnie otwórz nową sesję programu PowerShell, aby aktualizacja mogła obowiązywać.
Uruchom następujące polecenie, aby zainstalować moduły Az.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module -Name Az.BootStrapper -Force Install-AzProfile -Profile 2020-09-01-hybrid -Force
Zainstaluj moduły programu PowerShell w usłudze AzureStack.
Install-Module -Name AzureStack -RequiredVersion 2.4.0
Install-Module -Name AzureStack -RequiredVersion 2.3.0
Install-Module -Name AzureStack -RequiredVersion 2.2.0
Install-Module -Name AzureStack -RequiredVersion 2.1.1
Ostrzeżenie
Nie można jednocześnie zainstalować modułów Azure Resource Manager (AzureRM) i Az dla programu PowerShell 5.1 dla systemu Windows. Jeśli musisz zachować dostęp do usługi Azure Resource Manager w systemie, zainstaluj moduł Az dla programu PowerShell Core 6.x lub nowszego. Aby to zrobić, zainstaluj program PowerShell Core w wersji 6.x lub nowszej, a następnie wykonaj następujące instrukcje w terminalu programu PowerShell Core.
5. Rozłączone: instalowanie bez połączenia internetowego
W scenariuszu odłączonym należy najpierw pobrać 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 następujących skryptów, aby pobrać pakiety usługi Azure Resource Manager i Azure Stack Hub w zależności od 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 rozłą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
Możesz użyć modułów AzureRM lub Az . Poniższy kod zapisuje moduły Az z zaufanego repozytorium https://www.powershellgallery.com/online .
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-module -Name PowerShellGet -MinimumVersion 2.2.3 -Force Import-Module -Name PackageManagement -ErrorAction Stop $savedModulesPath = "<Path that is used to save the packages>" Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name Az -Path $savedModulesPath -Force -RequiredVersion 2.0.1
Po zainstalowaniu modułów Az przejdź do instalowania modułów usługi AzureStack.
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.4.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.3.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.2.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.1.1
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ć obniżenie wydajności poleceń cmdlet bez wyłączania zbierania danych telemetrycznych. Dotyczy to tylko maszyn bez połączeń internetowych
Disable-AzDataCollection
Dodawanie pakietów do stacji roboczej
Skopiuj pobrane pakiety do urządzenia 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 repozytorium domyślne i zainstaluj
AzureRM
moduły iAzureStack
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" [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
Zainstaluj moduły Az.
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
Zainstaluj moduły usługi AzureStack.
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.4.0 -Scope AllUsers
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.3.0 -Scope AllUsers
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.2.0 -Scope AllUsers
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.1.1 -Scope AllUsers
Potwierdzanie instalacji programu PowerShell
Potwierdź instalację, uruchamiając następujące polecenie:
Get-Module -Name "Az*" -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:
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
7. Korzystanie z modułu Az
Możesz użyć poleceń cmdlet i przykładów kodu opartych na modułach AzureRM. Należy jednak zmienić nazwę modułów i poleceń cmdlet. Nazwy modułów zostały zmienione tak, aby AzureRM
platforma Azure stała się Az
i taka sama w przypadku poleceń cmdlet. Na przykład nazwa modułu AzureRM.Compute
została zmieniona na Az.Compute
.Polecenie New-AzureRMVM
stało się poleceniem New-AzVM
, a polecenie Get-AzureStorageBlob
to teraz polecenie Get-AzStorageBlob
.
Aby uzyskać bardziej szczegółowe omówienie i wskazówki dotyczące przenoszenia skryptu AzurRM do modułu Az i zmian powodujących niezgodność w module Az usługi Azure Stack Hub, zobacz Migrowanie z modułu AzureRM do modułu Azure PowerShell Az.
Znane problemy
Błąd zgłaszany podczas instalowania modułów Az
- Dotyczy: ten problem dotyczy wersji 2002 i nowszych
- Przyczyna: Podczas instalowania modułu jest zgłaszany błąd. Rozpoczyna się komunikat o błędzie:
Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'.
Lub komunikat o błędzie może zawierać następujący tekst:PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
- Korygowanie: uruchom następujące polecenie cmdlet w tej samej sesji:
Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
Zamknij sesję i rozpocznij nową sesję programu PowerShell z podwyższonym poziomem uprawnień. - Wystąpienie: Wspólne
Podczas instalowania modułu Az błędnie zgłaszany jest błąd Administracja praw wymaganych
- Dotyczy: ten problem dotyczy wersji 2002 i nowszych
- Przyczyna: Podczas instalowania modułu z wiersza polecenia z podwyższonym poziomem uprawnień jest zgłaszany błąd. Błąd mówi:
Administrator rights required
. - Korygowanie: zamknij sesję i rozpocznij nową sesję programu PowerShell z podwyższonym poziomem uprawnień. Upewnij się, że nie ma istniejącego modułu Az. Moduł accounts załadowany w sesji.
- Wystąpienie: Wspólne
Polecenie cmdlet New-AzVmss kończy się niepowodzeniem w przypadku korzystania z profilu hybrydowego 2020-09-01
- Dotyczy: ten problem dotyczy profilu hybrydowego 2020-09-01.
- Przyczyna: Polecenie cmdlet New-AzVmss nie działa z profilem hybrydowym 2020-09-01.
- Korygowanie: użyj szablonu do tworzenia zestawu skalowania maszyn wirtualnych. Przykładowe szablony usługi Azure Stack Hub Resource Manager można znaleźć w repozytorium GitHub AzureStack-QuickStart-Templates/101-vmss-windows-vm. Instrukcje dotyczące korzystania z menedżerów zasobów usługi Azure Stack Hub z Visual Studio Code.
- Wystąpienie: Wspólne
Błąd zgłoszony podczas uruchamiania skryptu programu PowerShell
Dotyczy: ten problem dotyczy wersji 2002 i nowszych.
Przyczyna: Podczas uruchamiania skryptów lub poleceń programu PowerShell przy użyciu modułów specyficznych dla usługi Azure Stack Hub potrzebny będzie skrypt lub polecenie, aby było dostępne w module. Może zostać wyświetlony następujący błąd:
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.
Bieżącym modułem jest moduł Az programu PowerShell, który zastąpił moduł AzureRM programu PowerShell. Jeśli spróbujesz uruchomić skrypt wywołujący polecenia modułu AzureRM po zainstalowaniu modułu Az, skrypt zgłosi błędy. Jeśli spróbujesz uruchomić skrypt wywołujący polecenia Az po zainstalowaniu modułu AzureRM, skrypt zgłosi błędy.
Korygowanie: odinstaluj moduł AzureRM i zainstaluj moduł Az. Aby uzyskać instrukcje, zobacz Instalowanie modułu Az programu PowerShell dla usługi Azure Stack Hub. Jeśli używasz narzędzi usługi Azure Stack Hub, użyj narzędzi Az. Sklonuj repozytorium narzędzi z gałęzi az lub pobierz AzureStack-Tools z gałęzi az . Aby uzyskać instrukcje, zobacz Pobieranie narzędzi usługi Azure Stack Hub z usługi GitHub
Wystąpienie: Wspólne
Błąd zgłoszony przy użyciu New-AzADServicePrincipal i New-AzADApplication
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
domenę podrzędną zweryfikowanej domeny w katalogu dla aplikacji usługi Active Directory. Przed zmianą to ograniczenie było wymuszane 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: to ograniczenie można obejść na dwa sposoby.
Należy użyć nazwy jednostki 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:New-AzADServicePrincipal -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=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Wystąpienie: Wspólne
Błąd: "SharedTokenCacheCredential authentication failed" (Niepowodzenie uwierzytelniania sharedTokenCacheCredential)
- Dotyczy: ten problem dotyczy wszystkich obsługiwanych wersji.
- Przyczyna: Podczas instalowania wielu wersji modułu AzAccounts z modułem Azure Stack Hub PowerShell w wersji 2.1.1 jest zgłaszany błąd SharedTokenCacheCredential.
- Korygowanie: usuń wszystkie wersje modułu AzAccounts i zainstaluj tylko obsługiwane moduły AzAccounts w wersji 2.2.8.
- Wystąpienie: Wspólne