For vSphere 4.1 I wrote a PowerCLI script to attach NFS shares. You can find the script here.
In vSphere 5 the properties has changed so I had to change the script. In fact the script is much simpler because all the properties can be found in $nfs.info.nas:
The RemoteHost presents the IP address, The RemotePath presents the Share and the Name property presents the name of the share. Now we have the correct variables so it’s time to fix the old script. You can find the result below:
$REFHOST = Get-VMHost "<esxi hostname>" foreach($NEWHOST in (Get-Cluster <cluster> | Get-VMhost | Where {$_.Name -ne $REFHOST.Name}) | Sort Name){ foreach($nfs in (Get-VMhost $REFHOST | Get-Datastore | Where {$_.type -eq "NFS"} | Get-View)){ $share = $nfs.info.Nas if($share.Remotehost -match "\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b"){ $remotePath = $share.RemotePath $remoteHost = $share.Remotehost $shareName = $nfs.Name if ((Get-VMHost $NEWHOST | Get-Datastore | Where {$_.Name -eq $shareName -and $_.type -eq "NFS"} -ErrorAction SilentlyContinue )-eq $null){ Write-Host "NFS mount $shareName doesn't exist on $($NEWHOST)" -fore Red New-Datastore -Nfs -VMHost $NEWHost -Name $Sharename -Path $remotePath -NfsHost $remoteHost | Out-Null } } } }
Worked beautifully on my 10 host vSphere cluster. Saved me a ton of time.
Thank you!