Menginstal modul PowerShell Az dan Azure Stack untuk Azure Stack Hub
Versi Azure Stack Hub | Versi AzureStack PowerShell |
---|---|
2102 | 2.1.1 |
2108 | 2.2.0 |
2206 | 2.3.0 |
2301+ | 2.4.0 |
Untuk informasi selengkapnya tentang modul AzureStack, lihat PSGallery.
Artikel ini menjelaskan tentang cara menginstal Azure PowerShell Az dan modul administrator Azure Stack Hub yang kompatibel menggunakan PowerShellGet. Modul Az dapat diinstal di platform Windows, macOS, dan Linux.
Anda juga dapat menjalankan modul Az untuk Azure Stack Hub di kontainer Docker. Untuk mengetahui panduannya, lihat Menggunakan Docker untuk menjalankan PowerShell untuk Azure Stack Hub.
Jika Anda ingin menginstal Modul Sumber Daya (AzureRM) PowerShell untuk Azure Stack Hub, lihat Menginstal modul AzureRM PowerShell untuk Azure Stack Hub.
Penting
Tidak akan ada rilis modul Azure Resource Modules baru. Modul AzureRM disediakan khusus untuk perbaikan penting. Ke depannya, hanya akan ada rilis Az untuk Azure Stack Hub.
Anda dapat menggunakan profil API untuk menentukan titik akhir yang kompatibel bagi penyedia sumber daya Azure Stack Hub.
Profil API menyediakan cara mengelola perbedaan versi antara Azure dan Azure Stack Hub. Profil versi API adalah serangkaian modul PowerShell Azure Resource Manager dengan versi API tertentu. Setiap platform cloud memiliki serangkaian profil versi API yang didukung. Misalnya, Azure Stack Hub mendukung versi profil tertentu seperti 2020-09-01-hybrid. Ketika Anda menginstal profil, modul PowerShell Azure Resource Manager yang sesuai dengan profil tersebut akan terinstal.
Anda dapat menginstal Azure Stack Hub yang kompatibel dengan modul PowerShell Az dalam skenario terhubung, terhubung sebagian, maupun terputus dengan koneksi internet. Artikel ini memandu Anda dalam mengikuti petunjuk detail mengenai skenario ini.
1. Verifikasi prasyarat Anda
Modul Az didukung di Azure Stack Hub dengan Versi 2002 atau yang lebih baru dan dengan perbaikan yang saat ini terinstal. Lihat Catatan rilis Azure Stack Hub untuk informasi selengkapnya.
Modul Azure PowerShell Az bekerja di Windows dengan PowerShell 5.1 atau versi lebih tinggi, atau di semua platform dengan PowerShell Core 6.x dan versi lebih baru. Anda harus menginstal versi terbaru PowerShell Core yang tersedia untuk sistem operasi Anda. Azure PowerShell tidak memiliki persyaratan lain saat dijalankan di PowerShell Core.
Untuk memeriksa versi PowerShell Anda, jalankan perintah:
$PSVersionTable.PSVersion
Prasyarat untuk Windows
Untuk menggunakan Azure PowerShell di PowerShell 5.1 pada Windows:
Perbarui ke Windows PowerShell 5.1 jika diperlukan. Jika Anda menggunakan Windows 10, PowerShell 5.1 sudah terinstal di dalamnya.
Pastikan Anda telah menginstal PowerShellGet versi terbaru. Jalankan cmdlet berikut dari perintah yang ditinggikan:
[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. Prasyarat untuk Linux dan Mac
Perlu PowerShell Core 6.x atau versi yang lebih baru. Ikuti tautan ini untuk melihat petunjuk
3. Menghapus instalan versi modul PowerShell Azure Stack Hub yang sudah ada
Sebelum menginstal versi yang diperlukan, pastikan Anda menghapus instalan modul Azure Stack Hub Azure Resource Manager atau Az PowerShell yang terinstal sebelumnya. Menghapus instalan modul dengan menggunakan salah satu dari dua metode berikut:
Untuk menghapus instalan modul Azure Resource Manager dan Az PowerShell yang sudah ada, tutup semua sesi PowerShell yang aktif, dan jalankan cmdlet berikut:
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
Jika Anda mengalami kesalahan seperti 'Modul sudah digunakan', tutup sesi PowerShell yang menggunakan modul tersebut dan jalankan kembali skrip di atas.
Jika Penghapusan Instalan-Modul tidak berhasil, hapus semua folder yang dimulai dengan
Azure
,Az
, atauAzs.
dari lokasi $env:PSModulePath. Untuk PowerShell Windows, lokasinya mungkinC:\Program Files\WindowsPowerShell\Modules
danC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
. Untuk PowerShell Core, lokasinya mungkinC:\Program Files\PowerShell\7\Modules
danC:\Users\{yourusername}\Documents\PowerShell\Modules
. Penghapusan folder ini akan menghapus instalan modul Azure PowerShell yang ada.
4. Terhubung: Menginstal dengan konektivitas internet
Modul Azure Stack Az dapat bekerja di mesin Windows dengan PowerShell 5.1 atau versi yang lebih tinggi, atau di platform Linux atau macOS dengan PowerShell 6.x atau versi yang lebih tinggi. Penggunaan cmdlet PowerShellGet adalah metode penginstalan yang lebih disarankan. Metode ini berfungsi sama pada platform yang didukung.
Jalankan perintah dari sesi PowerShell berikut untuk memperbarui PowerShellGet minimal ke versi 2.2.3
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
Tutup sesi PowerShell Anda, lalu buka sesi PowerShell baru sehingga pembaruan dapat berlaku.
Jalankan yang berikut ini untuk menginstal modul Az.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module -Name Az.BootStrapper -Force Install-AzProfile -Profile 2020-09-01-hybrid -Force
Instal modul AzureStack PowerShell.
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
Peringatan
Modul Azure Resource Manager (AzureRM) dan Az tidak dapat diinstal pada PowerShell 5.1 untuk Windows secara bersamaan. Jika Anda ingin mempertahankan Azure Resource Manager tetap tersedia di sistem Anda, instal modul Az untuk PowerShell Core 6.x atau versi yang lebih baru. Untuk melakukannya, instal PowerShell Core 6.x atau versi yang lebih baru, lalu ikuti instruksi ini di terminal PowerShell Core.
5. Terputus: Menginstal tanpa koneksi internet
Dalam skenario terputus dengan koneksi internet, Anda dapat terlebih dahulu mengunduh modul PowerShell ke mesin yang memiliki konektivitas internet. Kemudian, Anda mentransfernya ke Azure Stack Development Kit (ASDK) untuk melakukan penginstalan.
Masuk ke komputer yang terkoneksi internet dan gunakan skrip berikut untuk mengunduh paket Azure Resource Manager dan Azure Stack Hub, tergantung pada versi Azure Stack Hub Anda.
Penginstalan memiliki lima langkah:
- Instal Azure Stack Hub PowerShell ke mesin yang terkoneksi internet.
- Aktifkan fitur penyimpanan tambahan.
- Angkut paket PowerShell ke stasiun kerja Anda yang terputus koneksi internet.
- Bootstrap penyedia NuGet secara manual di stasiun kerja Anda yang terputus koneksi internet.
- Lakukan konfirmasi penginstalan PowerShell.
Instal Azure Stack Hub PowerShell
Anda dapat menggunakan modul AzureRM atau Az . Kode berikut menyimpan modul Az dari repositori https://www.powershellgallery.com/online yang dapat dipercaya .
[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
Setelah modul Az diinstal, lanjutkan dengan menginstal modul 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
Catatan
Pada komputer tanpa koneksi internet, kami sarankan untuk menjalankan cmdlet berikut untuk menonaktifkan pengumpulan data telemetri. Anda dapat mengalami penurunan kinerja cmdlet jika tidak menonaktifkan pengumpulan data telemetri. Hal ini hanya berlaku untuk komputer tanpa koneksi internet
Disable-AzDataCollection
Menambahkan paket ke stasiun kerja Anda
Salin paket yang diunduh ke perangkat USB.
Masuk ke stasiun kerja yang terputus koneksi internet dan salin paket dari perangkat USB ke lokasi di stasiun kerja.
Bootstrap penyedia NuGet secara manual di stasiun kerja Anda yang terputus koneksi internet. Untuk mengetahui petunjuknya, lihat Melakukan bootstrap penyedia NuGet secara manual pada mesin yang tidak terhubung ke internet.
Daftarkan lokasi ini sebagai repositori default dan instal modul
AzureRM
danAzureStack
dari repositori ini:# 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
Instal modul Az.
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
Instal modul 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
Lakukan konfirmasi penginstalan PowerShell
Lakukan konfirmasi penginstalan dengan menjalankan perintah berikut:
Get-Module -Name "Az*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable
6. Mengonfigurasikan PowerShell untuk menggunakan server proksi
Dalam skenario yang memerlukan server proksi untuk mengakses internet, pertama Anda harus mengonfigurasi PowerShell untuk menggunakan server proksi yang ada:
Buka prompt PowerShell yang ditinggikan.
Jalankan perintah berikut:
#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. Menggunakan modul Az
Anda dapat menggunakan cmdlet dan sampel kode berdasarkan modul AzureRM. Namun, Anda mungkin ingin mengubah nama modul dan cmdlet. Nama modul telah diubah sehingga AzureRM
dan Azure menjadi Az
, dan sama untuk cmdlet. Misalnya, nama modul AzureRM.Compute
telah diganti menjadi Az.Compute
.
New-AzureRMVM
telah menjadi New-AzVM
, and Get-AzureStorageBlob
menjadi Get-AzStorageBlob
.
Untuk diskusi dan panduan yang lebih lengkap tentang memindahkan skrip AzurRM ke Az dan kegagalan akibat perubahan dalam modul Az Azure Stack Hub, lihat Migrasi dari AzureRM ke Azure PowerShell Az.
Masalah yang diketahui
Kesalahan yang muncul saat menginstal modul Az
- Berlaku: Masalah ini berlaku pada versi 2002 dan yang lebih baru
- Penyebab: Saat menginstal modul, kesalahan muncul. Pesan kesalahan dimulai:
Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'.
Atau pesan kesalahan mungkin menyertakan teks berikut:PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
- Remediasi: Jalankan cmdlet berikut di sesi yang sama:
Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
Tutup sesi Anda dan mulai sesi PowerShell baru yang ditinggikan. - Kejadian: Umum
Saat menginstal modul Az, kesalahan hak Admin diperlukan muncul secara keliru
- Berlaku: Masalah ini berlaku pada versi 2002 dan yang lebih baru
- Penyebab: Saat menginstal modul dari perintah yang ditinggikan, kesalahan muncul. Kesalahan berbunyi,
Administrator rights required
. - Remediasi: Tutup sesi Anda dan mulai sesi PowerShell baru yang ditingkatkan. Pastikan tidak ada Az yang telah dibuat. Modul akun dimuat dalam sesi.
- Kejadian: Umum
Cmdlet New-AzVmss gagal saat menggunakan profil 2020-09-01-hybrid
- Berlaku: Masalah ini berlaku pada profil 2020-09-01-hybrid.
- Penyebab: Cmdlet New-AzVmss tidak berfungsi dengan profil 2020-09-01-hybrid.
- Remediasi: Gunakan templat untuk membuat set skala mesin virtual. Anda dapat menemukan sampel templat Azure Stack Hub Resource Manager di Repositori GitHub AzureStack-QuickStart-Templates/101-vmss-windows-vm dan Anda dapat menemukan petunjuk tentang penggunaan Azure Stack Hub Resource Managers dengan Visual Studio Code.
- Kejadian: Umum
Kesalahan muncul saat menjalankan skrip PowerShell
Berlaku: Masalah ini berlaku pada versi 2002 dan yang lebih baru.
Penyebab: Saat menjalankan skrip atau perintah PowerShell menggunakan modul khusus Azure Stack Hub, skrip atau perintah Anda perlu tersedia di modul. Anda mungkin melihat kesalahan berikut:
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.
Modul saat ini adalah modul PowerShell Az, yang telah menggantikan modul PowerShell AzureRM. Jika Anda mencoba menjalankan skrip yang meminta perintah AzureRM saat modul Az diinstal, skrip Anda akan mengalami kesalahan. Atau jika Anda mencoba menjalankan skrip yang meminta perintah Az saat modul AzureRM diinstal, skrip Anda akan mengalami kesalahan.
Remediasi: Hapus instalan modul AzureRM dan instal modul Az. Untuk petunjuk, lihat Menginstal modul Az PowerShell untuk Azure Stack Hub. Jika Anda menggunakan Azure Stack Hub Tools, gunakan alat Az. Buat klon repositori alat dari cabang az, atau unduh AzureStack-Tools dari cabang az. Untuk petunjuk, lihat Mengunduh alat Azure Stack Hub dari GitHub
Kejadian: Umum
Kesalahan muncul dengan New-AzADServicePrincipal dan New-AzADApplication
Berlaku: Lingkungan Azure Stack menggunakan Microsoft Entra ID.
Penyebab: Azure Active Directory Graph memunculkan kesalahan akibat perubahan untuk membatasi
IdentifierUri
aplikasi Active Directory menjadi subdomain dari domain terverifikasi di direktori. Sebelum perubahan, pembatasan ini hanya diterapkan untuk aplikasi multi-penyewa. Saat ini, pembatasan ini juga berlaku untuk aplikasi penyewa tunggal. Perubahan akan mengakibatkan kesalahan berikut:Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running
.Remediasi: Anda dapat mengatasi pembatasan ini dengan dua cara.
Anda harus menggunakan nama prinsipal layanan yang merupakan subdomain dari penyewa direktori. Misalnya, jika direktori itu adalah
contoso.onmicrosoft.com
, nama prinsipal layanannya harus dalam bentuk<foo>.contoso.onmicrosoft.com
. Gunakan cmdlet berikut:New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
Untuk informasi selengkapnya mengenai identitas dan penggunaan prinsipal layanan dengan Azure Stack Hub, lihat Gambaran umum penyedia identitas untuk Azure Stack Hub.
Buat aplikasi Microsoft Entra yang menyediakan yang valid
IdentifierUri
lalu buat perwakilan layanan yang mengaitkan aplikasi menggunakan cmdlet berikut:$app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Kejadian: Umum
Kesalahan: "Autentikasi SharedTokenCacheCredential gagal"
- Berlaku: Masalah ini berlaku untuk semua rilis yang didukung.
- Penyebab: Kesalahan autentikasi SharedTokenCacheCredential gagal muncul saat memiliki beberapa versi AzAccounts yang diinstal dengan Modul PowerShell Azure Stack Hub versi 2.1.1.
- Remediasi: Hapus semua versi AzAccounts dan hanya instal AzAccounts versi 2.2.8 yang didukung.
- Kejadian: Umum