Zásadní změny v Az 1.0.0
Tento dokument obsahuje podrobné informace o změnách mezi AzureRM 6.x a novým modulem Az verze 1.x nebo novější. Obsah vám pomůže zorientovat se v celé cestě k migraci, včetně změn specifických pro jednotlivé moduly, které můžou mít vliv na vaše skripty.
Obecné rady k zahájení migrace z AzureRM na Az najdete v tématu Zahájení migrace z AzureRM na Az.
Důležité
Došlo také k zásadním změnám mezi Az 1.0.0 a Az 2.0.0. Až si projdete tohoto průvodce aktualizací z AzureRM na Az, projděte si zásadní změny v Az 2.0.0 a zjistěte, jestli je potřeba provést další změny.
Obsah
- Obecné zásadní změny
- Zásadní změny modulů
- Az.ApiManagement (dříve AzureRM.ApiManagement)
- Az.Billing (dříve AzureRM.Billing, AzureRM.Consumption a AzureRM.UsageAggregates)
- Az.CognitiveServices (dříve AzureRM.CognitiveServices)
- Az.Compute (dříve AzureRM.Compute)
- Az.DataFactory (dříve AzureRM.DataFactories a AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (dříve AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (dříve AzureRM.DataLakeStore)
- Az.KeyVault (dříve AzureRM.KeyVault)
- Az.Media (dříve AzureRM.Media)
- Az.Monitor (dříve AzureRM.Insights)
- Az.Network (dříve AzureRM.Network)
- Az.OperationalInsights (dříve AzureRM.OperationalInsights)
- Az.RecoveryServices (dříve AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup a AzureRM.RecoveryServices.SiteRecovery)
- Az.Resources (dříve AzureRM.Resources)
- Az.ServiceFabric (dříve AzureRM.ServiceFabric)
- Az.Sql (dříve AzureRM.Sql)
- Az.Storage (dříve Azure.Storage a AzureRM.Storage)
- Az.Websites (dříve AzureRM.Websites)
Obecné zásadní změny
Tato část podrobně popisuje obecné zásadní změny v souvislosti s přepracováním modulu Az.
Změny předpon rutin
V modulu AzureRM rutiny jako předponu používaly AzureRM
nebo Azure
. Az názvy rutin zjednodušuje a normalizuje, aby všechny rutiny jako předponu používaly Az. Příklad:
Get-AzureRMVM
Get-AzureKeyVaultSecret
Po změně:
Get-AzVM
Get-AzKeyVaultSecret
Pro zjednodušení přechodu na tyto nové názvy rutin Az zavádí dvě nové rutiny – Enable-AzureRmAlias a Disable-AzureRmAlias. Enable-AzureRmAlias
vytvoří aliasy pro starší názvy rutin v AzureRM, které se mapují na novější názvy rutin Az. Pomocí argumentu -Scope
v rutině Enable-AzureRmAlias
můžete zvolit, kde se mají aliasy povolit.
Například následující skript v AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
je možné spustit s minimálními změnami s využitím rutiny Enable-AzureRmAlias
:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Spuštěním rutiny Enable-AzureRmAlias -Scope CurrentUser
se povolí aliasy pro všechny relace PowerShellu, které otevřete, aby nebylo nutné nijak měnit podobné skripty:
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Úplné podrobnosti o používání aliasů rutin najdete v referenčních informacích k rutině Enable-AzureRmAlias.
Jakmile budete připraveni zakázat aliasy, rutinou Disable-AzureRmAlias
se odeberou vytvořené aliasy. Úplné podrobnosti najdete v referenčních informacích k rutině Disable-AzureRmAlias.
Důležité
Při zakazování aliasů se ujistěte, že se zakáží pro všechny obory, ve kterých byly povolené.
Změny názvů modulů
Názvy modulů se změnily z AzureRM.*
na Az.*
s výjimkou následujících modulů:
Modul AzureRM | Modul Az |
---|---|
Azure.Storage | Az.Storage |
Azure.AnalysisServices | Az.AnalysisServices |
AzureRM.Profile | Az.Accounts |
AzureRM.Insights | Az.Monitor |
AzureRM.DataFactories | Az.DataFactory |
AzureRM.DataFactoryV2 | Az.DataFactory |
AzureRM.RecoveryServices.Backup | Az.RecoveryServices |
AzureRM.RecoveryServices.SiteRecovery | Az.RecoveryServices |
AzureRM.Tags | Az.Resources |
AzureRM.MachineLearningCompute | Az.MachineLearning |
AzureRM.UsageAggregates | Az.Billing |
AzureRM.Consumption | Az.Billing |
Změny v názvech modulů znamenají, že všechny skripty, které k načtení konkrétních modulů používají příkazy #Requires
a Import-Module
, bude potřeba změnit tak, aby místo toho používaly nové názvy modulů. Pro moduly, ve kterých se přípona rutiny nezměnila, to znamená, že i když se změnil název modulu, přípona označující pracovní prostor se nezměnila.
Migrace příkazů #Requires a Import-Module
Skripty, které pomocí příkazu #Requires
nebo Import-Module
deklarují závislost na modulech AzureRM, je potřeba aktualizovat tak, aby používaly nové názvy modulů. Příklad:
#Requires -Module AzureRM.Compute
je potřeba změnit na:
#Requires -Module Az.Compute
Pro Import-Module
:
Import-Module -Name AzureRM.Compute
je potřeba změnit na:
Import-Module -Name Az.Compute
Migrace plně kvalifikovaných volání rutin
Skripty, které používají plně kvalifikovaná volání rutin, jako například:
AzureRM.Compute\Get-AzureRmVM
je potřeba změnit tak, aby používaly nové názvy modulů a rutin:
Az.Compute\Get-AzVM
Migrace závislostí manifestu modulu
V modulech, které vyjadřují závislosti na modulech AzureRM prostřednictvím souboru manifestu modulu (.psd1), bude potřeba aktualizovat názvy modulů v části RequiredModules
:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
je potřeba změnit na:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Odebrané moduly
Následující moduly se odebraly:
AzureRM.Backup
AzureRM.Compute.ManagedService
AzureRM.Scheduler
Nástroje pro tyto služby se už aktivně nepodporují. Doporučujeme zákazníkům co nejdříve přejít na alternativní služby.
Windows PowerShell 5.1 a .NET 4.7.2
K používání Az s PowerShellem 5.1 pro Windows se vyžaduje instalace rozhraní .NET Framework 4.7.2. K používání PowerShellu Core 6.x nebo novějšího se rozhraní .NET Framework nevyžaduje.
Dočasné odebrání možnosti přihlášení uživatele pomocí objektu PSCredential
Kvůli změnám v toku ověřování pro .NET Standard dočasně odebíráme možnost přihlášení uživatele prostřednictvím objektu PSCredential. Tato možnost bude znovu zavedená ve verzi PowerShellu 5.1 pro Windows vydané 15. 1. 2019. Podrobnosti najdete u tohoto problému na GitHubu.
Výchozí přihlášení kódem zařízení místo výzvy ve webovém prohlížeči
Kvůli změnám v toku ověřování pro .NET Standard jako výchozí tok přihlášení při interaktivním přihlašování používáme přihlášení zařízení. Přihlášení ve webovém prohlížeči jako výchozí možnost bude znovu zavedeno ve verzi PowerShellu 5.1 pro Windows vydané 15. 1. 2019. Uživatelé pak budou mít možnost zvolit přihlášení zařízení pomocí přepínacího parametru.
Zásadní změny modulů
Tato část podrobně popisuje konkrétní zásadní změny jednotlivých modulů a rutin.
Az.ApiManagement (dříve AzureRM.ApiManagement)
- Odebrali jsme následující rutiny:
- New-AzureRmApiManagementHostnameConfiguration
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- K nastavení těchto vlastností místo toho použijte rutinu Set-AzApiManagement.
- Odebrali jsme následující vlastnosti:
- Odebrání vlastností
PortalHostnameConfiguration
,ProxyHostnameConfiguration
,ManagementHostnameConfiguration
aScmHostnameConfiguration
typuPsApiManagementHostnameConfiguration
z třídyPsApiManagementContext
. Místo toho použijtePortalCustomHostnameConfiguration
,ProxyCustomHostnameConfiguration
,ManagementCustomHostnameConfiguration
aScmCustomHostnameConfiguration
typuPsApiManagementCustomHostNameConfiguration
. - Odebrání vlastnosti
StaticIPs
z třídy PsApiManagementContext. Tato vlastnost se rozdělila naPublicIPAddresses
aPrivateIPAddresses
. - Odebrání požadované vlastnosti
Location
z rutiny New-AzureApiManagementVirtualNetwork.
- Odebrání vlastností
Az.Billing (dříve AzureRM.Billing, AzureRM.Consumption a AzureRM.UsageAggregates)
- Z rutiny
Get-AzConsumptionUsageDetail
se odebral parametrInvoiceName
. Skripty budou muset pro práci s fakturou používat jiné parametry identity.
Az.CognitiveServices (dříve AzureRM.CognitiveServices)
- Odebrání sady parametrů
GetSkusWithAccountParamSetName
z rutinyGet-AzCognitiveServicesAccountSkus
. K získání skladových položek musíte místo názvu skupiny prostředků a názvu účtu použít typ účtu a umístění.
Az.Compute (dříve AzureRM.Compute)
- Z vlastnosti
Identity
v objektechPSVirtualMachine
aPSVirtualMachineScaleSet
se odebraly hodnotyIdentityIds
. Skripty už by se při zpracování neměly rozhodovat podle hodnoty tohoto pole. - Typ vlastnosti
InstanceView
objektuPSVirtualMachineScaleSetVM
se změnil zVirtualMachineInstanceView
naVirtualMachineScaleSetVMInstanceView
. - Z vlastnosti
UpgradePolicy
se odebraly vlastnostiAutoOSUpgradePolicy
aAutomaticOSUpgrade
. - Typ vlastnosti
Sku
v objektuPSSnapshotUpdate
se změnil zDiskSku
naSnapshotSku
. VmScaleSetVMParameterSet
se odebrala z rutinyAdd-AzVMDataDisk
a už není možné přidávat datové disky do jednotlivých virtuálních počítačů škálovacích sad.
Az.DataFactory (dříve AzureRM.DataFactories a AzureRM.DataFactoryV2)
- Parametr
GatewayName
se stal povinným v rutiněNew-AzDataFactoryEncryptValue
. - Odebrání rutiny
New-AzDataFactoryGatewayKey
. - Odebrání parametru
LinkedServiceName
z rutinyGet-AzDataFactoryV2ActivityRun
. Skripty už by se při zpracování neměly rozhodovat podle hodnoty tohoto pole.
Az.DataLakeAnalytics (dříve AzureRM.DataLakeAnalytics)
- Odebrání zastaralých rutin:
New-AzDataLakeAnalyticsCatalogSecret
,Remove-AzDataLakeAnalyticsCatalogSecret
aSet-AzDataLakeAnalyticsCatalogSecret
.
Az.DataLakeStore (dříve AzureRM.DataLakeStore)
U následujících rutin se změnil typ parametru
Encoding
zFileSystemCmdletProviderEncoding
naSystem.Text.Encoding
. Tato změna odebírá hodnoty kódováníString
aOem
. Všechny ostatní předchozí hodnoty kódování zůstávají.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Odebrání zastaralého aliasu vlastnosti
Tags
z rutinNew-AzDataLakeStoreAccount
aSet-AzDataLakeStoreAccount
.Skripty používající
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
je potřeba změnit na
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
Odebrání zastaralých vlastností
Identity
,EncryptionState
,EncryptionProvisioningState
,EncryptionConfig
,FirewallState
,FirewallRules
,VirtualNetworkRules
,TrustedIdProviderState
,TrustedIdProviders
,DefaultGroup
,NewTier
,CurrentTier
aFirewallAllowAzureIps
z objektuPSDataLakeStoreAccountBasic
. Na tyto vlastnosti by neměly odkazovat žádné skripty, které používají objektPSDatalakeStoreAccount
vrácený z rutinyGet-AzDataLakeStoreAccount
.
Az.KeyVault (dříve AzureRM.KeyVault)
- Z objektů
PSKeyVaultKeyAttributes
,PSKeyVaultKeyIdentityItem
aPSKeyVaultSecretAttributes
se odebrala vlastnostPurgeDisabled
. Skripty už by se při zpracování neměly rozhodovat podle vlastnostiPurgeDisabled
.
Az.Media (dříve AzureRM.Media)
Odebrání zastaralého aliasu vlastnosti
Tags
z rutinyNew-AzMediaService
. Skripty používajícíNew-AzureRMMediaService -Tags @{TagName="TagValue"}
je potřeba změnit na
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (dříve AzureRM.Insights)
Odebrání názvů parametrů
Categories
aTimegrains
v množném čísle z rutinySet-AzDiagnosticSetting
a jejich nahrazení názvy parametrů v jednotném čísle. Skripty používajícíSet-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
je potřeba změnit na
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (dříve AzureRM.Network)
- Odebrání zastaralého parametru
ResourceId
z rutinyGet-AzServiceEndpointPolicyDefinition
. - Odebrání zastaralé vlastnosti
EnableVmProtection
z objektuPSVirtualNetwork
. - Odebrání zastaralé rutiny
Set-AzVirtualNetworkGatewayVpnClientConfig
.
Skripty už by se při zpracování neměly rozhodovat na základě hodnot v těchto polích.
Az.OperationalInsights (dříve AzureRM.OperationalInsights)
Výchozí sada parametrů pro
Get-AzOperationalInsightsDataSource
se odebrala a výchozí sadou parametrů se stalaByWorkspaceNameByKind
.Skripty, které uváděly zdroje dat pomocí
Get-AzureRmOperationalInsightsDataSource
by se měly změnit tak, aby určovaly druh.
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (dříve AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup a AzureRM.RecoveryServices.SiteRecovery)
- Odebrání parametru
Encryption
z rutinyNew/Set-AzRecoveryServicesAsrPolicy
. - Pro obnovu spravovaných disků je teď v rutině
Restore-AzRecoveryServicesBackupItem
povinný parametrTargetStorageAccountName
. - Odebrání parametrů
StorageAccountName
aStorageAccountResourceGroupName
z rutinyRestore-AzRecoveryServicesBackupItem
. - Odebrání parametru
Name
z rutinyGet-AzRecoveryServicesBackupContainer
.
Az.Resources (dříve AzureRM.Resources)
Odebrání parametru
Sku
z rutinyNew/Set-AzPolicyAssignment
.Odebrání parametru
Password
z rutinNew-AzADServicePrincipal
aNew-AzADSpCredential
. Hesla se generují automaticky. Skripty, u kterých se zadávalo heslo:New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPassword
by se měly změnit tak, aby heslo načítaly z výstupu:
$credential = New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 $secPassword = $credential.Secret
Az.ServiceFabric (dříve AzureRM.ServiceFabric)
- Změnily se následující návratové typy rutin:
- Vlastnost
ServiceTypeHealthPolicies
typuApplicationHealthPolicy
se odebrala. - Vlastnost
ApplicationHealthPolicies
typuClusterUpgradeDeltaHealthPolicy
se odebrala. - Vlastnost
OverrideUserUpgradePolicy
typuClusterUpgradePolicy
se odebrala. - Tyto změny mají vliv na následující rutiny:
- Add-AzServiceFabricClientCertificate
- Add-AzServiceFabricClusterCertificate
- Add-AzServiceFabricNode
- Add-AzServiceFabricNodeType
- Get-AzServiceFabricCluster
- Remove-AzServiceFabricClientCertificate
- Remove-AzServiceFabricClusterCertificate
- Remove-AzServiceFabricNode
- Remove-AzServiceFabricNodeType
- Remove-AzServiceFabricSetting
- Set-AzServiceFabricSetting
- Set-AzServiceFabricUpgradeType
- Update-AzServiceFabricDurability
- Update-AzServiceFabricReliability
- Vlastnost
Az.Sql (dříve AzureRM.Sql)
- Odebrání parametrů
State
aResourceId
z rutinySet-AzSqlDatabaseBackupLongTermRetentionPolicy
. - Odebrání zastaralých rutin:
Get/Set-AzSqlServerBackupLongTermRetentionVault
,Get/Start/Stop-AzSqlServerUpgrade
,Get/Set-AzSqlDatabaseAuditingPolicy
,Get/Set-AzSqlServerAuditingPolicy
,Remove-AzSqlDatabaseAuditing
,Remove-AzSqlServerAuditing
. - Odebrání zastaralého parametru
Current
z rutinyGet-AzSqlDatabaseBackupLongTermRetentionPolicy
. - Odebrání zastaralého parametru
DatabaseName
z rutinyGet-AzSqlServerServiceObjective
. - Odebrání zastaralého parametru
PrivilegedLogin
z rutinySet-AzSqlDatabaseDataMaskingPolicy
.
Az.Storage (dříve Azure.Storage a AzureRM.Storage)
- Pro zajištění podpory vytvoření kontextu úložiště OAuth pouze s použitím názvu účtu úložiště se výchozí sada parametrů změnila na
OAuthParameterSet
.- Příklad:
$ctx = New-AzureStorageContext -StorageAccountName $accountName
- Příklad:
- Parametr
Location
se stal povinným v rutiněGet-AzStorageUsage
. - Metody rozhraní API služby Storage teď místo synchronních volání rozhraní API používají Asynchronní model založený na úkolech (TAP). Následující příklady ukazují nové asynchronní příkazy:
Snímek objektu blob
AzureRM:
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$b.ICloudBlob.Snapshot()
Az:
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$task = $b.ICloudBlob.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
Snímek sdílené složky
AzureRM:
$Share = Get-AzureStorageShare -Name $containerName -Context $ctx
$snapshot = $Share.Snapshot()
Az:
$Share = Get-AzStorageShare -Name $containerName -Context $ctx
$task = $Share.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
Obnovení obnovitelně odstraněného objektu blob
AzureRM:
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$b.ICloudBlob.Undelete()
Az:
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$task = $b.ICloudBlob.UndeleteAsync()
$task.Wait()
Nastavení úrovně objektu blob
AzureRM:
$blockBlob = Get-AzureStorageBlob -Container $containerName -Blob $blockBlobName -Context $ctx
$blockBlob.ICloudBlob.SetStandardBlobTier("hot")
$pageBlob = Get-AzureStorageBlob -Container $containerName -Blob $pageBlobName -Context $ctx
$pageBlob.ICloudBlob.SetPremiumBlobTier("P4")
Az:
$blockBlob = Get-AzStorageBlob -Container $containerName -Blob $blockBlobName -Context $ctx
$task = $blockBlob.ICloudBlob.SetStandardBlobTierAsync("hot")
$task.Wait()
$pageBlob = Get-AzStorageBlob -Container $containerName -Blob $pageBlobName -Context $ctx
$task = $pageBlob.ICloudBlob.SetPremiumBlobTierAsync("P4")
$task.Wait()
Az.Websites (dříve AzureRM.Websites)
- Odebrání zastaralých vlastností z objektů
PSAppServicePlan
,PSCertificate
,PSCloningInfo
aPSSite
Azure PowerShell