How about something like this:
$VIServer = "YourVIServer"
$EmailFrom = "Sender@Email"
$EmailTo = "Recipient@Email"
$Subject = "Email Subject"
$SMTPServer = "YourSMTPServer"
Connect-VIServer $VIServer
$datastores = Get-Datastore
Foreach ($datastore in $datastores) {
$msg += "`nFolders in Datatore: " + $datastore.Name + "`n`n"
New-PSDrive -Location $datastore -Name Datastore -PSProvider VimDatastore -Root "\" | Out-Null
$folders = Get-ChildItem Datastore:\ | ? {$_.ItemType -eq "Folder"}
Remove-PSDrive Datastore | Out-Null
Foreach ($folder in $folders){
$msg += "`t" + $folder.Name + "`n"
}
}
Send-MailMessage -To $EmailTo -From $EmailFrom -Body $msg -SmtpServer $SMTPServer -Subject $Subject
Disconnect-VIServer -Confirm:$false
This will send an email with an output similar to this:
Folders in Datatore: local-esx100
Test-VM
ARandomFolder
MoreFolders
Folders in Datatore: local-esx101
Test-VM2