62 lines
2.2 KiB
PowerShell
62 lines
2.2 KiB
PowerShell
function Get-TriggeredAlarm {
|
|
<#
|
|
.SYNOPSIS
|
|
This function lists the triggered alarms for the specified entity in vCenter
|
|
.DESCRIPTION
|
|
List the triggered alarms for the given object
|
|
.NOTES
|
|
Author: Kyle Ruddy, @kmruddy, kmruddy.com
|
|
.PARAMETER VM
|
|
Specifies the name of the VM
|
|
.PARAMETER VMHost
|
|
Specifies the name of the VMHost
|
|
.PARAMETER Datacenter
|
|
Specifies the name of the Datacenter
|
|
.PARAMETER Datastore
|
|
Specifies the name of the Datastore
|
|
.EXAMPLE
|
|
Get-TriggeredAlarm -VM VMname
|
|
|
|
Entity Alarm AlarmStatus AlarmMoRef EntityMoRef
|
|
---- ---- ---- ---- ----
|
|
VMname Name Yellow Alarm-MoRef Entity-MoRef
|
|
#>
|
|
|
|
[CmdletBinding()]
|
|
param(
|
|
[string]$VM,
|
|
[string]$VMHost,
|
|
[string]$Datacenter,
|
|
[string]$Datastore
|
|
)
|
|
BEGIN {
|
|
switch ($PSBoundParameters.Keys) {
|
|
'VM' {$entity = Get-VM -Name $vm -ErrorAction SilentlyContinue}
|
|
'VMHost' {$entity = Get-VMHost -Name $VMHost -ErrorAction SilentlyContinue}
|
|
'Datacenter' {$entity = Get-Datacenter -Name $Datacenter -ErrorAction SilentlyContinue}
|
|
'Datastore' {$entity = Get-Datastore -Name $Datastore -ErrorAction SilentlyContinue}
|
|
default {$entity = $null}
|
|
}
|
|
|
|
if ($null -eq $entity) {
|
|
Write-Warning "No vSphere object found."
|
|
break
|
|
}
|
|
}
|
|
PROCESS {
|
|
if ($entity.ExtensionData.TriggeredAlarmState -ne "") {
|
|
$alarmOutput = @()
|
|
foreach ($alarm in $entity.ExtensionData.TriggeredAlarmState) {
|
|
$tempObj = "" | Select-Object -Property Entity, Alarm, AlarmStatus, AlarmMoRef, EntityMoRef
|
|
$tempObj.Entity = Get-View $alarm.Entity | Select-Object -ExpandProperty Name
|
|
$tempObj.Alarm = Get-View $alarm.Alarm | Select-Object -ExpandProperty Info | Select-Object -ExpandProperty Name
|
|
$tempObj.AlarmStatus = $alarm.OverallStatus
|
|
$tempObj.AlarmMoRef = $alarm.Alarm
|
|
$tempObj.EntityMoRef = $alarm.Entity
|
|
$alarmOutput += $tempObj
|
|
}
|
|
$alarmOutput | Format-Table -AutoSize
|
|
}
|
|
}
|
|
|
|
} |