Due to a lot of requests I found necessary to show you guys who might be having a problem using the “notify users” function in the vCloud Director web UI through the vCloud API. Even though the functionality is not in the API , PowerCLI and Powershell make work easier with the vCloud snap-in and powershell’s send-MailMessage cmdlet.
This example is sending an email to all Org users reminding them of the number of VMs they have in particular organization. The good thing about this code it can be adapted to show; resource usage, IP addresses OS usage. It also has the ability to be used in either a system admin role or an organization admin role:
$mailServer = “mail.example.com”
$users = Get-CIUser # use -Org “OrgName” if connected to system Org
$VApps = Get-CIVApp # use -Org “OrgName” if connected to system Org
foreach ($user in $users)
{
$counter = 0
$ownerVApps = $VApps | where {$_.owner -eq $user}
$vapps | ForEach-Object {$counter += $_.extensiondata.children.vm.count}
$mailbody = “Greetings, You currently have $counter virtual machines in Organization: $($user.Org)”
Send-MailMessage -SmtpServer $mailServer -To $user.email -From “[email protected]” -Body $mailbody
}