web-dev-qa-db-ja.com

ネストされたフォルダを使用したPOWERCLIを使用したVMwareのクローン作成

POWERCLIを使用して一部の仮想マシンのクローンを作成しようとしていますが、ターゲットの場所を設定すると、「名前の付いたフォルダーが見つかりませんでした」というエラーが表示されます...

私のフォルダの構造は次のようなものです:DC1\destfolder DC2\destfolder

宛先フォルダ名は各DCenterで同じです。

次のコマンドを使用していますNew-VM-Name $ VMdest -VM $ VMorig -VMHost $ ESXhost -Datastore $ ds -Location $ destFolder -DiskStorageFormat thin -RunAsync

$ destfolder変数で、「dc1\destfolder」や「dc1\vm\destfolder」などのフルパスを指定するように設定しましたが、どちらの場合も常に「フォルダーが見つかりませんでした」というエラーが発生します。

フォルダIDも使用しようとしましたが、名前を使用しているため、「location」パラメータが認識しません。

何か案が?

よろしく

1
Uh Trog

documentation によると、-LocationNew-VMパラメータは、タイプ Folder のオブジェクトを想定しています。

パス文字列を渡す場合、それは機能しません。

フォルダオブジェクトを保存するには、フォルダID(Get-Folder -ID Folder-group-v30070)またはフォルダ自体の名前(Get-Folder destfolder)のいずれかを指定して Get-Folder を使用する必要があります。次に、それをNew-VMに渡します。

Get-Folderの結果を絞り込むには、データセンター、VM、またはクラスターをそれにパイプするか、Where-Objectにパイプして、Parentを確認します)それがあなたが期待するものであるかどうかを確認するためのプロパティ。

VMのクローンを作成していて、そのクローンをソースと同じフォルダーに配置したい場合は、次のようにすることができます。

New-VM -Name $VMdest -VM $VMorig -VMHost $ESXhost -Datastore $ds -Location (Get-Folder -ID (Get-VM $VMorig).FolderId) -DiskStorageFormat thin -RunAsync
1
GregL