Instalowanie modułu Az programu PowerShell dla Azure Stack Hub

W tym artykule wyjaśniono, jak zainstalować moduł Azure PowerShell Az i moduły Azure Stack Hub administratorów przy użyciu polecenia PowerShellGet. Moduły Az można instalować na platformach Windows, macOS i Linux.

Moduły Az można również uruchamiać dla Azure Stack Hub w kontenerze platformy Docker. Aby uzyskać instrukcje, zobacz Używanie platformy Docker do uruchamiania programu PowerShell dla Azure Stack Hub.

Jeśli chcesz zainstalować moduł Modułów zasobów programu PowerShell (AzureRM) dla usługi Azure Stack Hub, zobacz Instalowanie modułu AzureRM programu PowerShelldla Azure Stack Hub .

Ważne

Prawdopodobnie nie będą dostępne nowe wersje modułów zasobów platformy Azure. Moduły usługi Azure Resource Modules są w ramach obsługi tylko krytycznych poprawek. W przyszłości będą dostępne tylko wersje Az dla Azure Stack Hub.

Profile interfejsu API mogą być służące do określania zgodnych punktów końcowych dla Azure Stack Hub zasobów.

Profile interfejsu API zapewniają sposób zarządzania różnicami wersji między platformą Azure i Azure Stack Hub. Profil wersji interfejsu API to zestaw modułów programu PowerShell 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 program Azure Stack Hub konkretną wersję profilu, taką jak 2020-09-01-hybrid. Podczas instalowania profilu instalowane są Azure Resource Manager programu PowerShell odpowiadające określonemu profilowi.

Moduły Az Azure Stack Hub PowerShell można zainstalować w scenariuszach połączonych z Internetem, częściowo połączonych lub rozłączonych. Ten artykuł zawiera szczegółowe instrukcje dotyczące tych scenariuszy.

1. Weryfikowanie wymagań wstępnych

Moduły Az są obsługiwane Azure Stack Hub aktualizacji Update 2002 lub nowszej oraz z zainstalowanymi bieżącymi poprawkami. Zobacz informacje Azure Stack Hub o wersji, aby uzyskać więcej informacji.

Moduły Azure PowerShell Az działają z programem PowerShell 5.1 lub nowszym na Windows lub PowerShell Core 6.x lub nowszym na wszystkich platformach. Należy zainstalować najnowszą wersję PowerShell Core systemu operacyjnego. Azure PowerShell nie ma żadnych innych wymagań w przypadku uruchamiania na PowerShell Core.

Aby sprawdzić używaną wersję programu PowerShell, uruchom polecenie:

$PSVersionTable.PSVersion

Wymagania wstępne dotyczące Windows

Aby użyć programu Azure PowerShell w programie PowerShell 5.1 w systemie Windows:

  1. 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.
  2. Zainstaluj program .NET Framework 4.7.2 lub nowszy.
  3. Upewnij się, że masz najnowszą wersję modułu PowerShellGet. Uruchom polecenie Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force.

2. Wymagania wstępne dotyczące systemów Linux i Mac

PowerShell Core jest wymagany PowerShell Core wersji 6.x lub nowszej. Postępuj zgodnie z linkem, aby uzyskać instrukcje

3. Odinstalowywanie istniejących wersji modułów programu Azure Stack Hub PowerShell

Przed zainstalowaniem wymaganej wersji upewnij się, że odinstalujesz wszystkie wcześniej zainstalowane moduły Azure Stack Hub Azure Resource Manager lub Az programu 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ż w użyciu", zamknij sesje programu PowerShell, które korzystają z modułów, i ponownie uruchomić powyższy skrypt.

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

4. Połączono: instalowanie z łącznością z Internetem

Moduł Azure Stack Az będzie działać z programem PowerShell 5.1 lub większym na maszynie Windows albo z programem PowerShell 6.x lub większym na platformie Linux lub macOS. Użycie poleceń cmdlet PowerShellGet jest preferowaną metodą instalacji. Ta metoda działa tak samo na obsługiwanych platformach.

  1. Uruchom następujące polecenie w sesji programu PowerShell, aby zaktualizować program PowerShellGet do wersji 2.2.3 lub wersji 2.2.3

    Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
    
  2. Zamknij sesję programu PowerShell, a następnie otwórz nową sesję programu PowerShell, aby aktualizacja została w życie.

  1. Uruchom następujące polecenie z sesji programu PowerShell:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    Install-Module -Name Az.BootStrapper -Force
    Install-AzProfile -Profile 2020-09-01-hybrid -Force
    Install-Module -Name AzureStack -RequiredVersion 2.1.1 
    
  1. Uruchom następujące polecenie z sesji programu PowerShell:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    Install-Module -Name Az.BootStrapper -Force
    Install-AzProfile -Profile 2019-03-01-hybrid -Force
    Install-Module -Name AzureStack -RequiredVersion 2.0.2-preview -AllowPrerelease
    

Uwaga

Azure Stack Hub module w wersji 2.0.2 jest zmianą przerywaną. Szczegółowe informacje zawiera temat Migrate from AzureRM to Azure PowerShell Az in Azure Stack Hub (Migrowanie z usługi AzureRM do Azure Stack Hub Az).

Ostrzeżenie

Nie można mieć jednocześnie zainstalowanych modułów Azure Resource Manager (AzureRM) i Az dla programu PowerShell 5.1 Windows chmurze. Jeśli chcesz, aby Azure Resource Manager dostępne w systemie, zainstaluj moduł Az dla wersji PowerShell Core 6.x lub nowszej. 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. Odłączone: Zainstaluj 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) w celu instalacji.

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

Instalacja ma pięć kroków:

  1. Zainstaluj Azure Stack Hub PowerShell na podłączonej maszynie.
  2. Włącz dodatkowe funkcje magazynu.
  3. Przetransportuj pakiety programu PowerShell na odłączone stacje robocze.
  4. Ręczne ładowanie początkowe dostawcy NuGet na odłączonych stacjach roboczych.
  5. Potwierdź instalację programu PowerShell.

Instalowanie Azure Stack Hub PowerShell

Azure Stack Hub 2102 lub nowszy.

Możesz użyć modułów Azure Resource Manager lub Az. Aby Azure Resource Manager, zobacz instrukcje w tesłudze Install PowerShell AzureRM module(Instalowanie modułu AzureRM programu PowerShell). Poniższy kod zapisuje moduły z wiarygodnego 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 1.10.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.1.1

Azure Stack Hub 2008 lub starszych.

Możesz użyć modułów Azure Resource Manager lub Az. Aby Azure Resource Manager, zobacz instrukcje w tesłudze Install PowerShell AzureRM module(Instalowanie modułu AzureRM programu PowerShell). Poniższy kod zapisuje moduły z wiarygodnego 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 0.10.0-preview
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.0.2-preview

Uwaga

Na maszynach bez połączenia internetowego zalecamy wykonanie następującego polecenia cmdlet w celu wyłączenia zbierania danych telemetrycznych. Polecenia cmdlet mogą ulec pogorszeniu bez wyłączania zbierania danych telemetrycznych. Dotyczy to tylko maszyn bez połączeń internetowych

Disable-AzDataCollection

Dodawanie pakietów do stacji roboczej

  1. Skopiuj pobrane pakiety na urządzenie USB.

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

  3. Ręczne ładowanie początkowe dostawcy NuGet na odłączonych stacjach roboczych. Aby uzyskać instrukcje, zobacz Ręczne ładowanie początkowe NuGet na maszynie, która nie jest połączona z Internetem.

  4. Zarejestruj tę lokalizację jako domyślne repozytorium i zainstaluj moduły AzureRM i AzureStack 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

 Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.1.1 -Scope AllUsers

 Install-Module -Name Az -Repository $RepoName -RequiredVersion 1.10.0 -Scope AllUsers
# 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

Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.0.2-preview -AllowPrerelease -Scope AllUsers

Install-Module -Name Az -Repository $RepoName -RequiredVersion 0.10.0-preview -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 korzystania z serwera proxy

W scenariuszach, które wymagają serwera proxy w celu uzyskania 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
    

7. Korzystanie z modułu Az

Możesz użyć polecenia cmdlet i przykładów kodu opartych na Azure Resource Manager. Należy jednak zmienić nazwy modułów i polecenia cmdlet. Nazwy modułów zostały zmienione tak, aby platforma Azure stała się AzureRM , i takie same dla polecenia Az cmdlet. Na przykład nazwa AzureRM.Compute modułu została zmieniona na Az.Compute . 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 przełomowych w module Az usługi Azure Stack Hub, zobacz Migrowanie z modułu AzureRM do modułu Azure PowerShell Az.

Znane problemy

Zgłaszany błąd podczas instalowania modułów Az

  • Dotyczy: ten problem dotyczy 2002 i nowszych
  • Przyczyna: Podczas instalowania modułu jest zgłaszany błąd. Zostanie wyświetlony 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 uruchom nową sesję programu PowerShell z podwyższonym poziomem uprawnień.
  • Wystąpienie: Typowe

Podczas instalowania AZ module nie zgłasza błędów wymaganych praw administratora

  • Dotyczy: ten problem dotyczy 2002 i nowszych
  • Przyczyna: podczas instalowania modułu z poziomu monitu o podniesionych uprawnieniach zostanie zgłoszony błąd. Wystąpił błąd Administrator rights required .
  • Korygowanie: Zamknij sesję i Rozpocznij nową sesję programu PowerShell z podwyższonym poziomem uprawnień. Upewnij się, że nie ma istniejącego elementu AZ. Moduł kont załadowany w sesji.
  • Wystąpienie: wspólne

Błąd New-AzVmss polecenia cmdlet podczas korzystania z profilu 2020-09-01-hybrid

  • Dotyczy: Ten problem dotyczy profilu hybrydowego 2020-09-01-hybrid.
  • Przyczyna: Polecenie cmdlet New-AzVmss nie działa z profilem 020-09-01-hybrid.
  • Korygowanie: użyj szablonu do utworzenia zestawu skalowania maszyn wirtualnych. Przykładowe szablony usługi Azure Stack Hub Resource Manager można znaleźć w repozytorium usługi GitHub AzureStack-QuickStart-Templates/101-vmss-windows-vm. Instrukcje dotyczące używania menedżerów zasobów usługi Azure Stack Hub z programem Visual Studio Code.
  • Wystąpienie: Typowe

Zgłaszany błąd podczas uruchamiania skryptu programu PowerShell

  • Dotyczy: Ten problem dotyczy roku 2002 i nowszych.

  • Przyczyna: Podczas uruchamiania skryptów lub poleceń programu PowerShell przy użyciu Azure Stack Hub modułów skrypt lub polecenie muszą być 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żący moduł to moduł Az programu PowerShell, który zastąpił moduł AzureRM programu PowerShell. Jeśli spróbujemy uruchomić skrypt, który wywołuje polecenia modułu AzureRM po zainstalowaniu modułu Az, skrypt zwączy błędy. Jeśli spróbujemy uruchomić skrypt, który wywołuje polecenia Az po zainstalowaniu modułu AzureRM, skrypt będzie zgłaszać błędy.

  • Korygowanie: odinstaluj moduł AzureRM i zainstaluj moduł Az. Aby uzyskać instrukcje, zobacz Instalowanie modułu Az programu PowerShell dla Azure Stack Hub. Jeśli używasz narzędzi 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 Azure Stack Hub narzędzi z GitHub

  • Wystąpienie: Typowe

Następne kroki