Azure Stack Hub için PowerShell AzureRM modülünü yükleme
azure Resource Manager (AzureRM) Azure PowerShell, Azure Stack Hub kaynaklarınızı yönetmek için Azure Resource Manager modelini kullanan bir cmdlet kümesi sağlar.
Önemli
Azure Stack Hub PowerShell'in eski bir sürümü için bir web sayfasına ulaştınız. Azure Resource Manager (AzureRM) PowerShell modülünün tüm sürümleri eski ve destek dışıdır. AzureRM modülleri artık gelecekteki Azure Stack Hub derlemelerinde güncelleştirilmeyecek. Az modülleri 2002 ve sonraki derlemeler için kullanılmalıdır. 2020-09-01-hybrid profili AzureRM modülleri için desteklenmez.
Az PowerShell modülü artık Azure ve Azure Stack Hub ile etkileşim için önerilen PowerShell modülüdür. Az PowerShell modülünü kullanmaya başlamak için bkz. Azure Stack Hub için PowerShell Az önizleme modülünü yükleme. Az PowerShell modülüne geçiş yapmayı öğrenmek için. Bkz. Azure Stack Hub'da AzureRM'den Azure PowerShell Az'ye geçiş. Genel Azure'da benimsenen Az modüllerinin artan işlevselliği hakkında ayrıntılı bilgi için bkz. Azure Az PowerShell modülüne giriş.
Azure Stack Hub kaynak sağlayıcıları için uyumlu uç noktaları belirtmek için API profillerini de kullanmanız gerekir.
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 2019-03-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 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.
Azure Stack Hub için Azure Resource Manager 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.
1. Önkoşullarınızı doğrulayın
Azure Stack Hub ve PowerShell Azure Resource Manager modülünü kullanmaya başlamadan önce aşağıdaki önkoşullara sahip olmanız gerekir:
PowerShell Sürüm 5.1
Sürümünüzü denetlemek için $PSVersionTable.PSVersion'ı çalıştırın ve Ana sürümü karşılaştırın. PowerShell 5.1'iniz yoksa Yükleme Windows PowerShell'ni izleyin.Not
PowerShell 5.1 bir Windows makinesi gerektirir.
PowerShell'i yükseltilmiş bir komut isteminde çalıştırın.
erişimi PowerShell Galerisi
PowerShell Galerisi erişmeniz gerekir. Galeri, PowerShell içeriğinin merkezi deposudur. PowerShellGet modülü PowerShell yapıtlarını bulmaya, yüklemeye, güncelleştirmeye ve yayımlamaya yönelik cmdlet'ler içerir. Bu yapıtlara örnek olarak modüller, DSC kaynakları, rol özellikleri ve PowerShell Galerisi ve diğer özel depolardaki betikler verilebilir. PowerShell'i bağlantısız bir senaryoda kullanıyorsanız, İnternet bağlantısı olan bir makineden kaynak almanız ve bunları bağlantısız makinenizin erişebileceği bir konumda depolamanız gerekir.
2. PowerShell Galerisi erişilebilirliğini doğrulama
PSGallery'nin depo olarak kaydedilip kaydedilmediğini doğrulayın.
Not
Bu adım için İnternet erişimi gerekir.
Yükseltilmiş bir PowerShell istemi açın ve aşağıdaki cmdlet'leri çalıştırın:
Install-module -Name PowerShellGet -Force
Import-Module -Name PackageManagement -ErrorAction Stop
Get-PSRepository -Name "PSGallery"
Depo kayıtlı değilse yükseltilmiş bir PowerShell oturumu açın ve aşağıdaki komutu çalıştırın:
Register-PSRepository -Default
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
3. Azure Stack Hub PowerShell modüllerinin mevcut sürümlerini kaldırma
Gerekli sürümü yüklemeden önce, daha önce yüklenmiş olan Azure Stack Hub Azure Resource Manager 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.
ile
Azure
Az
Azs.
başlayan veya veC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
klasörlerindenC:\Program Files\WindowsPowerShell\Modules
tüm klasörleri silin. Bu klasörlerin silinmesi, mevcut PowerShell modüllerini kaldırır.
4. Bağlandı: İnternet bağlantısı ile Azure Stack Hub için PowerShell'i yükleme
Api sürüm profili ve ihtiyacınız olan Azure Stack Hub PowerShell modülleri, çalıştırdığınız Azure Stack Hub sürümüne bağlıdır.
Azure Stack Hub PowerShell'i yükleme
Bu modülleri geliştirme iş istasyonunuza yüklemek için aşağıdaki PowerShell betiğini çalıştırın:
Azure Stack Hub 2002 veya üzeri için:
Kullanıcı AzureRm modüllerini veya Az önizleme modüllerini kullanabilirsiniz. Az modüllerinin kullanılması için Azure Stack Hub 2002 veya sonraki bir sürümü gerekir.
Az önizleme modüllerini kullanmak için PowerShell Az modülünü yükleme başlığındaki yönergeleri izleyin.
# 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
Azure Stack Hub 1910 için:
# 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
Not
- Azure Stack Hub modülü sürüm 1.8.0, yeni bir değişiklik sürümüdür. Ayrıntılar için sürüm notuna bakın.
Azure Stack Hub 1908 veya önceki sürümler için:
# 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
Not
Azure Stack Hub modülü sürüm 1.7.2, yeni bir değişiklik sürümüdür. Azure Stack Hub 1.6.0'dan geçiş yapmak için lütfen geçiş kılavuzuna bakın.
PowerShell yüklenmesini onaylama
Aşağıdaki komutu çalıştırarak yüklemeyi onaylayın:
Get-Module -Name "Azure*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable
Yükleme başarılı olursa çıkışta AzureRm
ve AzureStack
modülleri görüntülenir.
5. Bağlantısı kesildi: PowerShell'i İ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
Azure Stack Hub 2002 veya üzeri.
Azure Resource Manager veya Az önizleme modüllerini kullanabilirsiniz. Az modülleri için Bkz. PowerShell Az modülünü yükleme yönergeleri.
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
Not
Azure Stack Hub modülü sürüm 1.8.0, yeni bir değişiklik sürümüdür. Ayrıntılar için sürüm notuna bakın.
Azure Stack Hub 1908 veya önceki sürümler için:
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
Not
Azure Stack Hub modülünün 1.7.1 sürümü hataya neden olan bir değişikliktir. Azure Stack Hub 1.6.0'dan geçiş yapmak için lütfen geçiş kılavuzuna bakın.
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-AzureRmDataCollection
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 bu depodan Azure Resource Manager ve
AzureStack
modüllerini yükleyin:# 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
PowerShell yüklenmesini onaylama
Aşağıdaki komutu çalıştırarak yüklemeyi onaylayın:
Get-Module -Name "Azure*" -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
Bilinen sorun
Yöntem get_SerializationSettings hatası
Neden: PowerShell Az modülü ve PowerShell Azure Resource Manager modülleri uyumlu değil.
Aşağıdaki hata, Azure Resource Manager modüllerinin ve Az modüllerinin aynı oturumda yüklendiğini gösterir:
> 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.
Düzeltme: Çakışan modülleri kaldırın.
Azure Resource Manager modüllerini kullanmak istiyorsanız Az modüllerini kaldırın. Veya Az modüllerini kullanmak istiyorsanız Azure Resource Manager kaldırın. PowerShell oturumunuzu kapatın ve Az veya Azure Resource Manager modüllerini kaldırın.
Yönergeleri Azure Stack Hub PowerShell modüllerinin mevcut sürümlerini kaldırma makalesinde bulabilirsiniz.
NewAzureRMADServicePrincipal ve NewAzureRMAdApplication 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 asıl 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:NewAzureRMADServicePrincipal -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=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Oluşum: Ortak