Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Azure Resource Manager (AzureRM) PowerShell modülünün tüm sürümleri eski ve destek dışıdır. Az PowerShell modülü artık Azure ve Azure Stack Hub ile etkileşim için önerilen PowerShell modülüdür. Bu makalede Az PowerShell modülünü kullanmaya başlama açıklanmaktadır. Az PowerShell modülüne geçiş hakkında bilgi 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 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, PowerShellGetkullanarak Azure PowerShell Az ve uyumlu Azure Stack Hub yönetici modüllerinin nasıl yükleneceği açıklanmaktadır. Az modüllerini Windows, macOS ve Linux platformlarına yükleyebilirsiniz.
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 kaynak sağlayıcıları için uyumlu uç noktaları belirtmek üzere API profillerini kullanabilirsiniz. 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-hybridgibi 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 makale, bu senaryolar için ayrıntılı yönergelerde size yol gösterir.
Önkoşullarınızı doğrulama
Az modülü, Azure Stack Hub'da güncelleştirme 2002 veya üzeri ve tüm geçerli düzeltmeler yüklendiğinde desteklenir. Daha fazla bilgi için Azure Stack Hub sürüm notları bakın.
Azure PowerShell Az modülleri, Windows üzerinde PowerShell 5.1 veya üzeri veya tüm platformlarda PowerShell Core 6.x ve üzeri sürümlerle çalışır. İşletim sisteminizde kullanılabilen en son PowerShell Core sürümünü yüklemeniz gerekir. PowerShell Core üzerinde çalıştırıldığında Azure PowerShell'in başka bir gereksinimi yoktur.
PowerShell sürümünüzü denetlemek için aşağıdaki komutu çalıştırın:
$PSVersionTable.PSVersion
Windows önkoşulları
Windows üzerinde PowerShell 5.1'de Azure PowerShell kullanmak için:
Gerekirse Windows PowerShell 5.1'i güncelleyin. Windows 10 kullanıyorsanız PowerShell 5.1 zaten yüklüdür.
PowerShellGet'in en son sürümüne sahip olduğunuzdan 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
Linux ve Mac için önkoşullar
PowerShell Core 6.x veya sonraki bir sürüm gereklidir. Yönergeler için bağlantısını izleyin.
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 bu cmdlet'leri yeniden çalıştırın.
Uninstall-Modulebaşarılı olmadıysa, konumlarından Azure , Az veya Azs$env:PSModulePathile başlayan tüm klasörleri silin. Windows PowerShell için konumlarC:\Program Files\WindowsPowerShell\ModulesveC:\Users\{yourusername}\Documents\WindowsPowerShell\Modulesolabilir. PowerShell Core için konumlarC:\Program Files\PowerShell\7\ModulesveC:\Users\{yourusername}\Documents\PowerShell\Modulesolabilir. Bu klasörlerin silinmesi, mevcut Azure PowerShell modüllerini kaldırır.
Bağlı: İ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. Tercih edilen yükleme yöntemi PowerShellGet cmdlet'lerini kullanmaktır. 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 -ForceGü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ğıdaki komutları çalıştırın:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module -Name Az.BootStrapper -Force Install-AzProfile -Profile 2020-09-01-hybrid -ForceAzureStack PowerShell modüllerini yükleyin:
Install-Module -Name AzureStack -RequiredVersion 2.4.0Install-Module -Name AzureStack -RequiredVersion 2.3.0Install-Module -Name AzureStack -RequiredVersion 2.2.0Install-Module -Name AzureStack -RequiredVersion 2.1.1
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 yapın.
- PowerShell yüklemesini onaylayın.
Azure Stack Hub PowerShell'i yükleme
Aşağıdaki kod, Az modüllerini güvenilir çevrimiçi depodanyüklemektedir.
[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.1Az 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.0Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.3.0Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.2.0Save-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 verilerinin toplanmasını devre dışı bırakmak için Disable-AzDataCollection cmdlet'ini çalıştırmanızı öneririz. Aksi takdirde, cmdlet'lerde performans düşüşü yaşayabilirsiniz. Bu yalnızca İnternet bağlantısı olmayan makineler için geçerlidir.
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 yapın. Yönergeler için bkz. İnternetbağlı olmayan bir makinede NuGet sağlayıcısını el ile önyükleme.
Bu konumu varsayılan depo olarak kaydedin ve bu depodan
AzureRMveAzureStackmodü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" [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy TrustedAz modüllerini yükleyin.
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsersAzureStack modüllerini yüklemeL
Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.4.0 -Scope AllUsersInstall-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.3.0 -Scope AllUsersInstall-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.2.0 -Scope AllUsersInstall-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.1.1 -Scope AllUsers
PowerShell'in yüklenmesini onaylama
Aşağıdaki komutu çalıştırarak yüklemeyi onaylayın:
Get-Module -Name "Az*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable
PowerShell'i ara sunucu kullanacak şekilde yapılandırma
Bir ara sunucunun İnternet'e erişmesini gerektiren senaryolarda, önce PowerShell'i var olan bir ara sunucuyu kullanacak şekilde yapılandırabilirsiniz:
Yükseltilmiş bir PowerShell 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
Az modülünü kullanma
AzureRM modüllerini temel alan cmdlet'leri ve kod örneklerini kullanmaya devam edebilirsiniz. Ancak modüllerin ve cmdlet'lerin adını değiştirmeniz gerekir. Modül adları, AzureRM ve Azure Azolacak şekilde ve cmdlet'ler için de aynı şekilde değiştirildi. Örneğin, AzureRM.Compute modülü Az.Computeolarak yeniden adlandırıldı.
New-AzureRMVM
New-AzVMile Get-AzureStorageBlob ise artık Get-AzStorageBlob.
AzureRM betiklerini Az'ye taşıma hakkında daha kapsamlı bir tartışma ve kılavuz ve Azure Stack Hub'ın Az modülündeki büyük değişiklikler hakkında bilgi için bkz. AzureRM'den Azure PowerShell Az'a 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üklenirken bir hata oluşur. Hata iletisi başlar:
Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'.Veya hata iletisi şu 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ünü yüklerken hatalı olarak Yönetici hakları gerekli 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 requiredifadesi yer alır. - Düzeltme: Oturumunuzu kapatın ve yükseltilmiş yeni bir PowerShell oturumu başlatın. Mevcut bir Az olmadığından emin olun. Oturumda yüklenen hesaplar modülü.
- Oluşum: Ortak
2020-09-01-hibrit profili kullanılırken Cmdlet New-AzVmss başarısız oluyor
- Geçerli: Bu sorun 2020-09-01-hibrit profili için geçerlidir.
- Neden: New-AzVmss cmdlet'i 2020-09-01-karma profiliyle çalışmaz.
- 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 AzureStack-QuickStart-Templates/101-vmss-windows-vm GitHub Deposu'nda bulabilir ve Visual Studio Codeile 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
Geçerli: 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 Hubiçin PowerShell Az modülü yükleme . Azure Stack Hub Araçları'nı kullanıyorsanız Az araçlarını kullanın. araç deposunu az dalından 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
IdentifierUridizindeki 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 zorunlu kılınmıştı. Artık bu kısıtlama tek kiracılı uygulamalar için de geçerlidir. Değişiklik şu hatayla sonuçlanır: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 bir çözüm bulabilirsiniz.
Dizin kiracısının alt etki alanı olan bir hizmet ilkesi adı kullanmanız gerekecek. Örneğin, dizin
contoso.onmicrosoft.comise hizmet asıl adının<foo>.contoso.onmicrosoft.combiçiminde olması gerekir. Aşağıdaki cmdlet'i kullanın:New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.comAzure 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 bir
IdentifierUrisağ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: SharedTokenCacheCredential kimlik doğrulaması sırasında bir hata oluştu; bu hata, Azure Stack Hub PowerShell Modülü sürüm 2.1.1 ile birlikte AzAccounts'un birden fazla sürümünün yüklü olması durumunda meydana gelir.
- 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