Added Power Actions sample actions

Signed-off-by: Kamen Nikolov <knikolov@vmware.com>
This commit is contained in:
Kamen Nikolov
2023-07-31 16:23:56 +03:00
parent d41905e00f
commit d70d246e34
2 changed files with 68 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
param (
[Parameter(Mandatory=$true)]
[VMware.VimAutomation.ViCore.Types.V1.Inventory.Cluster[]] $cluster,
[Parameter(Mandatory=$true)]
[string] $smtp,
[Parameter(Mandatory=$true)]
[string] $email)
$vms = Get-VM -Location $cluster
$snapshots = @()
foreach ($vm in $vms) {
$snapshots += Get-Snapshot -VM $vm
}
$header = @"
<style>
table {
font-size: 12px;
border: 0px;
font-family: Arial, Helvetica, sans-serif;
}
td {
padding: 4px;
margin: 0px;
border: 0;
}
th {
background: #395870;
background: linear-gradient(#49708f, #293f50);
color: #fff;
font-size: 11px;
text-transform: uppercase;
padding: 10px 15px;
vertical-align: middle;
}
tbody tr:nth-child(even) {
background: #f0f0f2;
}
</style>
"@
$snapshots | select Name,VM,Created,@{Name="Size";Expression={[math]::Round($_.SizeMB,3)}},IsCurrent | `
ConvertTo-Html -head $header | Out-File "SnapshotReport.html"
Send-MailMessage -from "Snapshot Reports <noreply@vmware.com>" `
-to $email `
-subject "Snapshot Report" `
-body "Cluster snapshot report" `
-Attachment "SnapshotReport.html" `
-smtpServer $smtp

View File

@@ -0,0 +1,17 @@
param (
[Parameter(Mandatory=$true)]
[VMware.VimAutomation.ViCore.Types.V1.Inventory.Cluster] $cluster,
[DateTime] $date)
if ($null -eq $date) {
$date = (Get-Date).AddDays(-7)
}
$vms = Get-VM -Location $cluster
foreach ($vm in $vms) {
$snaphostsToBeRemoved = Get-Snapshot -VM $vm | where {$_.Created -lt $date}
if ($null -ne $snaphostsToBeRemoved) {
Write-Host "Removing snapshots: " + $snaphostsToBeRemoved + " of VM: " + $vm
Remove-Snapshot $snaphostsToBeRemoved -Confirm:$false
}
}