0

我試圖將一個資源組(包含一個虛擬機及其依賴資源,例如網絡接口等)移動到新的訂閱和資源組。 (如果通過圖形用戶界面做的舉動正常工作)使用Powershell將Azure資源移動到另一個訂閱

我的腳本:

foreach ($resource in $resources) {Move-AzureRmResource 
-DestinationResourceGroupName "newresourcegroup" -ResourceId $resource.resourceID -DestinationSubscriptionId 123456} 

及其與

布展AzureRmResource失敗: { 「錯誤」:{ 「代碼」:」診斷信息: 時間戳

「ResourceMoveProviderValidationFailed」,「message」:「Resource 移動驗證失敗。

等等

「此舉資源請求不包含所有相關 資源。請檢查缺失資源 ID的錯誤詳細信息。「}],\」code \「:\」MissingMoveDependentResources \「,\」message \「:\」 移動資源請求不包含所有依賴資源。 請檢查缺少資源的錯誤詳細信息 ids。\「}}」},{「target」:「Microsoft.Network/networkInterfaces」,「message」:「{\」error \「:{\」code \「: \「MissingMoveDependentResources \」,\「message \」:\「 移動資源請求不包含所有依賴資源。 請檢查細節丟失的資源ID

顯然,我需要以某種方式指定相關資源,但似乎沒有成爲「依賴資源」爲布展AzureRmResource模塊的參數。

a。我如何確定依賴資源是什麼?

b。如何在移動cmdlet中指定它們?

回答

0

此舉資源請求不包含所有相關的資源

根據你的腳本,似乎你只是通過資源遍歷和一個移動它們一個新的訂閱其他資源組。但是據我們所知,一些資源可能有一些依賴資源,爲了移動這種類型的資源(比如虛擬機等),我們應該確保我們也移動所有的依賴資源,否則移動操作將失敗。

移動服務之前,我們需要知道what services that enable move and limitations。此外,請參閱Use Powershell to move a VM瞭解如何移動需要依賴資源的資源。

+0

感謝linksFred,腳本是這樣的:Move-AzureRmResource -DestinationResourceGroupName $ destinationRG -ResourceId $ vm.ResourceId,$ storageAccount.ResourceId,$ diagStorageAccount.ResourceId,$ vNet.ResourceId,$ nic.ResourceId,$ ip。 ResourceId,$ nsg.ResourceId –

+0

如果您只是移動虛擬機,VNet,NIC等基礎設施資源,那麼在新預訂中複製附加到VM的VHD到存儲帳戶並使用模板部署可能更容易。該模板將包含所有當前配置,並且可以使用現有VHD重新創建整個資源組。要將當前模板轉到Azure門戶中的資源組刀片,然後轉到自動化腳本。 –

+0

感謝Tomasz,在這種情況下,使用上面提到的powershell move命令會更快。 –

相關問題