Get-ResourcePool
VMware: Retrieves available resource pools
#Requires -Version 5.1
#Requires -Modules VMware.VimAutomation.Core
[CmdletBinding(DefaultParameterSetName = "byName")]
Param(
[Parameter(Mandatory = $true, ParameterSetName = "byID")]
[Parameter(Mandatory = $true, ParameterSetName = "byName")]
[Parameter(Mandatory = $true, ParameterSetName = "byVM")]
[string]$VIServer,
[Parameter(Mandatory = $true, ParameterSetName = "byID")]
[Parameter(Mandatory = $true, ParameterSetName = "byName")]
[Parameter(Mandatory = $true, ParameterSetName = "byVM")]
[pscredential]$VICredential,
[Parameter(Mandatory = $true, ParameterSetName = "byID")]
[string]$ID,
[Parameter(Mandatory = $true, ParameterSetName = "byVM")]
[string]$VM,
[Parameter(ParameterSetName = "byName")]
[string]$Name,
[Parameter(ParameterSetName = "byID")]
[Parameter(ParameterSetName = "byName")]
[Parameter(ParameterSetName = "byVM")]
[switch]$NoRecursion,
[Parameter(ParameterSetName = "byID")]
[Parameter(ParameterSetName = "byName")]
[Parameter(ParameterSetName = "byVM")]
[ValidateSet('*', 'Name', 'Id', 'MemReservationGB', 'MemLimitGB', 'CpuLimitMHz', 'CpuReservationMHz')]
[string[]]$Properties = @('Name', 'Id', 'MemReservationGB', 'MemLimitGB', 'CpuLimitMHz', 'CpuReservationMHz')
)
Process {
try {
if ($Properties -contains '*') { $Properties = @('*') }
$vmServer = Connect-VIServer -Server $VIServer -Credential $VICredential -ErrorAction Stop
$cmdArgs = @{ ErrorAction = 'Stop'; Server = $vmServer; NoRecursion = $NoRecursion }
if ($PSCmdlet.ParameterSetName -eq "byID") { $cmdArgs.Add('ID', $ID) }
elseif ($PSCmdlet.ParameterSetName -eq "byVM") { $cmdArgs.Add('VM', $VM) }
elseif (-not [System.String]::IsNullOrWhiteSpace($Name)) { $cmdArgs.Add('Name', $Name) }
$result = Get-ResourcePool @cmdArgs | Select-Object $Properties
if ($null -ne $result) { foreach ($item in $result) { $item | Add-Member -NotePropertyName Timestamp -NotePropertyValue (Get-Date -Format "yyyy-MM-dd HH:mm:ss") -PassThru -Force } }
}
catch { throw }
finally { if ($null -ne $vmServer) { Disconnect-VIServer -Server $vmServer -Force -Confirm:$false -ErrorAction SilentlyContinue } }
}IP address or DNS name of the vSphere server
PSCredential object for authenticating with the server
ID of the resource pool
Virtual machine whose resource pool to retrieve
Name of the resource pool; retrieves all if empty
Off
Disable recursive behavior
List of properties to expand; use * for all