Azure Stack Hub için PowerShell Az ve Azure Stack modüllerini yükleme
Azure Stack Hub Sürümü | AzureStack PowerShell sürümü |
---|---|
2102 | 2.1.1 |
2108 | 2.2.0 |
2206 | 2.3.0 |
2301+ | 2.4.0 |
AzureStack modülleri hakkında daha fazla bilgi için bkz. PSGallery.
Bu makalede, PowerShellGet kullanarak Azure PowerShell Az ve uyumlu Azure Stack Hub yönetici modüllerinin nasıl yükleneceği açıklanmaktadır. Az modülleri Windows, macOS ve Linux platformlarına yüklenebilir.
Azure Stack Hub için Az modüllerini bir Docker kapsayıcısında da çalıştırabilirsiniz. Yönergeler için bkz. Azure Stack Hub için PowerShell'i çalıştırmak için Docker kullanma.
Azure Stack Hub için PowerShell Kaynak Modülleri (AzureRM) modülünü yüklemek istiyorsanız bkz. Azure Stack Hub için PowerShell AzureRM modülünü yükleme.
Önemli
Yeni Azure Kaynak Modülleri modülü sürümleri olmayacaktır. Azure Kaynak Modülleri modülleri yalnızca kritik düzeltmeler için destek altındadır. Bundan sonra Azure Stack Hub için yalnızca Az sürümleri sunulacaktır.
Api profillerini kullanarak Azure Stack Hub kaynak sağlayıcıları için uyumlu uç noktaları belirtebilirsiniz.
API profilleri, Azure ile Azure Stack Hub arasındaki sürüm farklarını yönetmek için bir yol sağlar. API sürüm profili, belirli API sürümlerine sahip bir dizi Azure Resource Manager PowerShell modülüdür. Her bulut platformunun desteklenen api sürümü profilleri kümesi vardır. Örneğin, Azure Stack Hub 2020-09-01-hybrid gibi belirli bir profil sürümünü destekler. Bir profil yüklediğinizde, belirtilen profile karşılık gelen Azure Resource Manager PowerShell modülleri yüklenir.
Azure Stack Hub uyumlu PowerShell Az modüllerini İnternet'e bağlı, kısmen bağlı veya bağlantısı kesilmiş senaryolara yükleyebilirsiniz. Bu makalede, bu senaryolara yönelik ayrıntılı yönergelerde size yol gösterilir.
1. Önkoşullarınızı doğrulayın
Az modülleri, Güncelleştirme 2002 veya sonraki sürümleriyle ve geçerli düzeltmelerin yüklü olduğu Azure Stack Hub'da desteklenir. Daha fazla bilgi için bkz. Azure Stack Hub sürüm notları .
Azure PowerShell Az modülleri, Windows üzerinde PowerShell 5.1 veya üzeri ya da tüm platformlarda PowerShell Core 6.x ve üzeri ile çalışır. İşletim sisteminiz için kullanılabilen en son PowerShell Core sürümünü yüklemeniz gerekir. Azure PowerShell, PowerShell Core'da çalıştırıldığında başka bir gereksinime sahip değildir.
PowerShell sürümünüzü denetlemek için şu komutu çalıştırın:
$PSVersionTable.PSVersion
Windows önkoşulları
Azure PowerShell’i Windows üzerinde PowerShell 5.1’de kullanmak için:
Gerekirse Windows PowerShell 5.1'e güncelleştirin. Windows 10 kullanıyorsanız, zaten PowerShell 5.1 yüklüdür.
En son PowerShellGet sürümünü kullandığınızdan emin olun. Yükseltilmiş bir komut isteminden aşağıdaki cmdlet'leri çalıştırın:
[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. Linux ve Mac için önkoşullar
PowerShell Core 6.x veya sonraki bir sürüm gereklidir. Yönergeler için bağlantıyı izleyin
3. Azure Stack Hub PowerShell modüllerinin mevcut sürümlerini kaldırma
Gerekli sürümü yüklemeden önce, daha önce yüklenmiş azure stack hub Azure Resource Manager veya Az PowerShell modüllerini kaldırdığınızdan emin olun. Aşağıdaki iki yöntemden birini kullanarak modülleri kaldırın:
Mevcut Azure Resource Manager ve Az PowerShell modüllerini kaldırmak için tüm etkin PowerShell oturumlarını kapatın ve aşağıdaki cmdlet'leri çalıştırın:
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
'Modül zaten kullanılıyor' gibi bir hatayla karşılaşırsanız, modülleri kullanan PowerShell oturumlarını kapatın ve yukarıdaki betiği yeniden çalıştırın.
Uninstall-Module başarılı olmazsa, ,
Az
veyaAzs.
ileAzure
başlayan tüm klasörleri $env:PSModulePath konumlarından silin. Windows PowerShell için konumlar veC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
olabilirC:\Program Files\WindowsPowerShell\Modules
. PowerShell Core için konumlar veC:\Users\{yourusername}\Documents\PowerShell\Modules
olabilirC:\Program Files\PowerShell\7\Modules
. Bu klasörlerin silinmesi, mevcut Azure PowerShell modüllerini kaldırır.
4. Bağlandı: İnternet bağlantısı ile yükleme
Azure Stack Az modülü Bir Windows makinesinde PowerShell 5.1 veya üzeri, Linux veya macOS platformunda PowerShell 6.x veya üzeri ile çalışır. PowerShellGet cmdlet’lerinin kullanılması, tercih edilen yükleme yöntemidir. Bu yöntem desteklenen platformlarda aynı şekilde çalışır.
PowerShellGet'i en az 2.2.3 sürümüne güncelleştirmek için bir PowerShell oturumundan aşağıdaki komutu çalıştırın
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
Güncelleştirmenin etkili olabilmesi için PowerShell oturumunuzu kapatın ve yeni bir PowerShell oturumu açın.
Az modüllerini yüklemek için aşağıdakileri çalıştırın.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module -Name Az.BootStrapper -Force Install-AzProfile -Profile 2020-09-01-hybrid -Force
AzureStack PowerShell modüllerini yükleyin.
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
Uyarı
Windows için PowerShell 5.1 için Azure Resource Manager (AzureRM) ve Az modüllerini aynı anda yükleyemezsiniz. Azure Resource Manager sisteminizde kullanılabilir durumda tutmanız gerekiyorsa PowerShell Core 6.x veya üzeri için Az modülünü yükleyin. Bunu yapmak için PowerShell Core 6.x veya üzerini yükleyin ve ardından bir PowerShell Core terminalinde bu yönergeleri izleyin.
5. Bağlantısı kesildi: İnternet bağlantısı olmadan yükleme
Bağlantısız bir senaryoda, önce PowerShell modüllerini İnternet bağlantısı olan bir makineye indirirsiniz. Ardından, bunları yükleme için Azure Stack Geliştirme Seti'ne (ASDK) aktarırsınız.
İnternet bağlantısı olan bir bilgisayarda oturum açın ve Azure Stack Hub sürümünüze bağlı olarak Azure Resource Manager ve Azure Stack Hub paketlerini indirmek için aşağıdaki betikleri kullanın.
Yüklemenin beş adımı vardır:
- Azure Stack Hub PowerShell'i bağlı bir makineye yükleyin.
- Ek depolama özelliklerini etkinleştirin.
- PowerShell paketlerini bağlantısı kesilmiş iş istasyonunuza aktarın.
- Bağlantısı kesilmiş iş istasyonunuzda NuGet sağlayıcısını el ile önyükleme.
- PowerShell'in yüklenmesini onaylayın.
Azure Stack Hub PowerShell'i yükleme
AzureRM veya Az modüllerini kullanabilirsiniz. Aşağıdaki kod Az modüllerini güvenilir çevrimiçi deposundan https://www.powershellgallery.com/kaydeder.
[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
Az modülleri yüklendikten sonra AzureStack modüllerini yüklemeye devam edin.
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
Not
İnternet bağlantısı olmayan makinelerde, telemetri verileri toplamayı devre dışı bırakmak için aşağıdaki cmdlet'i yürütmenizi öneririz. Telemetri verileri toplamayı devre dışı bırakmadan cmdlet'lerde performans düşüşü yaşayabilirsiniz. Bu yalnızca İnternet bağlantısı olmayan makineler için geçerlidir
Disable-AzDataCollection
Paketlerinizi iş istasyonunuza ekleme
İndirilen paketleri bir USB cihazına kopyalayın.
Bağlantısı kesilmiş iş istasyonunda oturum açın ve paketleri USB cihazından iş istasyonundaki bir konuma kopyalayın.
Bağlantısı kesilmiş iş istasyonunuzda NuGet sağlayıcısını el ile önyükleme. Yönergeler için bkz. İnternet'e bağlı olmayan bir makinede NuGet sağlayıcısını el ile önyükleme.
Bu konumu varsayılan depo olarak kaydedin ve ve
AzureStack
modüllerini bu depodan yükleyinAzureRM
:# 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
Az modüllerini yükleyin.
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
AzureStack modüllerini yükleyin.
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
PowerShell yüklenmesini onaylama
Aşağıdaki komutu çalıştırarak yüklemeyi onaylayın:
Get-Module -Name "Az*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable
6. PowerShell'i ara sunucu kullanacak şekilde yapılandırma
İnternet'e erişmek için bir ara sunucu gerektiren senaryolarda, önce PowerShell'i var olan bir ara sunucuyu kullanacak şekilde yapılandırabilirsiniz:
Yükseltilmiş bir PowerShell komu istemi açın.
Aşağıdaki komutları çalıştırın:
#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. Az modülünü kullanın
AzureRM modüllerini temel alan cmdlet'leri ve kod örneklerini kullanabilirsiniz. Ancak modüllerin ve cmdlet'lerin adını değiştirmek isteyeceksiniz. Modül adları, Azure'ın AzureRM
ve cmdlet'ler için aynı olacak Az
şekilde değiştirildi. Örneğin, AzureRM.Compute
modülü Az.Compute
olarak yeniden adlandırılmıştır.Şimdi New-AzureRMVM
New-AzVM
ve Get-AzureStorageBlob
de Get-AzStorageBlob
olmuştur.
AzurRM betiğini Az'ye taşımaya ve Azure Stack Hub'ın Az modülündeki hataya neden olan değişikliklere yönelik daha kapsamlı bir tartışma ve kılavuz için bkz. AzureRM'den Azure PowerShell Az'ye geçiş.
Bilinen sorunlar
Az modülleri yüklenirken hata oluştu
- Uygulanabilir: Bu sorun 2002 ve üzeri için geçerlidir
- Neden: Modülü yüklerken bir hata oluşur. Hata iletisi başlar:
Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'.
Veya hata iletisi aşağıdaki metni içerebilir:PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
- Düzeltme: Aynı oturumda aşağıdaki cmdlet'i çalıştırın:
Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
Oturumunuzu kapatın ve yeni bir yükseltilmiş PowerShell oturumu başlatın. - Oluşum: Ortak
Az modülü yüklenirken Yönetici gerekli haklar hatası oluşuyor
- Uygulanabilir: Bu sorun 2002 ve üzeri için geçerlidir
- Neden: Modülü yükseltilmiş bir istemden yüklerken bir hata oluşur. Hatada ,
Administrator rights required
ifadesi yer alır. - Düzeltme: Oturumunuzu kapatın ve yeni bir yükseltilmiş PowerShell oturumu başlatın. Mevcut bir Az olmadığından emin olun. Oturumda yüklenen hesaplar modülü.
- Oluşum: Ortak
2020-09-01-hybrid profili kullanılırken Cmdlet New-AzVmss başarısız oluyor
- Uygulanabilir: Bu sorun 2020-09-01-karma profili için geçerlidir.
- Neden: New-AzVmss cmdlet'i 2020-09-01-hybrid profiliyle çalışmıyor.
- Düzeltme: Sanal makine ölçek kümesi oluşturmak için bir şablon kullanın. Azure Stack Hub Resource Manager şablonlarının bir örneğini GitHub Deposu AzureStack-QuickStart-Templates/101-vmss-windows-vm'de bulabilir ve Visual Studio Code ile Azure Stack Hub Kaynak Yöneticileri'ni kullanma yönergelerini bulabilirsiniz.
- Oluşum: Ortak
PowerShell betiği çalıştırılırken hata oluştu
Uygulanabilir: Bu sorun 2002 ve üzeri için geçerlidir.
Neden: Azure Stack Hub'a özgü modülleri kullanarak betikleri veya PowerShell komutlarını çalıştırırken, betiğinizin veya komutunun modülde kullanılabilir olması gerekir. Aşağıdaki hatayı görebilirsiniz:
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.
Geçerli modül, PowerShell AzureRM modülünün yerini alan PowerShell Az modülüdür. Az modülü yüklendiğinde AzureRM komutlarını çağıran bir betik çalıştırmayı denerseniz betiğiniz hata oluşturur. AzureRM modülü yüklendiğinde Az komutlarını çağıran bir betik çalıştırmayı denerseniz betiğiniz hata oluşturur.
Düzeltme: AzureRM modülünü kaldırın ve Az modülünü yükleyin. Yönergeler için bkz. Azure Stack Hub için PowerShell Az modülünü yükleme. Azure Stack Hub Araçları'nı kullanıyorsanız Az araçlarını kullanın. az dalından araç deposunu kopyalayın veya az dalından AzureStack-Tools indirin. Yönergeler için bkz. GitHub'dan Azure Stack Hub araçlarını indirme
Oluşum: Ortak
New-AzADServicePrincipal ve New-AzADApplication ile hata oluştu
Uygulanabilir: Microsoft Entra ID kullanan Azure Stack ortamları.
Neden: Azure Active Directory Graph, Active Directory uygulamalarının
IdentifierUri
dizindeki doğrulanmış bir etki alanının alt etki alanları olmasını kısıtlamak için hataya neden olan bir değişiklik yaptı. Değişiklik öncesinde bu kısıtlama yalnızca çok kiracılı uygulamalar için uygulanıyordu. Artık bu kısıtlama tek kiracılı uygulamalar için de geçerlidir. Değişiklik şu hataya neden olur:Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running
.Düzeltme: Bu kısıtlamaya iki şekilde geçici çözüm bulabilirsiniz.
Dizin kiracısının alt etki alanı olan bir hizmet ilkesi adı kullanmanız gerekir. Örneğin, dizin ise
contoso.onmicrosoft.com
, hizmet asıl adının biçiminde<foo>.contoso.onmicrosoft.com
olması gerekir. Aşağıdaki cmdlet'i kullanın:New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
Azure Stack Hub ile kimlik ve hizmet sorumlularını kullanma hakkında daha fazla bilgi için bkz. Azure Stack Hub için kimlik sağlayıcılarına genel bakış.
Geçerli
IdentifierUri
bir uygulama sağlayan Microsoft Entra uygulamasını oluşturun ve ardından aşağıdaki cmdlet'i kullanarak uygulamayı ilişkilendiren hizmet sorumlusunu oluşturun:$app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Oluşum: Ortak
Hata: "SharedTokenCacheCredential kimlik doğrulaması başarısız oldu"
- Uygulanabilir: Bu sorun desteklenen tüm sürümler için geçerlidir.
- Neden: Azure Stack Hub PowerShell Modülü sürüm 2.1.1 ile azAccounts'ın birden çok sürümü yüklenirken SharedTokenCacheCredential kimlik doğrulaması başarısız oldu hatası oluştu.
- Düzeltme: AzAccounts'ın tüm sürümlerini kaldırın ve yalnızca desteklenen AzAccounts sürüm 2.2.8'i yükleyin.
- Oluşum: Ortak