Aracılığıyla paylaş


Azure Stack Hub için PowerShell Az ve Azure Stack modüllerini yükleme

Ö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:

  1. Gerekirse Windows PowerShell 5.1'i güncelleyin. Windows 10 kullanıyorsanız PowerShell 5.1 zaten yüklüdür.

  2. .NET Framework 4.7.2 veya sonraki yükleyin.

  3. 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-Module başarılı olmadıysa, konumlarından Azure , Az veya Azs $env:PSModulePath ile başlayan tüm klasörleri silin. Windows PowerShell için konumlar C:\Program Files\WindowsPowerShell\Modules ve C:\Users\{yourusername}\Documents\WindowsPowerShell\Modulesolabilir. PowerShell Core için konumlar C:\Program Files\PowerShell\7\Modules ve C:\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.

  1. 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
    
  2. Güncelleştirmenin etkili olabilmesi için PowerShell oturumunuzu kapatın ve yeni bir PowerShell oturumu açın.

  3. 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 -Force
    
  4. 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
    

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:

  1. Azure Stack Hub PowerShell'i bağlı bir makineye yükleyin.
  2. Ek depolama özelliklerini etkinleştirin.
  3. PowerShell paketlerini bağlantısı kesilmiş iş istasyonunuza aktarın.
  4. Bağlantısı kesilmiş iş istasyonunuzda NuGet sağlayıcısını el ile önyükleme yapın.
  5. PowerShell yüklemesini onaylayın.

Azure Stack Hub PowerShell'i yükleme

  1. 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.1
    
  2. 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 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

  1. İndirilen paketleri bir USB cihazına kopyalayın.

  2. Bağlantısı kesilmiş iş istasyonunda oturum açın ve paketleri USB cihazından iş istasyonundaki bir konuma kopyalayın.

  3. 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.

  4. Bu konumu varsayılan depo olarak kaydedin ve bu depodan AzureRM 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"
     [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
     Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
  5. Az modüllerini yükleyin.

     Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
    
  6. AzureStack modüllerini yüklemeL

    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'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:

  1. Yükseltilmiş bir PowerShell istemi açın.

  2. 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 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 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.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 bir IdentifierUri 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: 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

Sonraki adımlar