Permalink
Find file
5bf60ba Nov 27, 2016
50 lines (45 sloc) 1.7 KB
Function Get-HVDesktop {
<#
.SYNOPSIS
This cmdlet retrieves the virtual desktops on a horizon view Server.
.DESCRIPTION
This cmdlet retrieves the virtual desktops on a horizon view Server.
.NOTES
Author: Alan Renouf, @alanrenouf,virtu-al.net
.PARAMETER State
Hash table containing states to filter on
.EXAMPLE
List All Desktops
Get-HVDesktop
.EXAMPLE
List All Problem Desktops
Get-HVDesktop -state @('PROVISIONING_ERROR',
'ERROR',
'AGENT_UNREACHABLE',
'AGENT_ERR_STARTUP_IN_PROGRESS',
'AGENT_ERR_DISABLED',
'AGENT_ERR_INVALID_IP',
'AGENT_ERR_NEED_REBOOT',
'AGENT_ERR_PROTOCOL_FAILURE',
'AGENT_ERR_DOMAIN_FAILURE',
'AGENT_CONFIG_ERROR',
'UNKNOWN')
#>
Param (
$State
)
$ViewAPI = $global:DefaultHVServers[0].ExtensionData
$query_service = New-Object "Vmware.Hv.QueryServiceService"
$query = New-Object "Vmware.Hv.QueryDefinition"
$query.queryEntityType = 'MachineSummaryView'
if ($State) {
[VMware.Hv.QueryFilter []] $filters = @()
foreach ($filterstate in $State) {
$filters += new-object VMware.Hv.QueryFilterEquals -property @{'memberName' = 'base.basicState'; 'value' = $filterstate}
}
$orFilter = new-object VMware.Hv.QueryFilterOr -property @{'filters' = $filters}
$query.Filter = $orFilter
}
$Desktops = $query_service.QueryService_Query($ViewAPI,$query)
$Desktops.Results.Base
}