0

リソースグループ(たとえば、ネットワークインタフェースなどの依存リソースを持つ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。移動コマンドレットでそれらを指定するにはどうすればよいですか?

答えて

0

移動リソース要求はスクリプトによると、すべての依存リソース

が含まれていない、あなただけのリソースを横断して、新しいサブスクリプション内の別のリソースグループにそれらを一つずつ移動しているようです。しかし、私たちが知っているように、いくつかのリソースには、この種のリソース(仮想マシンなど)を移動するための依存リソースがいくつかある場合、すべての依存リソースを確実に移動する必要があります。

サービスを移動する前に、what services that enable move and limitationsを知る必要があります。また、依存リソースを必要とするリソースを移動する方法については、Use Powershell to move a VMを参照してください。

+0

linksFredのおかげで、スクリプトはこれです:移動-AzureRmResource -DestinationResourceGroupName $ destinationRG -ResourceId $ vm.ResourceId、$ storageAccount.ResourceId、$ diagStorageAccount.ResourceId、$ vNet.ResourceId、$ nic.ResourceId、$ IP。 ResourceId、$ nsg.ResourceId –

+0

VM、VNet、NICなどのインフラストラクチャリソースを移動するだけの場合は、VMに接続されたVHDを新しいサブスクリプションでストレージアカウントにコピーしてテンプレート展開を使用する方が簡単かもしれません。テンプレートにはすでにすべての現在の構成が含まれており、既存のVHDを使用すると、リソースグループ全体をそのまま再作成できます。現在のテンプレートをAzure Portalのリソースグループのブレードに移動してから、自動化スクリプトに移動します。 –

+0

Tomaszありがとう、この例では、上記のようにpowershell moveコマンドを使用する方が速いです。 –

関連する問題