Yeah ok, the point is you have to go through "Get-VM" first...
You can't simply "Move-HardDisk" like this:
$hdsrc = Get-HardDisk -Datastore $srcds
foreach ($hd in $hdsrc) {
Move-HardDisk $hd -Datastore $dstds
...
Because then it will tell you that the disk is locked.