リソースグループ(たとえば、ネットワークインタフェースなどの依存リソースを持つVMを含む)を新しいサブスクリプションおよびリソースグループに移動しようとしています。 { "エラー":{ "コード":」Powershellを使用してAzureリソースを別のサブスクリプションに移動します。
移動-AzureRmResourceで失敗
foreach ($resource in $resources) {Move-AzureRmResource -DestinationResourceGroupName "newresourcegroup" -ResourceId $resource.resourceID -DestinationSubscriptionId 123456}
その:
マイスクリプト(GUIを介して行う場合の移動が正常に動作します) ResourceMoveProviderValidationFailed "、" message ":"リソース 移動の検証に失敗しました。詳細はこちら診断情報: タイムスタンプ
等...
「移動リソース要求は、すべての依存 のリソースが含まれていません。 \ "code \":\ "MissingMoveDependentResources \"、\ "message \":\ " リソースの移動要求にすべての依存リソースが含まれていないというエラーの詳細を確認してください。 不足しているリソース idsのエラーの詳細を確認してください。\ "}}} {" target ":" Microsoft.Network/networkInterfaces "、" message ":" {\ "エラー\":\ "コード\": \ "MissingMoveDependentResources \"、\ "message \":\ " リソースの移動要求に、すべての依存リソースが含まれていません。 は、リソースのIds
は、明らかに私は何とか依存リソースを指定する必要が不足しているため詳細を確認するが、移動-AzureRmResourceモジュールの「依存するリソース」のパラメータがあるように表示されませんしてください。
a。どのように依存リソースが何であるかを知ることができますか?
b。移動コマンドレットでそれらを指定するにはどうすればよいですか?
linksFredのおかげで、スクリプトはこれです:移動-AzureRmResource -DestinationResourceGroupName $ destinationRG -ResourceId $ vm.ResourceId、$ storageAccount.ResourceId、$ diagStorageAccount.ResourceId、$ vNet.ResourceId、$ nic.ResourceId、$ IP。 ResourceId、$ nsg.ResourceId –
VM、VNet、NICなどのインフラストラクチャリソースを移動するだけの場合は、VMに接続されたVHDを新しいサブスクリプションでストレージアカウントにコピーしてテンプレート展開を使用する方が簡単かもしれません。テンプレートにはすでにすべての現在の構成が含まれており、既存のVHDを使用すると、リソースグループ全体をそのまま再作成できます。現在のテンプレートをAzure Portalのリソースグループのブレードに移動してから、自動化スクリプトに移動します。 –
Tomaszありがとう、この例では、上記のようにpowershell moveコマンドを使用する方が速いです。 –