162 lines
6.7 KiB
PowerShell
Executable File
162 lines
6.7 KiB
PowerShell
Executable File
Function Get-VAMISummary {
|
|
<#
|
|
.NOTES
|
|
===========================================================================
|
|
Created by: William Lam
|
|
Date: Jan 20, 2016
|
|
Organization: VMware
|
|
Blog: www.virtuallyghetto.com
|
|
Twitter: @lamw
|
|
===========================================================================
|
|
.SYNOPSIS
|
|
This function retrieves some basic information from VAMI interface (5480)
|
|
for a VCSA node which can be an Embedded VCSA, External PSC or External VCSA.
|
|
.DESCRIPTION
|
|
Function to return basic VAMI summary info
|
|
.EXAMPLE
|
|
Connect-CisServer -Server 192.168.1.51 -User administrator@vsphere.local -Password VMware1!
|
|
Get-VAMISummary
|
|
#>
|
|
$systemVersionAPI = Get-CisService -Name 'com.vmware.appliance.system.version'
|
|
$results = $systemVersionAPI.get() | select product, type, version, build, install_time
|
|
|
|
$systemUptimeAPI = Get-CisService -Name 'com.vmware.appliance.system.uptime'
|
|
$ts = [timespan]::fromseconds($systemUptimeAPI.get().toString())
|
|
$uptime = $ts.ToString("hh\:mm\:ss\,fff")
|
|
|
|
$summaryResult = "" | Select Product, Type, Version, Build, InstallTime, Uptime
|
|
$summaryResult.Product = $results.product
|
|
$summaryResult.Type = $results.type
|
|
$summaryResult.Version = $results.version
|
|
$summaryResult.Build = $results.build
|
|
$summaryResult.InstallTime = $results.install_time
|
|
$summaryResult.Uptime = $uptime
|
|
|
|
$summaryResult
|
|
}
|
|
|
|
Function Get-VAMIHealth {
|
|
<#
|
|
.NOTES
|
|
===========================================================================
|
|
Created by: William Lam
|
|
Date: Jan 20, 2016
|
|
Organization: VMware
|
|
Blog: www.virtuallyghetto.com
|
|
Twitter: @lamw
|
|
===========================================================================
|
|
.SYNOPSIS
|
|
This function retrieves health information from VAMI interface (5480)
|
|
for a VCSA node which can be an Embedded VCSA, External PSC or External VCSA.
|
|
.DESCRIPTION
|
|
Function to return VAMI health
|
|
.EXAMPLE
|
|
Connect-CisServer -Server 192.168.1.51 -User administrator@vsphere.local -Password VMware1!
|
|
Get-VAMIHealth
|
|
#>
|
|
$healthOverall = (Get-CisService -Name 'com.vmware.appliance.health.system').get()
|
|
$healthLastCheck = (Get-CisService -Name 'com.vmware.appliance.health.system').lastcheck()
|
|
$healthCPU = (Get-CisService -Name 'com.vmware.appliance.health.load').get()
|
|
$healthMem = (Get-CisService -Name 'com.vmware.appliance.health.mem').get()
|
|
$healthSwap = (Get-CisService -Name 'com.vmware.appliance.health.swap').get()
|
|
$healthStorage = (Get-CisService -Name 'com.vmware.appliance.health.storage').get()
|
|
|
|
# DB health only applicable for Embedded/External VCSA Node
|
|
$vami = (Get-CisService -Name 'com.vmware.appliance.system.version').get()
|
|
|
|
if($vami.type -eq "vCenter Server with an embedded Platform Services Controller" -or $vami.type -eq "vCenter Server with an external Platform Services Controller") {
|
|
$healthVCDB = (Get-CisService -Name 'com.vmware.appliance.health.databasestorage').get()
|
|
} else {
|
|
$healthVCDB = "N/A"
|
|
}
|
|
$healthSoftwareUpdates = (Get-CisService -Name 'com.vmware.appliance.health.softwarepackages').get()
|
|
|
|
$healthResult = "" | Select HealthOverall, HealthLastCheck, HealthCPU, HealthMem, HealthSwap, HealthStorage, HealthVCDB, HealthSoftware
|
|
$healthResult.HealthOverall = $healthOverall
|
|
$healthResult.HealthLastCheck = $healthLastCheck
|
|
$healthResult.HealthCPU = $healthCPU
|
|
$healthResult.HealthMem = $healthMem
|
|
$healthResult.HealthSwap = $healthSwap
|
|
$healthResult.HealthStorage = $healthStorage
|
|
$healthResult.HealthVCDB = $healthVCDB
|
|
$healthResult.HealthSoftware = $healthSoftwareUpdates
|
|
|
|
$healthResult
|
|
}
|
|
|
|
Function Get-VAMIAccess {
|
|
<#
|
|
.NOTES
|
|
===========================================================================
|
|
Created by: William Lam
|
|
Date: Jan 25, 2016
|
|
Organization: VMware
|
|
Blog: www.virtuallyghetto.com
|
|
Twitter: @lamw
|
|
===========================================================================
|
|
.SYNOPSIS
|
|
This function retrieves access information from VAMI interface (5480)
|
|
for a VCSA node which can be an Embedded VCSA, External PSC or External VCSA.
|
|
.DESCRIPTION
|
|
Function to return VAMI access interfaces (Console,DCUI,Bash Shell & SSH)
|
|
.EXAMPLE
|
|
Connect-CisServer -Server 192.168.1.51 -User administrator@vsphere.local -Password VMware1!
|
|
Get-VAMIAccess
|
|
#>
|
|
$consoleAccess = (Get-CisService -Name 'com.vmware.appliance.access.consolecli').get()
|
|
$dcuiAccess = (Get-CisService -Name 'com.vmware.appliance.access.dcui').get()
|
|
$shellAccess = (Get-CisService -Name 'com.vmware.appliance.access.shell').get()
|
|
$sshAccess = (Get-CisService -Name 'com.vmware.appliance.access.ssh').get()
|
|
|
|
$accessResult = "" | Select Console, DCUI, BashShell, SSH
|
|
$accessResult.Console = $consoleAccess
|
|
$accessResult.DCUI = $dcuiAccess
|
|
$accessResult.BashShell = $shellAccess.enabled
|
|
$accessResult.SSH = $sshAccess
|
|
|
|
$accessResult
|
|
}
|
|
|
|
Function Get-VAMITime {
|
|
<#
|
|
.NOTES
|
|
===========================================================================
|
|
Created by: William Lam
|
|
Date: Jan 27, 2016
|
|
Organization: VMware
|
|
Blog: www.virtuallyghetto.com
|
|
Twitter: @lamw
|
|
===========================================================================
|
|
.SYNOPSIS
|
|
This function retrieves the time and NTP info from VAMI interface (5480)
|
|
for a VCSA node which can be an Embedded VCSA, External PSC or External VCSA.
|
|
.DESCRIPTION
|
|
Function to return current Time and NTP information
|
|
.EXAMPLE
|
|
Connect-CisServer -Server 192.168.1.51 -User administrator@vsphere.local -Password VMware1!
|
|
Get-VAMITime
|
|
#>
|
|
$systemTimeAPI = Get-CisService -Name 'com.vmware.appliance.system.time'
|
|
$timeResults = $systemTimeAPI.get()
|
|
|
|
$timeResult = "" | Select Timezone, Date, CurrentTime, Mode, NTPServers, NTPStatus
|
|
$timeResult.Timezone = $timeResults.timezone
|
|
$timeResult.Date = $timeResults.date
|
|
$timeResult.CurrentTime = $timeResults.time
|
|
|
|
$timeSync = (Get-CisService -Name 'com.vmware.appliance.techpreview.timesync').get()
|
|
$timeSyncMode = $timeSync.mode
|
|
|
|
$timeResult.Mode = $timeSyncMode
|
|
|
|
if($timeSyncMode -eq "NTP") {
|
|
$ntpServers = (Get-CisService -Name 'com.vmware.appliance.techpreview.ntp').get()
|
|
$timeResult.NTPServers = $ntpServers.servers
|
|
$timeResult.NTPStatus = $ntpServers.status
|
|
} else {
|
|
$timeResult.NTPServers = "N/A"
|
|
$timeResult.NTPStatus = "N/A"
|
|
}
|
|
|
|
$timeResult
|
|
} |