Afaik, that is not really possible with the cmdlets, but you can use the API method
Something like this for example
$vmName = 'MyVM'
$vmdkName = 'Hard disk 1'
$vmdkFile = '[Datastore] MyVM/NewHD.vmdk'
$vm = Get-View -ViewType VirtualMachine -Filter @{Name=$vmName}
$hd = $vm.Config.Hardware.Device.where{$_.DeviceInfo.Label -eq $vmdkName}[0]
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$oldVMDK = New-Object VMware.Vim.VirtualDeviceConfigSpec
$oldVMDK.Device = $hd
$oldVMDK.Operation = [VMware.Vim.VirtualDeviceConfigSpecOperation]::remove
$spec.DeviceChange += $oldVMDK
$newVMDK = New-Object VMware.Vim.VirtualDeviceConfigSpec
$newVMDK.Device = $hd
$newVMDK.Device.Backing.FileName = $vmdkFile
$newVMDK.Operation = [VMware.Vim.VirtualDeviceConfigSpecOperation]::add
$spec.DeviceChange += $newVMDK
$vm.ReconfigVM($spec)