Zásadní změny pro 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 a novějším. Obsah vám pomůže provést úplnou cestu migrace, včetně změn specifických pro modul, které můžou ovlivnit 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ý
Mezi Az 1.0.0 a Az 2.0.0 došlo také k zásadním změnám. Po provedení aktualizace podle této příručky z AzureRM na Az se podívejte na kritické změny v Az 2.0.0 a zjistěte, jestli je potřeba udělat další úpravy.
Obsah
- obecné zásadní změny
-
modul způsobující změny
- 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é přelomové změny
Tato část podrobně popisuje obecné zásadní změny, které jsou součástí návrhu modulu Az.
Změny předpon podstatných jmen cmdletů
V modulu AzureRM rutiny použily buď AzureRM
, nebo Azure
jako předponu podstatného jména. Az zjednodušuje a normalizuje názvy cmdletů tak, aby všechny používaly 'Az' jako svou předponu. Například:
Get-AzureRMVM
Get-AzureKeyVaultSecret
Změnil se na:
Get-AzVM
Get-AzKeyVaultSecret
Aby byl přechod na tyto nové názvy rutin jednodušší, Az zavádí dvě nové rutiny, Enable-AzureRmAlias a Disable-AzureRmAlias.
Enable-AzureRmAlias
vytvoří aliasy pro starší názvy cmdletů v AzureRM, které se mapují na novější názvy cmdletů Az. Pomocí argumentu -Scope
s Enable-AzureRmAlias
můžete zvolit, kde jsou povolené aliasy.
Například následující skript v AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Lze spustit s minimálními změnami pomocí Enable-AzureRmAlias
:
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Spuštěním Enable-AzureRmAlias -Scope CurrentUser
povolíte aliasy pro všechny relace PowerShellu, které otevřete, takže po spuštění této rutiny není nutné skript podobného druhu vůbec měnit.
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Úplné podrobnosti o použití aliasových rutin najdete v referenční příručce Enable-AzureRmAlias.
Až budete připraveni zakázat aliasy, Disable-AzureRmAlias
odebere vytvořené aliasy. Úplné podrobnosti najdete v referenčním Disable-AzureRmAlias.
Důležitý
Při zakazování aliasů se ujistěte, že jsou zakázány pro všechny obory, u kterých byly aliasy povolené.
Změny názvu modulu
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 názvů modulů znamenají, že každý skript, který k načtení konkrétních modulů používá #Requires
nebo Import-Module
, bude potřeba změnit, aby místo toho používal nový modul. U modulů, u kterých se přípona rutiny nezměnila, to znamená, že i když se změnil název modulu, přípona naznačující operační prostor zůstává jako , nikoli.
Migrace příkazů #Requires a Import-Module
Skripty, které používají #Requires
nebo Import-Module
k deklaraci závislosti na modulech AzureRM, musí být aktualizovány tak, aby používaly názvy nových modulů. Například:
#Requires -Module AzureRM.Compute
Mělo by se změnit na:
#Requires -Module Az.Compute
Pro Import-Module
:
Import-Module -Name AzureRM.Compute
Mělo by se změnit na:
Import-Module -Name Az.Compute
Migrace vyvolávání příkazů cmdlet Fully-Qualified
Skripty, které používají vyvolání rutin s kvalifikovanými moduly, například:
AzureRM.Compute\Get-AzureRmVM
Je nutné změnit, aby se používaly nové názvy modulů a rutin:
Az.Compute\Get-AzVM
Migrace závislostí manifestu modulu
Moduly, které vyjadřují závislosti na modulech AzureRM prostřednictvím souboru manifestu modulu (.psd1), budou muset aktualizovat názvy modulů v jejich RequiredModules
části:
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Je nutné změnit na:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Odebrané moduly
Byly odebrány následující moduly:
AzureRM.Backup
AzureRM.Compute.ManagedService
AzureRM.Scheduler
Nástroje pro tyto služby se už aktivně nepodporují. Zákazníkům se doporučuje přejít na alternativní služby, jakmile bude výhodné.
Windows PowerShell 5.1 a .NET 4.7.2
Použití Az s PowerShellem 5.1 pro Windows vyžaduje instalaci rozhraní .NET Framework 4.7.2. Použití PowerShellu Core 6.x nebo novějšího nevyžaduje rozhraní .NET Framework.
Dočasné odebrání přihlášení uživatele pomocí PSCredential
Vzhledem ke změnám v toku ověřování pro .NET Standard dočasně odebíráme přihlášení uživatele přes PSCredential. Tato funkce se znovu zavede ve verzi 15. 15. 2019 pro PowerShell 5.1 pro Windows. Toto téma je podrobně popsáno v tomto problému na GitHubu.
Výchozí přihlášení pomocí kódu zařízení namísto výzvy webového prohlížeče
Vzhledem ke změnám v toku ověřování pro .NET Standard používáme při interaktivním přihlášení jako výchozí tok přihlášení zařízení. Pro PowerShell 5.1 pro Windows se znovu zavede přihlášení na základě webového prohlížeče jako výchozí ve verzi z 15. 15. 2019. V té době budou uživatelé moct zvolit přihlášení zařízení pomocí parametru Switch.
Přelomové změny modulu
Tato část podrobně popisuje konkrétní zásadní změny pro jednotlivé moduly a cmdlety.
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í použijte rutinu Set-AzApiManagement.
- Odebrali jsme následující vlastnosti:
- Byly odebrány vlastnosti
PortalHostnameConfiguration
,ProxyHostnameConfiguration
,ManagementHostnameConfiguration
aScmHostnameConfiguration
typuPsApiManagementHostnameConfiguration
zPsApiManagementContext
. Místo toho použijtePortalCustomHostnameConfiguration
,ProxyCustomHostnameConfiguration
,ManagementCustomHostnameConfiguration
aScmCustomHostnameConfiguration
typuPsApiManagementCustomHostNameConfiguration
. - Odebraná vlastnost
StaticIPs
z PsApiManagementContext. Nemovitost byla rozdělena doPublicIPAddresses
aPrivateIPAddresses
. - Odebraná požadovaná vlastnost
Location
z cmdletu New-AzureApiManagementVirtualNetwork.
- Byly odebrány vlastnosti
Az.Billing (dříve AzureRM.Billing, AzureRM.Consumption a AzureRM.UsageAggregates)
- Parametr
InvoiceName
byl z cmdletuGet-AzConsumptionUsageDetail
odebrán. Skripty budou muset pro fakturu použít jiné parametry identity.
Az.CognitiveServices (dříve AzureRM.CognitiveServices)
- Odebrání sady parametrů
GetSkusWithAccountParamSetName
z rutinyGet-AzCognitiveServicesAccountSkus
Musíte získat Sku podle typu účtu a umístění místo použití ResourceGroupName a názvu účtu.
Az.Compute (dříve AzureRM.Compute)
-
IdentityIds
jsou odebrány z vlastnostiIdentity
v objektechPSVirtualMachine
aPSVirtualMachineScaleSet
. Skripty by již neměly používat hodnotu tohoto pole k rozhodování o zpracování. - Typ vlastnosti
InstanceView
objektuPSVirtualMachineScaleSetVM
se změní zVirtualMachineInstanceView
naVirtualMachineScaleSetVMInstanceView
- Vlastnosti
AutoOSUpgradePolicy
aAutomaticOSUpgrade
jsou odebrány z vlastnostiUpgradePolicy
. - Typ vlastnosti
Sku
v objektuPSSnapshotUpdate
se změní zDiskSku
naSnapshotSku
-
VmScaleSetVMParameterSet
se odebere z rutinyAdd-AzVMDataDisk
, už nemůžete do virtuálního počítače ScaleSet přidávat datový disk jednotlivě.
Az.DataFactory (dříve AzureRM.DataFactories a AzureRM.DataFactoryV2)
- Parametr
GatewayName
je nyní povinný v rutiněNew-AzDataFactoryEncryptValue
. - Odstranil se příkazový rutinník
New-AzDataFactoryGatewayKey
- Odebrán parametr
LinkedServiceName
z rutinyGet-AzDataFactoryV2ActivityRun
cmdletu. Skripty by již neměly používat hodnotu tohoto pole k rozhodování o zpracování.
Az.DataLakeAnalytics (dříve AzureRM.DataLakeAnalytics)
- Odebrané zastaralé rutiny:
New-AzDataLakeAnalyticsCatalogSecret
,Remove-AzDataLakeAnalyticsCatalogSecret
aSet-AzDataLakeAnalyticsCatalogSecret
Az.DataLakeStore (dříve AzureRM.DataLakeStore)
Následující cmdlety byly změněny tak, že parametr
Encoding
je nyní z typuFileSystemCmdletProviderEncoding
naSystem.Text.Encoding
. Tato změna odebere kódovací hodnotyString
aOem
. Všechny ostatní předchozí hodnoty kódování zůstanou.- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent
Odstraněn zastaralý alias vlastnosti
Tags
z rutinNew-AzDataLakeStoreAccount
aSet-AzDataLakeStoreAccount
Skripty používající
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
Mělo by se změnit na
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
Odebrané zastaralé vlastnosti
Identity
,EncryptionState
,EncryptionProvisioningState
,EncryptionConfig
,FirewallState
,FirewallRules
,VirtualNetworkRules
,TrustedIdProviderState
,TrustedIdProviders
,DefaultGroup
,NewTier
,CurrentTier
,FirewallAllowAzureIps
z objektuPSDataLakeStoreAccountBasic
. Všechny skripty, které používajíPSDatalakeStoreAccount
vrácené zGet-AzDataLakeStoreAccount
, by neměly odkazovat na tyto vlastnosti.
Az.KeyVault (dříve AzureRM.KeyVault)
- Vlastnost
PurgeDisabled
byla odebrána z objektůPSKeyVaultKeyAttributes
,PSKeyVaultKeyIdentityItem
aPSKeyVaultSecretAttributes
. Skripty by již neměly odkazovat na vlastnostPurgeDisabled
při rozhodování o zpracování.
Az.Media (dříve AzureRM.Media)
Odstraňte zastaralý alias vlastnosti
Tags
zNew-AzMediaService
cmdletu Skripty pomocíNew-AzureRMMediaService -Tags @{TagName="TagValue"}
Mělo by se změnit na
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (dříve AzureRM.Insights)
Odstraněny pluralitní názvy parametrů
Categories
aTimegrains
ve prospěch názvů parametrů v jednotném čísle u skriptů cmdletuSet-AzDiagnosticSetting
pomocíSet-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
Mělo by se 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
- Byla odebrána zastaralá vlastnost
EnableVmProtection
z objektuPSVirtualNetwork
- Odebrána zastaralá rutina
Set-AzVirtualNetworkGatewayVpnClientConfig
Skripty by už neměly přijímat rozhodnutí o zpracování na základě hodnot uvedených v těchto polích.
Az.OperationalInsights (dříve AzureRM.OperationalInsights)
Výchozí sada parametrů pro
Get-AzOperationalInsightsDataSource
se odebere aByWorkspaceNameByKind
se stane výchozí sadou parametrů.Skripty, které uváděly zdroje dat pomocí
Get-AzureRmOperationalInsightsDataSource
Mělo by se změnit tak, aby bylo možné zadat 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
- parametr
TargetStorageAccountName
je teď povinný pro obnovení spravovaných disků v rutiněRestore-AzRecoveryServicesBackupItem
- Byly odebrány parametry
StorageAccountName
aStorageAccountResourceGroupName
v rutiněRestore-AzRecoveryServicesBackupItem
- Odebrání parametru
Name
v rutiněGet-AzRecoveryServicesBackupContainer
Az.Resources (dříve AzureRM.Resources)
Odebrání parametru
Sku
z rutinyNew/Set-AzPolicyAssignment
Byl odebrán parametr
Password
z rutinyNew-AzADServicePrincipal
aNew-AzADSpCredential
. Hesla jsou automaticky generována skripty, které poskytly heslo.New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -Password $secPassword
Mělo by se změnit, aby se heslo načítalo z výstupu:
$credential = New-AzAdSpCredential -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 $secPassword = $credential.Secret
Az.ServiceFabric (dříve AzureRM.ServiceFabric)
- Následující typy návratu příkazů byly změněny:
- Vlastnost
ServiceTypeHealthPolicies
typuApplicationHealthPolicy
byla odebrána. - Vlastnost
ApplicationHealthPolicies
typuClusterUpgradeDeltaHealthPolicy
byla odebrána. - Vlastnost
OverrideUserUpgradePolicy
typuClusterUpgradePolicy
byla odebrána. - 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)
- Odstranění parametrů
State
aResourceId
z cmdletuSet-AzSqlDatabaseBackupLongTermRetentionPolicy
- Odebrané zastaralé rutiny:
Get/Set-AzSqlServerBackupLongTermRetentionVault
,Get/Start/Stop-AzSqlServerUpgrade
,Get/Set-AzSqlDatabaseAuditingPolicy
,Get/Set-AzSqlServerAuditingPolicy
,Remove-AzSqlDatabaseAuditing
,Remove-AzSqlServerAuditing
- Odebrán zastaralý parametr
Current
z rutinyGet-AzSqlDatabaseBackupLongTermRetentionPolicy
- Odebrán zastaralý parametr
DatabaseName
z rutinyGet-AzSqlServerServiceObjective
- Odebrán zastaralý parametr
PrivilegedLogin
z rutinySet-AzSqlDatabaseDataMaskingPolicy
Az.Storage (dříve Azure.Storage a AzureRM.Storage)
- Aby bylo možné podporovat vytváření kontextu úložiště Oauth pouze s názvem účtu úložiště, výchozí sada parametrů se 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 úložiště teď místo synchronních volání rozhraní API používají asynchronní vzor založený na úlohách (TAP). Následující příklady ukazují nové asynchronní příkazy:
Snímek blobu
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
Sdílet snímek
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í soft smazané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()
Nastavit úroveň blobu
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