Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten dokument zawiera szczegółowe informacje na temat zmian między modułem AzureRM 6.x i nowym modułem Az w wersji 1.x lub nowszej. Spis treści pomoże Ci przejść przez pełną ścieżkę migracji, w tym zmiany specyficzne dla modułu, które mogą mieć wpływ na skrypty.
Aby uzyskać ogólne porady dotyczące rozpoczynania pracy z migracją z modułu AzureRM do modułu Az, zobacz Rozpoczynanie migracji z modułu AzureRM do modułu Az.
Ważna
Wystąpiły również zmiany powodujące niekompatybilność między wersjami Az 1.0.0 i Az 2.0.0. Po wykonaniu tego przewodnika dotyczącego aktualizacji z modułu AzureRM do modułu Az zobacz zmiany powodujące niezgodność modułu Az 2.0.0 , aby dowiedzieć się, czy trzeba wprowadzić dodatkowe zmiany.
Spis treści
- Ogólne zmiany powodujące niezgodność
- Zmiany prefiksu rzeczownika cmdlet
- Zmiany nazwy modułu
- Usunięte moduły
- Windows PowerShell 5.1 i .NET 4.7.2
- Tymczasowe usunięcie logowania użytkownika przy użyciu obiektu PSCredential
- Domyślne logowanie za pomocą kodu urządzenia zamiast monitu przeglądarki internetowej
- Zmiany zakłócające zgodność modułów
- Az.ApiManagement (wcześniej AzureRM.ApiManagement)
- Az.Billing (wcześniej AzureRM.Billing, AzureRM.Consumption i AzureRM.UsageAggregates)
- Az.CognitiveServices (wcześniej AzureRM.CognitiveServices)
- Az.Compute (wcześniej AzureRM.Compute)
- Az.DataFactory (wcześniej AzureRM.DataFactories i AzureRM.DataFactoryV2)
- Az.DataLakeAnalytics (wcześniej AzureRM.DataLakeAnalytics)
- Az.DataLakeStore (wcześniej AzureRM.DataLakeStore)
- Az.KeyVault (wcześniej AzureRM.KeyVault)
- Az.Media (wcześniej AzureRM.Media)
- Az.Monitor (wcześniej AzureRM.Insights)
- Az.Network (wcześniej AzureRM.Network)
- Az.OperationalInsights (wcześniej AzureRM.OperationalInsights)
- Az.RecoveryServices (wcześniej AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup i AzureRM.RecoveryServices.SiteRecovery)
- Az.Resources (wcześniej AzureRM.Resources)
- Az.ServiceFabric (wcześniej AzureRM.ServiceFabric)
- Az.Sql (wcześniej AzureRM.Sql)
- Az.Storage (wcześniej Azure. Storage i AzureRM.Storage)
- Az.Websites (wcześniej AzureRM.Websites)
Ogólne zmiany powodujące niezgodność
W tej sekcji opisano ogólne zmiany powodujące niezgodność, które są częścią przeprojektowania modułu Az.
Zmiany prefiksu rzeczownika polecenia cmdletu
W module AzureRM polecenia cmdlet używały prefiksu AzureRM lub Azure. Moduł Az upraszcza i normalizuje nazwy cmdletów, dzięki czemu wszystkie cmdlety używają "Az" jako prefiksu rzeczownika cmdletu. Przykład:
Get-AzureRMVM
Get-AzureKeyVaultSecret
Zmieniono na:
Get-AzVM
Get-AzKeyVaultSecret
Aby ułatwić przejście do tych nowych nazw poleceń cmdlet, moduł Az wprowadza dwa nowe polecenia cmdlet, Enable-AzureRmAlias i Disable-AzureRmAlias. Tworzy aliasy dla starszych nazw poleceń cmdlet w module AzureRM, które są mapowane na nowsze nazwy poleceń cmdlet w module Az. Użycie argumentu pozwala wybrać miejsce, w którym są włączone aliasy.
Na przykład następujący skrypt w module AzureRM:
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Da się uruchomić przy minimalnych zmianach przy użyciu polecenia :
#Requires -Modules Az.Storage
Enable-AzureRmAlias -Scope Process
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Uruchomienie spowoduje włączenie aliasów dla wszystkich otwartych sesji programu PowerShell, dzięki czemu po wykonaniu tego cmdlet skrypt taki nie będzie musiał być zmieniany.
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
Aby uzyskać szczegółowe informacje na temat użycia cmdletów aliasów, zobacz dokumentację Enable-AzureRmAlias.
Gdy wszystko będzie gotowe do wyłączenia aliasów, usuwa utworzone aliasy. Aby uzyskać szczegółowe informacje, zobacz dokumentację Disable-AzureRmAlias.
Ważna
Podczas wyłączania aliasów upewnij się, że są one wyłączone dla wszystkich zakresów z włączonymi aliasami.
Zmiany nazwy modułu
Nazwy modułów zmieniły się z na , z wyjątkiem następujących modułów:
| Moduł AzureRM | Moduł 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.Fakturowanie |
| AzureRM.Consumption | Az.Billing |
Zmiany w nazwach modułów oznaczają, że każdy skrypt używający lub do załadowania określonych modułów musi zostać zmieniony, aby zamiast tego używał nowego modułu. W przypadku modułów, w których sufiks polecenia cmdlet nie uległ zmianie, oznacza to, że chociaż nazwa modułu uległa zmianie, sufiks wskazujący, że miejsce operacji nie zostało zmienione.
Migrowanie instrukcji #Requires i Import-Module
Skrypty korzystające z modułów AzureRM lub deklarujące zależność muszą zostać zaktualizowane w celu używania nowych nazw modułów. Przykład:
#Requires -Module AzureRM.Compute
Należy zmienić na:
#Requires -Module Az.Compute
Dla :
Import-Module -Name AzureRM.Compute
Należy zmienić na:
Import-Module -Name Az.Compute
Migrowanie w pełni kwalifikowanych wywołań poleceń cmdlet
Skrypty korzystające z wywołań poleceń cmdlet kwalifikowanych przez moduł, takich jak:
AzureRM.Compute\Get-AzureRmVM
Należy zmienić, aby używać nowych nazw modułów i poleceń cmdlet:
Az.Compute\Get-AzVM
Migrowanie zależności manifestu modułu
Moduły, które wyrażają zależności modułów AzureRM za pośrednictwem pliku manifestu modułu (psd1), będą musiały zaktualizować nazwy modułów w sekcji :
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
Należy zmienić na:
RequiredModules = @(@{ModuleName="Az.Profile"; ModuleVersion="1.0.0"})
Usunięte moduły
Usunięto następujące moduły:
AzureRM.BackupAzureRM.Compute.ManagedServiceAzureRM.Scheduler
Narzędzia dla tych usług nie są już aktywnie obsługiwane. Klienci są zachęcani do przejścia do alternatywnych usług, gdy tylko jest to wygodne.
Windows PowerShell 5.1 i .NET 4.7.2
Używanie modułu Az z programem PowerShell 5.1 dla Windows wymaga zainstalowania programu .NET Framework 4.7.2. Korzystanie z programu PowerShell Core 6.x lub nowszego nie wymaga platformy .NET Framework.
Tymczasowe wyłączenie logowania użytkownika za pomocą PSCredential
Ze względu na zmiany w przepływie uwierzytelniania dla .NET Standard tymczasowo usuwamy logowanie użytkownika za pośrednictwem pliku PSCredential. Ta funkcja zostanie ponownie wprowadzona w wersji 1.15.2019 dla programu PowerShell 5.1 dla Windows. Omówiono to szczegółowo w tym zgłoszeniu na GitHubie.
Domyślne logowanie za pomocą kodu urządzenia zamiast monitu przeglądarki internetowej
Ze względu na zmiany w przepływie uwierzytelniania dla .NET Standard używamy logowania urządzenia jako domyślnego przepływu logowania podczas logowania interakcyjnego. Logowanie oparte na przeglądarce internetowej zostanie ponownie wprowadzone dla programu PowerShell 5.1 dla Windows jako domyślne w wersji 1.15.2019. W tym czasie użytkownicy będą mogli wybrać logowanie urządzenia przy użyciu parametru Switch.
Zmiany zakłócające zgodność modułów
Ta sekcja zawiera szczegółowe informacje o zmianach powodujących niezgodność dla poszczególnych modułów i poleceń cmdlet.
Az.ApiManagement (wcześniej AzureRM.ApiManagement)
- Usunięto następujące polecenia cmdlet:
- New-AzureRmApiManagementHostnameConfiguration (Nowa konfiguracja hosta zarządzania API w AzureRm)
- Set-AzureRmApiManagementHostnames
- Update-AzureRmApiManagementDeployment
- Import-AzureRmApiManagementHostnameCertificate
- Użyj polecenia cmdlet Set-AzApiManagement , aby ustawić te właściwości zamiast tego
- Usunięto następujące właściwości:
- Usunięto właściwość
i typu z <źródło>. Zamiast tego należy użyć elementów , , i , typu . - Usunięto właściwość z elementu PsApiManagementContext. Właściwość została podzielona na wartości i .
- Usunięto wymaganą właściwość z polecenia cmdlet New-AzureApiManagementVirtualNetwork.
- Usunięto właściwość
Az.Billing (wcześniej AzureRM.Billing, AzureRM.Consumption i AzureRM.UsageAggregates)
- Parametr został usunięty z polecenia cmdlet . Skrypty będą musiały używać innych parametrów tożsamości dla faktury.
Az.CognitiveServices (wcześniej AzureRM.CognitiveServices)
- Usunięto zestaw parametrów z cmdlet. Zamiast używać właściwości ResourceGroupName i Account Name, trzeba pobrać jednostki SKU według typu konta i lokalizacji.
Az.Compute (wcześniej AzureRM.Compute)
- są usuwane z właściwości w obiektach, a skrypty nie powinny już używać wartości tego pola do podejmowania decyzji dotyczących przetwarzania.
- Typ właściwości obiektu jest zmieniany z na
- właściwości [nazwa_właściwości_1] i [nazwa_właściwości_2] są usuwane z [nazwa_właściwości_3]
- Typ właściwości w obiekcie jest zmieniany z na
- Polecenie dodawania dysku danych zostało usunięte z cmdlet, co uniemożliwia teraz indywidualne dodawanie dysków danych do maszyn wirtualnych w zestawie skalowania.
Az.DataFactory (wcześniej AzureRM.DataFactories i AzureRM.DataFactoryV2)
- Parametr stał się obowiązkowy w poleceniu cmdlet
- Usunięto cmdlet
- Usunięto parametr z cmdlet. Scripty nie powinny już używać wartości tego pola do podejmowania decyzji dotyczących przetwarzania danych.
Az.DataLakeAnalytics (wcześniej AzureRM.DataLakeAnalytics)
- Usunięto przestarzałe cmdlety: , , i
Az.DataLakeStore (wcześniej AzureRM.DataLakeStore)
Następujące polecenia cmdlet zmieniły parametr z typu na . Ta zmiana powoduje usunięcie wartości kodowania i . Pozostałe poprzednie wartości kodowania pozostają.
- New-AzureRmDataLakeStoreItem
- Add-AzureRmDataLakeStoreItemContent
- Get-AzureRmDataLakeStoreItemContent (polecenie)
Usunięto przestarzały alias właściwości z poleceń cmdlet X i Y.
Skrypty korzystające z
New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}Należy zmienić na
New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}Usunięto przestarzałe właściwości z obiektu: , , , , , , , , , , , , . Każdy skrypt używający zwróconego elementu nie powinien odwoływać się do tych właściwości.
Az.KeyVault (wcześniej AzureRM.KeyVault)
- Właściwość została usunięta z obiektów , i . Skrypty nie powinny już odwoływać się do właściwości w celu podejmowania decyzji dotyczących przetwarzania.
Az.Media (wcześniej AzureRM.Media)
Usuwanie przestarzałego aliasu właściwości z skryptów poleceń cmdlet przy użyciu polecenia cmdlet
New-AzureRMMediaService -Tags @{TagName="TagValue"}Należy zmienić na
New-AzMediaService -Tag @{TagName="TagValue"}
Az.Monitor (wcześniej AzureRM.Insights)
Usunięto nazwy parametrów w liczbie mnogiej na rzecz nazw pojedynczych w skryptach z poleceniami cmdlet.
Set-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2Należy zmienić na
Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
Az.Network (wcześniej AzureRM.Network)
- Usunięto przestarzały parametr z polecenia cmdlet
- Usunięto przestarzałą właściwość z obiektu
- Usunięto przestarzałe polecenie cmdlet
Skrypty nie powinny już podejmować decyzji dotyczących przetwarzania na podstawie wartości tych pól.
Az.OperationalInsights (wcześniej AzureRM.OperationalInsights)
Domyślny zestaw parametrów dla [placeholder 1] jest usuwany, a [placeholder 2] stał się domyślnym zestawem parametrów.
Skrypty, które wymieniały źródła danych za pomocą
Get-AzureRmOperationalInsightsDataSourceNależy zmienić, aby określić rodzaj
Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
Az.RecoveryServices (wcześniej AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup i AzureRM.RecoveryServices.SiteRecovery)
- Usunięto parametr z polecenia cmdlet.
- Parametr jest teraz obowiązkowy przy przywracaniu dysku zarządzanego w poleceniu cmdlet.
- W poleceniu cmdlet usunięto parametry
i . - Usunięto parametr w poleceniu cmdlet
Az.Resources (wcześniej AzureRM.Resources)
Usunięto parametr z polecenia cmdlet.
Usunięto parametr z poleceń cmdlet i hasła są generowane automatycznie, skrypty, które dostarczyły hasło:
New-AzAdSpCredential -ObjectId aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb -Password $secPasswordNależy zmienić, aby pobrać hasło z danych wyjściowych:
$credential = New-AzAdSpCredential -ObjectId aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb $secPassword = $credential.Secret
Az.ServiceFabric (wcześniej AzureRM.ServiceFabric)
- Zmieniono następujące typy zwracanych poleceń cmdlet:
- Właściwość typu została usunięta.
- Właściwość typu została usunięta.
- Właściwość typu została usunięta.
- Te zmiany mają wpływ na następujące polecenia cmdlet:
- 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
Az.Sql (wcześniej AzureRM.Sql)
- Usunięto parametry oraz z polecenia cmdlet.
- Usunięto przestarzałe polecenia cmdlet: , , , , ,
- Usunięto przestarzały parametr z polecenia cmdlet
- Usunięto przestarzały parametr z polecenia cmdlet
- Usunięto przestarzały parametr z polecenia cmdlet.
Az.Storage (wcześniej Azure. Storage i AzureRM.Storage)
- Aby obsługiwać tworzenie kontekstu magazynu Oauth z tylko nazwą konta magazynu, domyślny zestaw parametrów został zmieniony na
- Przykład:
- Parametr stał się obowiązkowy w poleceniu cmdlet
- Metody interfejsu API Storage teraz używają wzorca asynchronicznego opartego na zadaniach (TAP) zamiast synchronicznych wywołań API. W poniższych przykładach przedstawiono nowe polecenia asynchroniczne:
Migawka obiektu blob
Moduł 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
Migawka do udostępniania
Moduł 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
Przywrócenie słabo usuniętego obiektu blob
Moduł 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()
Ustawianie warstwy obiektu blob
Moduł 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 (wcześniej AzureRM.Websites)
- Usunięto przestarzałe właściwości z obiektów , , , i .