Integration

Table Of Contents
Examples of Using View PowerCLI to Perform Advanced Tasks
You can combine View PowerCLI and vSphere PowerCLI cmdlets to create PowerShell functions that
perform complex operations, such as resizing pools and adding datastores to desktop pools.
Determining if View Connection Server Is Running
The following PowerShell function determines whether the View Connection Server service is running and
starts the service if it is not running.
# WaitForViewStartup
# Parameters
# $ClearError If $true, clear the $error object on completion.
# $StartBroker If $true, start the service if it is not running.
function WaitForViewStartup
{ param ($ClearError = $true, $StartBroker = $true)
$service = Get-Service wsbroker
if($service -and (Get-Service wstomcat)){
$started = $false
if($service.Status -eq "Stopped"){
if($StartBroker){ # Start the broker if it is not running.
Write-Warning "Connection Broker service is stopped, attempting to start."
$errCountBefore = $error.Count
Start-Service wsbroker
$errCountAfter = $error.Count
if($errorCountAfter -gt $errorCountBefore){
break
}
} else {
Write-Error "Connection Broker service is stopped."
break
}
}
while(!$started){ # Loop until service has completed starting up.
Write-Warning "Waiting for View Connection Server to start."
$errCountBefore = $error.Count
$output = Get-GlobalSetting -ErrorAction SilentlyContinue
$errCountAfter = $error.Count
$started = $true
if($errCountAfter -gt $errCountBefore){
$err = $error[0].ToString()
if($err.Contains("NoQueueHandler")){
$started = $false
Start-Sleep -s 1
} else {
if($ClearError){
$error.Clear()
}
Write-Error $err
break
}
}
if($ClearError){
$error.Clear()
Chapter 3 Using View PowerCLI
VMware, Inc. 45