On line 52, the "foreach" loop is referencing the variable "$d", but I believe it should reference the variable "$devices":
# VM Devices
$devices = $vmView.Config.Hardware.Device
$diskArray = @()
# Build VM Disk Array to map to datastore
foreach ($device in $d) {
if($device -is [VMware.Vim.VirtualDisk]) {
$temp = New-Object Vmware.Vim.FaultToleranceDiskSpec
$temp.Datastore = $datastoreView.Moref
$temp.Disk = $device
$diskArray += $temp
}
}