Yes, you can, but not with a cmdlet.
You have to use the API method and the VM needs to be powered off and it requires an svMotion.
$vmName = 'MyVM'
$tgtDS = 'MyDS'
$vm = Get-VM -Name $vmName
$ds = Get-Datastore -Name $tgtDS
$spec = New-Object -TypeName VMware.Vim.VirtualMachineRelocateSpec
$spec.Datastore = $ds.ExtensionData.MoRef
Get-Harddisk -VM $vm -PipelineVariable hd |
ForEach-Object -Process {
$disk = New-Object -TypeName VMware.Vim.VirtualMachineRelocateSpecDiskLocator
$disk.DiskId = $hd.ExtensionData.Key
$disk.Datastore = $ds.ExtensionData.MoRef
if('RawPhysical','RawVirtual' -contains $hd.DiskType){
$disk.DiskBackingInfo = New-Object -TypeName VMware.Vim.VirtualDiskFlatVer2BackingInfo
$disk.DiskBackingInfo.FileName = ''
$disk.DiskBackingInfo.EagerlyScrub = $false
$disk.DiskBackingInfo.ThinProvisioned = $true
$disk.DiskBackingInfo.DiskMode = [VMware.Vim.VirtualDiskMode]::persistent
}
$spec.Disk += $disk
}
$vm.ExtensionData.RelocateVM($spec,[VMware.Vim.VirtualMachineMovePriority]::defaultPriority)