#Author - Munishpal Makhija # =========================================================================== # Created by: Munishpal Makhija # Release Date: 02/28/2020 # Organization: VMware # Version: 1.0 # Blog: http://bit.ly/MyvBl0g # Twitter: @munishpal_singh # =========================================================================== ####################### Use Case ######################### ###### Generate an HTML Report for Deployments in vRA Cloud Environment / Org ###### It displays following details ###### Deployment Summary - Number of deployments per Project ###### Deployments Details - List all deployments per Project and list details such as projectid , name , id, createdBy, createAt, Status ###### Deployment Resources - For each successfull deployment display resource for e.g. One deployment can have Cloud Machine, Cloud Network ####################### Pre-requisites ######################### ###### 1 - PowervRACloud Version 1.1 ###### 2 - Connected to vRA Cloud using Connect-vRA-Cloud -APIToken $APIToken ####################### Usage ######################### ###### Download the script and save it to a Folder and execute ./vRACloudDeploymentsReport.ps1 ####################### Dont Modify anything below this line ######################### $Header = @" "@ $html = @() $deployments = @() $deploymentresources = @() $summary = @() $deploymentname = @() $date = Get-Date $user = whoami $deployments = Get-vRA-DeploymentFilters -filterId "projects" | Sort-Object Count -Descending $html += $deployments | select name,id,count | ConvertTo-Html -As Table -Fragment -PreContent "

Deployment Summary

" $projects = $deployments | select id,name ForEach ($project in $projects) { $projectname = $project.name $projectid = $project.id $group = $project.Group $deployments = Get-vRA-Deployments | where {$_.project.id -eq $projectid} if ($deployments) { $html += $deployments | select {$_.project.id},{$_.project.name},name,id,createdBy,createdAt,Status | ConvertTo-Html -As Table -Fragment -PreContent "

Project Name - $projectname | Project ID - $projectid

" ForEach ($deployment in $deployments) { $status = $deployment.status if ($status –eq "CREATE_SUCCESSFUL") { $deploymentname = $deployment.name $deploymentresources = Get-vRA-DeploymentResources -DeploymentName $deploymentname | Select name,id,type $html += $deploymentresources | ConvertTo-Html -As Table -Fragment -PreContent "

Deployment Name - $deploymentname

" } } } } $html += "
Run by $user at $date
" $html += "
Generated using Power vRA Cloud
" $html += "
Author - Munishpal Makhija
" $prefix = (Get-Date).ToString(‘M-d-y’) $filename = "vRA Cloud Deployment Report -"+ $prefix+ ".html" ConvertTo-Html -Body "$html" -Title "vRA Cloud Report" -Head $header| Out-File $filename $directory = pwd $file = "$directory/$filename" ####################### End of File #########################