Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig hur du använder PowerShell-modulen Az.Tools.Migration för att automatiskt uppgradera dina PowerShell-skript och skriptmoduler från AzureRM till Az PowerShell-modulen. Fler migreringsalternativ finns i Migrera Azure PowerShell från AzureRM till Az.
Varning
AzureRM PowerShell-modulen har officiellt avvecklats från och med den 29 februari 2024. Användare rekommenderas att migrera från AzureRM till Az PowerShell-modulen för att säkerställa fortsatt support och uppdateringar.
Även om AzureRM-modulen kanske fortfarande fungerar, underhålls eller stöds den inte längre, vilket innebär att fortsatt användning sker på användarens eget ansvar och risk. Se våra migreringsresurser för vägledning om övergången till Az-modulen.
Kravspecifikation
Uppdatera dina befintliga PowerShell-skript till den senaste versionen av AzureRM PowerShell-modulen (6.13.1).
Installera modulen Az.Tools.Migration för PowerShell.
Install-Module -Name Az.Tools.Migration
Steg 1: Generera en uppgraderingsplan
Med cmdleten New-AzUpgradeModulePlan
skapar du en uppgraderingsplan för att migrera dina skript och moduler till Az PowerShell-modulen. Den här cmdleten gör inga ändringar i dina befintliga skript. Använd parametern FilePath
för att rikta in dig på ett visst skript eller parametern DirectoryPath
för att rikta in dig på alla skript i en specifik mapp.
Anmärkning
Cmdleten New-AzUpgradeModulePlan
kör inte planen. Den genererar bara uppgraderingsstegen.
I följande exempel genereras en plan för alla skript i mappen C:\Scripts
.
OutVariable
-parametern anges så att resultaten returneras och lagras samtidigt i en variabel med namnet Plan
.
# 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
Som du ser i följande utdata specificerar uppgraderingsplanen den specifika filen och de offsetpunkter som behöver ändras vid flytten från AzureRM till Az PowerShell-cmdletarna.
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
...
Innan du utför uppgraderingen måste du granska planens resultat för eventuella problem. I följande exempel returneras en lista över skript och objekt i skripten som förhindrar att de uppgraderas automatiskt.
# Filter plan results to only warnings and errors
$Plan | Where-Object PlanResult -ne ReadyToUpgrade | Format-List
Objekten som visas i följande utdata uppgraderas inte automatiskt utan att problemen åtgärdas manuellt först.
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 :
Steg 2: Utför uppgraderingen
Försiktighet
Det finns ingen ångra-åtgärd. Se alltid till att du har en säkerhetskopia av dina PowerShell-skript och moduler som du försöker uppgradera.
När du är nöjd med planen utförs uppgraderingen med cmdleten Invoke-AzUpgradeModulePlan
. Ange SaveChangesToNewFiles
för parametervärdet FileEditMode
för att förhindra att ändringar görs i dina ursprungliga skript. När du använder det här läget utförs uppgraderingen genom att skapa en kopia av varje inriktat skript med _az_upgraded
i filnamnet.
Varning
Cmdleten Invoke-AzUpgradeModulePlan
är destruktiv när alternativet -FileEditMode ModifyExistingFiles
har angetts! Den ändrar dina skript och funktioner på plats enligt moduluppgraderingsplanen som genereras av New-AzUpgradeModulePlan
-cmdleten. Som icke-destruktivt alternativ anger du i stället -FileEditMode SaveChangesToNewFiles
.
# 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
...
Om några fel returneras kan du titta närmare på felresultatet med följande kommando:
# 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 :
Begränsningar
- Fil-I/O-åtgärder använder standardkodning. Ovanliga filkodningssituationer kan orsaka problem.
- AzureRM-cmdletar identifieras inte när de skickas som argument till mock-uttalanden för Pester-enhetstest.
Så här rapporterar du problem
Du kan ge feedback och rapportera problem med PowerShell-modulen Az.Tools.Migration via ett GitHub-ärende på lagringsplatsen azure-powershell-migration
.
Nästa steg
- Migreringsanvisningar
- Migrera PowerShell-skript automatiskt
- Introduktion till Az PowerShell-modulen
- Ändringar mellan AzureRM och Az
- Installera Az PowerShell-modulen
- Avinstallera AzureRM
Du kan läsa mer om Azure PowerShell-modulen i Azure PowerShell-dokumentationen
Azure PowerShell