PowerShell betiklerini AzureRM'den Az PowerShell modülüne otomatik olarak geçirme
Bu makalede, Az.Tools.Migration PowerShell modülünü kullanarak PowerShell betiklerinizi ve betik modüllerinizi AzureRM'den Az PowerShell modülüne otomatik olarak yükseltmeyi öğreneceksiniz. Geçişle ilgili diğer seçenekler için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Uyarı
AzureRM PowerShell modülü 29 Şubat 2024 itibarıyla resmi olarak kullanım dışı bırakılmıştır. Kullanıcıların destek ve güncelleştirmelerin devam etmesini sağlamak için AzureRM'den Az PowerShell modülüne geçmeleri tavsiye edilir.
AzureRM modülü çalışmaya devam edebilir, ancak artık bakım yapılmaz veya desteklenmez ve kullanıcının takdirine ve riskine bağlı olarak sürekli kullanım sağlanır. Az modülüne geçiş konusunda yönergeler için lütfen geçiş kaynaklarımıza bakın.
Gereksinimler
Mevcut PowerShell betiklerinizi en son AzureRM PowerShell modülü sürümüne (6.13.1) yükseltin.
Az.Tools.Migration PowerShell modülünü yükleyin.
Install-Module -Name Az.Tools.Migration
1. Adım: Yükseltme planı oluşturma
Betiklerinizi ve modüllerinizi Az PowerShell modülüne geçirecek bir yükseltme planı oluşturmak için New-AzUpgradeModulePlan
cmdlet'ini kullanırsınız. Bu cmdlet mevcut betiklerinizde herhangi bir değişiklik yapmaz. Belirli bir betiği hedeflemek için FilePath
parametresini veya belirli bir klasördeki tüm betikleri hedeflemek için DirectoryPath
parametresini kullanın.
Not
New-AzUpgradeModulePlan
cmdlet'i planı yürütmez; yalnızca yükseltme adımlarını oluşturur.
Aşağıdaki örnek, C:\Scripts
klasöründeki tüm betikler için bir plan oluşturur. OutVariable
parametresi belirtilir, böylece sonuçlar döndürülüp aynı anda Plan
adlı bir değişkende depolanır.
# Generate an upgrade plan for all the scripts and module files in the specified folder and save it to a variable.
New-AzUpgradeModulePlan -FromAzureRmVersion 6.13.1 -ToAzVersion latest -DirectoryPath 'C:\Scripts' -OutVariable Plan
Aşağıdaki çıktıda gösterildiği gibi, tükseltme planında AzureRM'den Az PowerShell cmdlet'lerine taşırken değiştirilmesi gereken belirli dosya ve konum noktalarının ayrıntıları yer alır.
Order Location UpgradeType PlanResult Original
----- -------- ----------- ---------- --------
1 compute-create-dockerhost.ps1:59:24 CmdletParameter ReadyToUpgrade ExtensionName
2 compute-create-dockerhost.ps1:59:1 Cmdlet ReadyToUpgrade Set-AzureRmVM...
3 compute-create-dockerhost.ps1:54:1 Cmdlet ReadyToUpgrade New-AzureRmVM
4 compute-create-dockerhost.ps1:51:1 Cmdlet ReadyToUpgrade Add-AzureRmVM...
5 compute-create-dockerhost.ps1:47:1 Cmdlet ReadyToUpgrade Add-AzureRmVM...
6 compute-create-dockerhost.ps1:46:1 Cmdlet ReadyToUpgrade Set-AzureRmVM...
7 compute-create-dockerhost.ps1:45:1 Cmdlet ReadyToUpgrade Set-AzureRmVM...
8 compute-create-dockerhost.ps1:44:13 Cmdlet ReadyToUpgrade New-AzureRmVM...
9 compute-create-dockerhost.ps1:40:8 Cmdlet ReadyToUpgrade New-AzureRmNe...
10 compute-create-dockerhost.ps1:36:8 Cmdlet ReadyToUpgrade New-AzureRmNe...
11 compute-create-dockerhost.ps1:31:16 Cmdlet ReadyToUpgrade New-AzureRmNe...
12 compute-create-dockerhost.ps1:26:15 Cmdlet ReadyToUpgrade New-AzureRmNe...
13 compute-create-dockerhost.ps1:22:8 Cmdlet ReadyToUpgrade New-AzureRmPu...
14 compute-create-dockerhost.ps1:18:9 Cmdlet ReadyToUpgrade New-AzureRmVi...
15 compute-create-dockerhost.ps1:15:17 Cmdlet ReadyToUpgrade New-AzureRmVi...
16 compute-create-dockerhost.ps1:12:1 Cmdlet ReadyToUpgrade New-AzureRmRe...
17 compute-create-windowsvm-quick.ps1:18:3 CmdletParameter ReadyToUpgrade ImageName
18 compute-create-windowsvm-quick.ps1:14:1 Cmdlet ReadyToUpgrade New-AzureRmVM
19 compute-create-windowsvm-quick.ps1:11:1 Cmdlet ReadyToUpgrade New-AzureRmRe...
20 compute-create-wordpress-mysql.ps1:59:24 CmdletParameter ReadyToUpgrade ExtensionName
...
Yükseltmeyi gerçekleştirmeden önce plan sonuçlarını görüntüleyip sorun olup olmadığına bakmanız gerekir. Aşağıdaki örnek, betiklerin ve bu betiklerde yer alan, otomatik olarak yükseltilmelerini engelleyecek öğelerin bir listesini döndürür.
# Filter plan results to only warnings and errors
$Plan | Where-Object PlanResult -ne ReadyToUpgrade | Format-List
Aşağıdaki çıkışta gösterilen öğeler, önce sorunları el ile düzeltmeden otomatik olarak yükseltilmeyecek.
Order : 42
UpgradeType : CmdletParameter
PlanResult : ErrorParameterNotFound
PlanSeverity : Error
PlanResultReason : Parameter was not found in Get-AzResource or it's aliases.
SourceCommand : CommandReference
SourceCommandParameter : CommandReferenceParameter
Location : devtestlab-add-marketplace-image-to-lab.ps1:14:74
FullPath : C:\Scripts\devtestlab-add-marketplace-image-to-lab.ps1
StartOffset : 556
Original : ResourceNameEquals
Replacement :
2. Adım: Yükseltmeyi gerçekleştirme
Dikkat
İşlem geri alınamaz. Geçirmeye çalıştığınız PowerShell betiklerinizin ve modüllerinizin her zaman bir yedek kopyası olmasına dikkat edin.
Plan uygun hale geldiğinde Invoke-AzUpgradeModulePlan
cmdlet’iyle yükseltme gerçekleştirilir. Özgün betiklerinizde değişiklik yapılmasını engellemek için FileEditMode
parametre değeri için SaveChangesToNewFiles
belirtin. Bu modu kullanırken yükseltme işlemi, hedeflenen her betiğin dosya adlarına _az_upgraded
eklenip bir kopyası oluşturularak yapılır.
Uyarı
-FileEditMode ModifyExistingFiles
seçeneği belirtildiğinde Invoke-AzUpgradeModulePlan
cmdlet'i yıkıcıdır! New-AzUpgradeModulePlan
cmdlet'i tarafından oluşturulan modül yükseltme planına uygun olarak betiklerinizi ve işlevlerinizi yerinde değiştirir. Yıkıcı olmayan bir seçenek için onun yerine -FileEditMode SaveChangesToNewFiles
belirtin.
# Execute the automatic upgrade plan and save the results to a variable.
Invoke-AzUpgradeModulePlan -Plan $Plan -FileEditMode SaveChangesToNewFiles -OutVariable Results
Order Location UpgradeType UpgradeResult Original
----- -------- ----------- ------------- --------
1 compute-create-dockerhost.ps1:59:24 CmdletParameter UpgradeCompleted ExtensionName
2 compute-create-dockerhost.ps1:59:1 Cmdlet UpgradeCompleted Set-AzureRmVMExtens...
3 compute-create-dockerhost.ps1:54:1 Cmdlet UpgradeCompleted New-AzureRmVM
4 compute-create-dockerhost.ps1:51:1 Cmdlet UpgradeCompleted Add-AzureRmVMSshPub...
5 compute-create-dockerhost.ps1:47:1 Cmdlet UpgradeCompleted Add-AzureRmVMNetwor...
6 compute-create-dockerhost.ps1:46:1 Cmdlet UpgradeCompleted Set-AzureRmVMSource...
7 compute-create-dockerhost.ps1:45:1 Cmdlet UpgradeCompleted Set-AzureRmVMOperat...
8 compute-create-dockerhost.ps1:44:13 Cmdlet UpgradeCompleted New-AzureRmVMConfig
9 compute-create-dockerhost.ps1:40:8 Cmdlet UpgradeCompleted New-AzureRmNetworkI...
10 compute-create-dockerhost.ps1:36:8 Cmdlet UpgradeCompleted New-AzureRmNetworkS...
11 compute-create-dockerhost.ps1:31:16 Cmdlet UpgradeCompleted New-AzureRmNetworkS...
12 compute-create-dockerhost.ps1:26:15 Cmdlet UpgradeCompleted New-AzureRmNetworkS...
13 compute-create-dockerhost.ps1:22:8 Cmdlet UpgradeCompleted New-AzureRmPublicIp...
14 compute-create-dockerhost.ps1:18:9 Cmdlet UpgradeCompleted New-AzureRmVirtualN...
15 compute-create-dockerhost.ps1:15:17 Cmdlet UpgradeCompleted New-AzureRmVirtualN...
16 compute-create-dockerhost.ps1:12:1 Cmdlet UpgradeCompleted New-AzureRmResource...
17 compute-create-windowsvm-quick.ps1:18:3 CmdletParameter UpgradeCompleted ImageName
18 compute-create-windowsvm-quick.ps1:14:1 Cmdlet UpgradeCompleted New-AzureRmVM
19 compute-create-windowsvm-quick.ps1:11:1 Cmdlet UpgradeCompleted New-AzureRmResource...
20 compute-create-wordpress-mysql.ps1:59:24 CmdletParameter UpgradeCompleted ExtensionName
...
Herhangi bir hata döndürülürse, şu komutu kullanarak hata sonuçlarına daha yakından bakabilirsiniz:
# Filter results to show only errors
$Results | Where-Object UpgradeResult -ne UpgradeCompleted | Format-List
Order : 42
UpgradeType : CmdletParameter
UpgradeResult : UnableToUpgrade
UpgradeSeverity : Error
UpgradeResultReason : Parameter was not found in Get-AzResource or it's aliases.
SourceCommand : CommandReference
SourceCommandParameter : CommandReferenceParameter
Location : devtestlab-add-marketplace-image-to-lab.ps1:14:74
FullPath : C:\Scripts\devtestlab-add-marketplace-image-to-lab.ps1
StartOffset : 556
Original : ResourceNameEquals
Replacement :
Sınırlamalar
- Dosya G/Ç işlemlerinde varsayılan kodlama kullanılır. Olağan dışı dosya kodlama durumları sorunlara neden olabilir.
- Pester birimi sahte test deyimlerine geçirilen AzureRM cmdlet'leri algılanmaz.
Sorunları bildirme
Az.Tools.Migration PowerShell modülüyle ilgili geri bildirimleri ve sorunları azure-powershell-migration
deposunda bir GitHub sorunu yoluyla gönderin.
Sonraki adımlar
- Geçiş Adımları
- PowerShell betiklerini otomatik olarak geçirme
- Az PowerShell modülüne giriş
- AzureRM ile Az arasındaki değişiklikler
- Az PowerShell modülünü yükleme
- AzureRM'yi kaldırma
Az PowerShell modülü hakkında daha fazla bilgi edinmek için Azure PowerShell belgelerine bakın
Azure PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin