Check if this new version works for you.
New-VIProperty -Name 'BlueFolderPath' -ObjectType 'VirtualMachine' -Value {
param($vm)
function Get-ParentName{
param($object)
if($object.Folder){
$blue = Get-ParentName $object.Folder
$name = $object.Folder.Name
}
elseif($object.VApp){
$blue = Get-ParentName $object.VApp.ExtensionData.ParentFolder
$name = $object.VApp.Name
}
elseif($object -is [VMware.Vim.ManagedObjectReference]){
$folder = Get-VIObjectByVIView -MORef $object
$blue = Get-ParentName $folder.Parent
$name = $folder.Name
}
elseif($object.Parent -and $object.Parent.GetType().Name -like "Folder*"){
$blue = Get-ParentName $object.Parent
$name = $object.Parent.Name
}
elseif($object.ParentFolder){
$blue = Get-ParentName $object.ParentFolder
$name = $object.ParentFolder.Name
}
if("vm","Datacenters" -notcontains $name){
$blue + "/" + $name
}
else{
$blue
}
}
(Get-ParentName $vm).Remove(0,1)
} -Force | Out-Null