View Integration VMware Horizon 7 7.3 73

User Manual: Pdf Horizon 7.3 - Integration User Guide for VMware Horizon Software, Free Instruction Manual

Open the PDF directly: View PDF PDF.
Page Count: 58

DownloadView Integration - VMware Horizon 7 7.3 Horizon-73-integration
Open PDF In BrowserView PDF
View Integration
Modified for Horizon 7 7.3.2
VMware Horizon 7 7.3

View Integration

You can find the most up-to-date technical documentation on the VMware website at:
https://docs.vmware.com/
If you have comments about this documentation, submit your feedback to
docfeedback@vmware.com

VMware, Inc.
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
Copyright © 2016–2017 VMware, Inc. All rights reserved. Copyright and trademark information.
VMware, Inc.

2

Contents
View Integration

4

1 Introduction to View Integration 5
View Components

5

Integration Interfaces to View

6

2 Integrating View with the Event Database 7
Event Database Tables and Schemas
Connection Broker Events
Horizon Agent Events

7

10

16

View Administrator Events

16

Event Message Attributes

25

Sample Database Queries and Views

26

3 Customizing LDAP Data 29
Introduction to LDAP Configuration Data
Modifying LDAP Configuration Data

29

30

4 Integrating View with Microsoft SCOM 36
Setting Up a SCOM Integration

36

Monitoring View in the Operations Manager Console

42

5 Examining PCoIP Session Statistics with WMI 47
Using PCoIP Session Statistics

47

General PCoIP Session Statistics
PCoIP Audio Statistics

49

PCoIP Imaging Statistics

50

PCoIP Network Statistics

51

PCoIP USB Statistics

48

52

Examples of Using PowerShell cmdlets to Examine PCoIP Statistics

53

6 Setting Desktop Policies with Start Session Scripts 54
Obtaining Input Data for a Start Session Script

54

Best Practices for Using Start Session Scripts

54

Preparing a View Desktop to Use a Start Session Script
Sample Start Session Scripts

VMware, Inc.

55

58

3

View Integration
The View Integration document describes how to integrate View™ software with third-party software such
as Windows PowerShell, business intelligence reporting engines, and Microsoft System Center
Operations Manager (SCOM).

Intended Audience
This document is intended for anyone who wants to customize or integrate software to work with View.
The information in this document is written for experienced Windows or Linux system administrators who
are familiar with virtual machine technology and datacenter operations.

VMware, Inc.

4

Introduction to View Integration

1

With View, system administrators can provision desktops and control user access to these desktops.
Client software connects users to virtual machines running in VMware vSphere™, or to physical systems
running within your network environment. In addition, View administrators can configure Remote Desktop
Services (RDS) hosts to provide View desktop and application sessions to client devices.
This section includes the following topics:
n

View Components

n

Integration Interfaces to View

View Components
You can use View with VMware vCenter Server to create desktops from virtual machines that are running
®
on VMware ESX or VMware ESXi™ hosts and deploy these desktops to end users. You can also install
View on RDS hosts to deploy desktops and applications to end users. View uses your existing Active
Directory infrastructure for user authentication and management.
After you create a desktop or application, authorized end users can use Web-based or locally installed
client software to securely connect to centralized virtual machines, back-end physical systems, or RDS
hosts.
View consists of the following major components.
View Connection
Server

A software service that acts as a broker for client connections by
authenticating and then directing incoming user requests to the appropriate
virtual machine, physical system, or RDS host.

Horizon Agent

A software service that is installed on all guest virtual machines, physical
systems, or RDS hosts to allow them to be managed by View.
Horizon Agent provides features such as connection monitoring, virtual
printing, USB support, and single sign-on.

Horizon Client

A software application that communicates with View Connection Server to
enable users to connect to their desktops.

VMware, Inc.

5

View Integration

View Administrator

A Web application that enables View administrators to configure View
Connection Server, deploy desktop and application pools, manage
machines, control user authentication, initiate and examine system events,
and perform analytical activities.
Note View Administrator is named Horizon Administrator in Horizon 7.

vCenter Server

A server that acts as a central administrator for ESX/ESXi hosts that are
connected on a network. A vCenter Server instance provides the central
point for configuring, provisioning, and managing virtual machines in the
datacenter.

View Composer

A software service that is installed on a vCenter Server instance to enable
View to rapidly deploy multiple linked-clone desktops from a single
centralized base image.

Integration Interfaces to View
You can use several interfaces to integrate View with external applications.
Event database

You can configure View to record events to a Microsoft SQL Server or
Oracle database. You can then use business intelligence reporting engines
to access and analyze this database.

View PowerCLI

You can use the PowerShell interface to perform a wide variety of
administration tasks on View components.

Lightweight Directory
Access Protocol
(LDAP)

You can export and import LDAP configuration data from and into View.
You can create scripts that update this configuration data without accessing
View Administrator directly.

Microsoft System
Center Operations
Manager (SCOM)

You can monitor the operations of View components from the SCOM
console.

Windows Management
Instrumentation (WMI)

You can examine performance statistics for a PCoIP session.

VMware, Inc.

6

Integrating View with the Event
Database

2

You can configure View to record events to a Microsoft SQL Server or Oracle database. View records
events such as end-user actions, administrator actions, alerts that report system failures and errors, and
statistical sampling.
End-user actions include logging and starting desktop and application sessions. Administrator actions
include adding entitlements and creating desktop and application pools. An example of statistical
sampling is recording the maximum number of users over a 24-hour period.
You can use business intelligence reporting engines such as Crystal Reports, IBM Cognos, MicroStrategy
9, and Oracle Enterprise Performance Management System to access and analyze the event database.
This section includes the following topics:
n

Event Database Tables and Schemas

n

Connection Broker Events

n

Horizon Agent Events

n

View Administrator Events

n

Event Message Attributes

n

Sample Database Queries and Views

Event Database Tables and Schemas
View uses database tables to implement the event database. The event database prepends the names of
these tables with a prefix that you define when you set up the database.

Event Database Tables
The following table shows the database tables that implement the event database in View.
Table 2‑1. Event Database Tables
Table Name

Description

event

Metadata and search optimization data for recent events.

event_data

Data values for recent events.

VMware, Inc.

7

View Integration

Table 2‑1. Event Database Tables (Continued)
Table Name

Description

event_data_historical

Data values for all events.

event_historical

Metadata and search optimization data for all events.

View records details about events to all the database tables. After a certain period of time has elapsed
since writing an event record, View deletes the record from the event and event_data tables. You can use
View Administrator to configure the time period for which the database keeps a record in the event and
event_data tables.
Important View does not restrict the growth of the event_historical and event_data_historical tables.
You must implement a space management policy for these tables.
A unique primary key, EventID, identifies each event that View records in the event and event_historical
tables. View records data values for each event in the event_data and event_data_historical tables. You
can obtain the complete set of information for an event by joining the event and event_data tables or the
event_ historical and event_data_historical tables on the EventID column.
The EventType, Severity, and Time columns in the event and event_historical tables identify the type and
severity of an event and the time at which it occurred.
For information about setting up the event database, see the View Installation document.
Note Events might be lost if you restart View Connection Server instances while the event database is
not running. For a solution that avoids this problem see http://kb.vmware.com/kb/1021461.

Event Database Schemas
The following table shows the schema for the event and event_historical database tables.
Table 2‑2. Schema for the event and event_historical Tables
Column Name

Oracle Data Type

SQL Server Data Type

Acknowledged

SMALLINT

tinyint

Description
Whether View acknowledged the event.
n

0 = false

n

1 = true

DesktopId

NVARCHAR2(512)

nvarchar(512)

Desktop ID of the associated pool.

EventID

INTEGER

int

Unique primary key for the event.

EventType

NVARCHAR2(512)

nvarchar(512)

Event name that corresponds to an item in
the message catalog. For example,
BROKER_USERLOGGEDIN.

FolderPath

NVARCHAR2(512)

nvarchar(512)

Full path of the folder that contains the
associated object.

GroupId

NVARCHAR2(512)

nvarchar(512)

SID of the associated group in Active
Directory.

VMware, Inc.

8

View Integration

Table 2‑2. Schema for the event and event_historical Tables (Continued)
Column Name

Oracle Data Type

SQL Server Data Type

Description

LUNId

NVARCHAR2(512)

nvarchar(512)

ID of the LUN that stores the associated
object.

MachineId

NVARCHAR2(512)

nvarchar(512)

ID of the associated physical or virtual
machine.

Module

NVARCHAR2(512)

nvarchar(512)

View component that raised the event. For
example, Admin, Broker, Tunnel,
Framework, Client, or Agent.

ModuleAndEventText

NVARCHAR2(512)

nvarchar(512)

Event message with values substituted for
attribute parameters.

Node

NVARCHAR2(512)

nvarchar(512)

Name of the virtual device node.

Severity

NVARCHAR2(512)

nvarchar(512)

Severity level. For example, INFO,
WARNING, ERROR, AUDIT_SUCCESS,
AUDIT_FAIL.

Source

NVARCHAR2(512)

nvarchar(512)

Identifier for the source of the event.

ThinAppId

NVARCHAR2(512)

nvarchar(512)

ID of the associated ThinApp™ object.

Time

TIMESTAMP

datetime

Time at which the event occurred,
measured from the epoch (January 1,
1970).

UserDiskPathId

NVARCHAR2(512)

nvarchar(512)

ID of the user disk.

UserSID

NVARCHAR2(512)

nvarchar(512)

SID of the associated user in Active
Directory.

The following table shows the schema for the event_data and event_data_historical database tables.
Table 2‑3. Schema for the event_data and event_data_historical Tables
Column Name

Oracle Data Type

SQL Server Data Type

BooleanValue

SMALLINT

tinyint

Description
Value of a Boolean attribute.
n

0 = false

n

1 = true

EventID

INTEGER

int

Unique primary key for the event.

IntValue

INTEGER

int

Value of an integer attribute.

Name

NVARCHAR2(512)

nvarchar(512)

Attribute name (for example,
UserDisplayName).

StrValue

NVARCHAR2(512)

nvarchar(512)

Value of a string attribute. For other types
of attributes, this column contains an
interpretation of the data type as a string.

VMware, Inc.

9

View Integration

Table 2‑3. Schema for the event_data and event_data_historical Tables (Continued)
Column Name

Oracle Data Type

SQL Server Data Type

Description

TimeValue

TIMESTAMP

datetime

Value of a date and time attribute.

Type

SMALLINT

tinyint

The data type of the attribute.
n

0 = StrValue

n

1 = IntValue

n

2 = TimeValue

n

3 = BooleanValue

Connection Broker Events
Connection broker events report View Connection Server-related information, such as desktop and
application sessions, user authentication failures, and provisioning errors.
The BROKER_DAILY_MAX_DESKTOP_SESSIONS event reports the maximum number of concurrent
desktop sessions over a 24-hour period. If a user runs multiple desktop sessions concurrently, each
desktop session is counted separately.
The BROKER_DAILY_MAX_APP_USERS event reports the maximum number of concurrent application
users over a 24-hour period. If a user runs multiple applications concurrently, the user is counted only
once. Short-lived sessions might not be included in the count because the sampling is performed every
five minutes.
The BROKER_VC_DISABLED and BROKER_VC_ENABLED events report the state of the vCenter
driver that View uses to track a vCenter Server instance.
The BROKER_VC_STATUS_* events report the state of a vCenter Server instance.
The following table lists all the event types for View Connection Server.
Table 2‑4. Connection Broker Events
Event Type

Severity

ModuleAndEventText

BROKER_AGENT_OFFLINE

WARNING

The agent running on machine ${MachineName} has
not responded to queries, marking it as offline

BROKER_AGENT_ONLINE

WARNING

The agent running on machine ${MachineName} is
responding again, but did not send a startup message

BROKER_APPLICATION_LAUNCH_FAILURE

ERROR

Unable to launch from Pool ${PoolId} for user $
{UserDisplayName}: The broker encountered an error
while processing the request, please contact support
for assistance

BROKER_APPLICATION_MISSING

WARNING

At least ${ApplicationMissingCount} applications,
including ${ApplicationExecutable}, are not installed on
${MachineName} in Pool ${PoolId}

BROKER_APPLICATION_NOT_ENTITLED

AUDIT_FAIL

Unable to launch from Pool ${PoolId} for user $
{UserDisplayName}: User is not entitled to this Pool

VMware, Inc.

10

View Integration

Table 2‑4. Connection Broker Events (Continued)
Event Type

Severity

ModuleAndEventText

BROKER_APPLICATION_PROTOCOL_NOT_S
UPPORTED

AUDIT_FAIL

Unable to launch from Pool ${PoolId} for user $
{UserDisplayName}: Requested protocol ${ProtocolId}
is not supported

BROKER_APPLICATION_REQUEST

INFO

User ${UserDisplayName} requested Application $
{ApplicationId}

BROKER_APPLICATION_SESSION_REQUES
T

INFO

User ${UserDisplayName} requested an application
session from Pool ${PoolId}

BROKER_DAILY_MAX_DESKTOP_SESSIONS

INFO

${Time}: Over the past 24 hours, the maximum number
of concurrent desktop sessions was ${UserCount}

BROKER_DAILY_MAX_APP_USERS

INFO

${Time}: Over the past 24 hours, the maximum number
of users with concurrent application sessions was $
{UserCount}

BROKER_DESKTOP_LAUNCH_FAILURE

ERROR

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: The broker encountered an error
while processing the request, please contact support
for assistance

BROKER_DESKTOP_NOT_ENTITLED

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: User is not entitled to this Pool

BROKER_DESKTOP_PROTOCOL_NOT_SUP
PORTED

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: Requested protocol ${ProtocolId}
is not supported

BROKER_DESKTOP_REQUEST

INFO

User ${UserDisplayName} requested Pool ${DesktopId}

BROKER_EVENT_HANDLING_STARTED

INFO

Broker ${BrokerName} has started handling events

BROKER_EVENT_HANDLING_STOPPED

INFO

${BrokerName} has stopped handling events

BROKER_MACHINE_ALLOCATED

INFO

User ${UserDisplayName} requested Pool $
{DesktopId}, allocated machine ${MachineName}

BROKER_MACHINE_ASSIGNED_UNAVAILAB
LE

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: Assigned machine $
{MachineName} is unavailable

BROKER_MACHINE_CANNOT_CONNECT

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: Failed to connect to Machine $
{MachineName} using ${ProtocolId}

BROKER_MACHINE_CONFIGURED_VIDEO_S
ETTINGS

INFO

Successfully configured video settings for Machine VM
${MachineName} in Pool ${DesktopId}

BROKER_MACHINE_NOT_READY

WARNING

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: Machine ${MachineName} is not
ready to accept connections

BROKER_MACHINE_OPERATION_DELETED

INFO

machine ${MachineName} has been deleted

BROKER_MACHINE_PROTOCOL_NOT_SUPP
ORTED

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: Machine ${MachineName} does
not support protocol ${ProtocolId}

VMware, Inc.

11

View Integration

Table 2‑4. Connection Broker Events (Continued)
Event Type

Severity

ModuleAndEventText

BROKER_MACHINE_PROTOCOL_UNAVAILAB
LE

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: Machine ${MachineName} did not
report protocol ${ProtocolId} as ready

BROKER_MACHINE_REJECTED_SESSION

WARNING

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: Machine ${MachineName}
rejected the start session request

BROKER_MACHINE_SESSION_TIMEDOUT

WARNING

Session for user ${UserDisplayName} timed out

BROKER_MULTIPLE_DESKTOPS_FOR_KIOS
K_USER

WARNING

User ${UserDisplayName} is entitled to multiple
desktop pools

BROKER_POOL_CANNOT_ASSIGN

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: There are no machines available
to assign the user to

BROKER_POOL_COMANAGER_REQUIRED

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: No co-management availability for
protocol ${ProtocolId}

BROKER_POOL_EMPTY

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: The Desktop Pool is empty

BROKER_POOL_NO_MACHINE_ASSIGNED

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: No machine assigned to this user

BROKER_POOL_NO_RESPONSES

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: No machines in the Desktop Pool
are responsive

BROKER_POOL_OVERLOADED

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: All responding machines are
currently in use

BROKER_POOL_POLICY_VIOLATION

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: This Desktop Pool does not allow
online sessions

BROKER_POOL_PROTOCOL_NOT_SUPPOR
TED

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: There were no machines available
that support protocol ${ProtocolId}

BROKER_POOL_PROTOCOL_UNAVAILABLE

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: There were no machines available
that reported protocol ${ProtocolId} as ready

BROKER_POOL_TUNNEL_NOT_SUPPORTED

AUDIT_FAIL

Unable to launch from Pool ${DesktopId} for user $
{UserDisplayName}: Tunnelling is not supported for
protocol ${ProtocolId}

BROKER_PROVISIONING_ERROR_CONFIG_
CLEARED

INFO

The previously reported configuration problem is no
longer present on Pool ${DesktopId}

BROKER_PROVISIONING_ERROR_CONFIG_
SET

ERROR

Provisioning error occurred on Pool ${DesktopId}
because of a configuration problem

BROKER_PROVISIONING_ERROR_DISK_CL
EARED

INFO

The previously reported disk problem is no longer
present on Pool ${DesktopId}

VMware, Inc.

12

View Integration

Table 2‑4. Connection Broker Events (Continued)
Event Type

Severity

ModuleAndEventText

BROKER_PROVISIONING_ERROR_DISK_LC_
RESERVATION_CLEARED

INFO

The previously reported error due to available free disk
space reserved for linked clones is no longer present
on Pool ${DesktopId}

BROKER_PROVISIONING_ERROR_DISK_LC_
RESERVATION_SET

ERROR

Provisioning error occurred on Pool ${DesktopId}
because available free disk space is reserved for linked
clones

BROKER_PROVISIONING_ERROR_DISK_SE
T

WARNING

Provisioning error occurred on Pool ${DesktopId}
because of a disk problem

BROKER_PROVISIONING_ERROR_LICENCE
_CLEARED

INFO

The previously reported licensing problem is no longer
present on Pool ${DesktopId}

BROKER_PROVISIONING_ERROR_LICENCE
_SET

ERROR

Provisioning error occurred on Pool ${DesktopId}
because of a licensing problem

BROKER_PROVISIONING_ERROR_NETWOR
KING_CLEARED

INFO

The previously reported networking problems with
Horizon Agent are no longer present on Pool $
{DesktopId}

BROKER_PROVISIONING_ERROR_NETWOR
KING_SET

ERROR

Provisioning error occurred on Pool ${DesktopId}
because of a networking problem with Horizon Agent

BROKER_PROVISIONING_ERROR_RESOUR
CE_CLEARED

INFO

The previously reported resource problem is no longer
present on Pool ${DesktopId}

BROKER_PROVISIONING_ERROR_RESOUR
CE_SET

ERROR

Provisioning error occurred on Pool ${DesktopId}
because of a resource problem

BROKER_PROVISIONING_ERROR_TIMEOUT
_CUSTOMIZATION_CLEARED

INFO

The previously reported timeout while customizing is no
longer present on Pool ${DesktopId}

BROKER_PROVISIONING_ERROR_TIMEOUT
_CUSTOMIZATION_SET

ERROR

Provisioning error occurred on Pool ${DesktopId}
because of a timeout while customizing

BROKER_PROVISIONING_ERROR_VM_CLO
NING

ERROR

Provisioning error occurred for Machine $
{MachineName}: Cloning failed for Machine

BROKER_PROVISIONING_ERROR_VM_CUS
TOMIZATION_ERROR

ERROR

Provisioning error occurred for Machine $
{MachineName}: Customization failed for Machine

BROKER_PROVISIONING_ERROR_VM_CUS
TOMIZATION_NETWORKING

ERROR

Provisioning error occurred for Machine $
{MachineName}: Customization error due to no network
communication between Horizon Agent and
Connection Server

BROKER_PROVISIONING_ERROR_VM_CUS
TOMIZATION_TIMEOUT

ERROR

Provisioning error occurred for Machine $
{MachineName}: Customization operation timed out

BROKER_PROVISIONING_SVI_ERROR_COM
POSER_AGENT_INIT_FAILED

ERROR

Provisioning error occurred for Machine $
{MachineName}: View Composer agent initialization
failed

BROKER_PROVISIONING_SVI_ERROR_REC
ONFIG_FAILED

ERROR

Provisioning error occurred for Machine $
{MachineName}: Reconfigure operation failed

BROKER_PROVISIONING_SVI_ERROR_REFI
T_ FAILED

ERROR

Provisioning error occurred for Machine $
{MachineName}: Refit operation ${SVIOperation} failed

VMware, Inc.

13

View Integration

Table 2‑4. Connection Broker Events (Continued)
Event Type

Severity

ModuleAndEventText

BROKER_PROVISIONING_SVI_ERROR_
REMOVING_VM

ERROR

Provisioning error occurred for Machine $
{MachineName}: Unable to remove Machine from
inventory

BROKER_PROVISIONING_VERIFICATION_
FAILED_USER_ASSIGNED

WARNING

Provisioning verification failed for Machine $
{MachineName}: User is already assigned to a machine
in Pool ${DesktopId}

BROKER_PROVISIONING_VERIFICATION_
FAILED_USER_CANNOT_BE_ASSIGNED

WARNING

Provisioning verification failed for Machine $
{MachineName}: A user cannot be assigned because
Pool ${DesktopId} is not persistent

BROKER_PROVISIONING_VERIFICATION_
FAILED_VMNAME_IN_USE

WARNING

Provisioning verification failed for Machine $
{MachineName}: A machine already exists in Pool $
{DesktopId} with name ${MachineName}

BROKER_SECURITY_SERVER_ADD_FAILED

AUDIT_FAIL

Failed to add security server ${SecurityServerId}

BROKER_SECURITY_SERVER_ADD_FAILED
_ PASSWORD_EXPIRED

AUDIT_FAIL

Failed to add security server ${SecurityServerId},
pairing password expired

BROKER_SECURITY_SERVER_ADD_FAILED
_ PASSWORD_INCORRECT

AUDIT_FAIL

Failed to add security server ${SecurityServerId},
pairing password incorrect

BROKER_SECURITY_SERVER_ADD_FAILED
_ PASSWORD_NOT_SET

AUDIT_FAIL

Failed to add security server ${SecurityServerId},
pairing password not set

BROKER_SECURITY_SERVER_ADDED

AUDIT_SUCCESS

Security server ${SecurityServerId} added

BROKER_SVI_ARCHIVE_UDD_FAILED

AUDIT_FAIL

Failed to archive user data disk ${UserDiskName} to
location ${SVIPath}

BROKER_SVI_ARCHIVE_UDD_SUCCEEDED

AUDIT_SUCCESS

Archived user data disk ${UserDiskName} to location $
{SVIPath}

BROKER_SVI_ATTACH_UDD_FAILED

AUDIT_FAIL

Failed to attach user data disk ${UserDiskName} to VM
${SVIVMID}

BROKER_SVI_ATTACH_UDD_SUCCEEDED

AUDIT_SUCCESS

Attached user data disk ${UserDiskName} to VM $
{SVIVMID}

BROKER_SVI_DETACH_UDD_FAILED

AUDIT_FAIL

Failed to detach user data disk ${UserDiskName} from
VM ${SVIVMID}

BROKER_SVI_DETACH_UDD_SUCCEEDED

AUDIT_SUCCESS

Detached user data disk ${UserDiskName} from VM $
{SVIVMID}

BROKER_USER_AUTHFAILED_ACCOUNT_
DISABLED

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate
because the account is disabled

BROKER_USER_AUTHFAILED_ACCOUNT_
EXPIRED

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate
because the account has expired

BROKER_USER_AUTHFAILED_ACCOUNT_
LOCKED_OUT

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate
because the account is locked out

BROKER_USER_AUTHFAILED_ACCOUNT_
RESTRICTION

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate
because of an account restriction

BROKER_USER_AUTHFAILED_BAD_USER_
PASSWORD

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate
because of a bad username or password

VMware, Inc.

14

View Integration

Table 2‑4. Connection Broker Events (Continued)
Event Type

Severity

ModuleAndEventText

BROKER_USER_AUTHFAILED_GENERAL

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate

BROKER_USER_AUTHFAILED_NO_LOGON_
SERVERS

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate
because there are no logon servers

BROKER_USER_AUTHFAILED_PASSWORD_
EXPIRED

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate
because the password has expired

BROKER_USER_AUTHFAILED_PASSWORD_
MUST_CHANGE

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate
because the password must change

BROKER_USER_AUTHFAILED_SECUREID_
ACCESS_DENIED

AUDIT_FAIL

SecurID access denied for user ${UserDisplayName}

BROKER_USER_AUTHFAILED_SECUREID_

AUDIT_FAIL

SecurID access denied for user ${UserDisplayName}

NEWPIN_REJECTED

because new pin was rejected

BROKER_USER_AUTHFAILED_SECUREID_
WRONG_NEXTTOKEN

AUDIT_FAIL

SecurID access denied for user ${UserDisplayName}
because wrong next token entered

BROKER_USER_AUTHFAILED_SECUREID_
WRONG_STATE

AUDIT_FAIL

SecurID access denied for user ${UserDisplayName}
because of incorrect state

BROKER_USER_AUTHFAILED_TIME_
RESTRICTION

AUDIT_FAIL

User ${UserDisplayName} failed to authenticate
because of a time restriction

BROKER_USER_NOT_AUTHORIZED

AUDIT_FAIL

User ${UserDisplayName} has authenticated, but is not
authorized to perform the operation

BROKER_USER_NOT_ENTITLED

AUDIT_FAIL

User ${UserDisplayName} has authenticated, but is not
entitled to any Pools

BROKER_USERCHANGEDPASSWORD

AUDIT_SUCCESS

Password for ${UserDisplayName} has been changed
by the user

BROKER_USERLOGGEDIN

AUDIT_SUCCESS

User ${UserDisplayName} has logged in

BROKER_USERLOGGEDOUT

AUDIT_SUCCESS

User ${UserDisplayName} has logged out

BROKER_VC_DISABLED

INFO

vCenter at address ${VCAddress} has been temporarily
disabled

BROKER_VC_ENABLED

INFO

vCenter at address ${VCAddress} has been enabled

BROKER_VC_STATUS_CHANGED_CANNOT_
LOGIN

WARNING

Cannot log in to vCenter at address ${VCAddress}

BROKER_VC_STATUS_CHANGED_DOWN

INFO

vCenter at address ${VCAddress} is down

BROKER_VC_STATUS_CHANGED_INVALID_
CREDENTIALS

WARNING

vCenter at address ${VCAddress} has invalid
credentials

BROKER_VC_STATUS_CHANGED_NOT_YET
_ CONNECTED

INFO

Not yet connected to vCenter at address ${VCAddress}

BROKER_VC_STATUS_CHANGED_
RECONNECTING

INFO

Reconnecting to vCenter at address ${VCAddress}

BROKER_VC_STATUS_CHANGED_UNKNOW
N

WARNING

The status of vCenter at address ${VCAddress} is
unknown

BROKER_VC_STATUS_CHANGED_UP

INFO

vCenter at address ${VCAddress} is up

VMware, Inc.

15

View Integration

Horizon Agent Events
View Agent events report Horizon Agent-related information, such as the users who have logged in to or
disconnected from a specific machine, whether Horizon Agent has shut down on a specific machine, and
whether Horizon Agent has sent a start up message from a specific machine to View Connection Server.
Table 2‑5. Horizon Agent Events
Event Type

Severity

ModuleAndEventText

AGENT_CONNECTED

INFO

User ${UserDisplayName} has logged in to a new session on
machine ${MachineName}

AGENT_DISCONNECTED

INFO

User ${UserDisplayName} has disconnected from machine $
{MachineName}

AGENT_ENDED

INFO

User ${UserDisplayName} has logged off machine $
{MachineName}

AGENT_PENDING

INFO

The agent running on machine ${MachineName} has accepted an
allocated session for user ${UserDisplayName}

AGENT_PENDING_ EXPIRED

WARNING

The pending session on machine ${MachineName} for user $
{UserDisplayName} has expired

AGENT_RECONFIGURED

INFO

Machine ${MachineName} has been successfully reconfigured

AGENT_RECONNECTED

INFO

User ${UserDisplayName} has reconnected to machine $
{MachineName}

AGENT_RESUME

INFO

The agent on machine ${MachineName} sent a resume message

AGENT_SHUTDOWN

INFO

The agent running on machine ${MachineName} has shut down,
this machine will be unavailable

AGENT_STARTUP

INFO

The agent running on machine ${MachineName} has contacted
the connection server and sent a startup message

AGENT_SUSPEND

INFO

The agent on machine ${MachineName} sent a suspend message

View Administrator Events
View Administrator events report information about actions that users initiate in View Administrator.
Table 2‑6. View Administrator Events
EventType

Severity

ModuleAndEventText

ADMIN_ADD_DESKTOP_ENTITLEMENT

AUDIT_SUCCESS

${EntitlementDisplay} was entitled to Pool
${DesktopId} by ${UserDisplayName}

ADMIN_ADD_LICENSE

AUDIT_SUCCESS

${UserDisplayName} added license

ADMIN_ADD_LICENSE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add license

ADMIN_ADD_PM

AUDIT_SUCCESS

${UserDisplayName} added physical
machine ${MachineName} to Pool $
{DesktopId}

VMware, Inc.

16

View Integration

Table 2‑6. View Administrator Events (Continued)
EventType

Severity

ModuleAndEventText

ADMIN_ADD_PM_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add
physical machine ${MachineName} to
Pool ${DesktopId}

ADMIN_ADD_THINAPP_ENTITLEMENT

AUDIT_SUCCESS

Application ${ThinAppDisplayName} was
assigned to Desktop ${MachineName} by
${UserDisplayName}

ADMIN_ADD_THINAPP_ENTITLEMENT_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add
Application entitlement

ADMIN_ADD_THINAPP_POOL_ENTITLEMENT

AUDIT_SUCCESS

Application ${ThinAppDisplayName} was
assigned to Pool ${DesktopId} by $
{UserDisplayName}

ADMIN_ADMINSTRATOR_REMOVE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove all
permissions for Administrator $
{AdminPermissionEntity}

ADMIN_ADMINSTRATOR_REMOVED

AUDIT_SUCCESS

${UserDisplayName} removed all
permissions for Administrator $
{AdminPermissionEntity}

ADMIN_CONNECTION_BROKER_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update
connection broker ${BrokerId}

ADMIN_CONNECTION_BROKER_UPDATED

AUDIT_SUCCESS

${UserDisplayName} updated connection
broker ${BrokerId}: (${AttrChangeType}: $
{AttrName} = ${AttrValue})

ADMIN_CONNECTION_SERVER_BACKUP_FAILED

AUDIT_FAIL

${UserDisplayName} failed to initiate a
backup of connection broker ${BrokerId}

ADMIN_CONNECTION_SERVER_BACKUP_INITIATED

AUDIT_SUCCESS

${UserDisplayName} initiated a backup of
connection broker ${BrokerId}

ADMIN_CONNECTION_SERVER_DISABLE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to disable
connection broker ${BrokerId}

ADMIN_CONNECTION_SERVER_DISABLED

AUDIT_SUCCESS

${UserDisplayName} is disabling
connection broker ${BrokerId}

ADMIN_CONNECTION_SERVER_ENABLE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to enable
connection broker ${BrokerId}

ADMIN_CONNECTION_SERVER_ENABLED

AUDIT_SUCCESS

${UserDisplayName} is enabling
connection broker ${BrokerId}

ADMIN_DATABASE_CONFIGURATION_ADD_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add
database configuration

ADMIN_DATABASE_CONFIGURATION_ ADDED

AUDIT_SUCCESS

${UserDisplayName} has added database
configuration

ADMIN_DATABASE_CONFIGURATION_DELETE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to delete
database configuration

ADMIN_DATABASE_CONFIGURATION_DELETE_FAILED

AUDIT_SUCCESS

${UserDisplayName} has deleted
database configuration

VMware, Inc.

17

View Integration

Table 2‑6. View Administrator Events (Continued)
EventType

Severity

ModuleAndEventText

ADMIN_DATABASE_CONFIGURATION_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update
database configuration

ADMIN_DATABASE_CONFIGURATION_UPDATED

AUDIT_SUCCESS

${UserDisplayName} has updated
database configuration

ADMIN_DEFAULT_DESKTOPPOOL_ASSIGN

AUDIT_SUCCESS

${UserDisplayName} assigned Pool $
{DesktopId} for default desktop to $
{UserName}

ADMIN_DEFAULT_DESKTOPPOOL_ASSIGN_FAILED

AUDIT_FAIL

${UserDisplayName} failed to assign Pool
${DesktopId} for default desktop to $
{UserName}

ADMIN_DEFAULT_DESKTOPPOOL_UNASSIGN

AUDIT_SUCCESS

${UserDisplayName} removed pool
assignment for default desktop to $
{UserName}

ADMIN_DEFAULT_DESKTOPPOOL_UNASSIGN_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove
Pool assignment for default desktop to $
{UserName}

ADMIN_DESKTOP_ADDED

AUDIT_SUCCESS

${UserDisplayName} added Pool $
{DesktopId}

ADMIN_DESKTOP_ASSIGN

AUDIT_SUCCESS

${UserDisplayName} assigned Desktop $
{MachineName} to ${UserName}

ADMIN_DESKTOP_ASSIGN_FAILED

AUDIT_FAIL

${UserDisplayName} failed to assign
Desktop ${MachineName} to $
{UserName}

ADMIN_DESKTOP_EDITED

AUDIT_SUCCESS

${UserDisplayName} edited Pool $
{DesktopId} (${AttrChangeType}: $
{AttrName} = ${AttrValue})

ADMIN_DESKTOP_MAINTENANCE_MODE_UPDATE_FAIL
ED

AUDIT_FAIL

${UserDisplayName} failed to update
desktop ${MachineName} to $
{MaintenanceMode} maintenance mode

ADMIN_DESKTOP_MAINTENANCE_MODE_UPDATED

AUDIT_SUCCESS

${UserDisplayName} updated desktop $
{MachineName} to ${MaintenanceMode}
maintenance mode

ADMIN_DESKTOP_UNASSIGN

AUDIT_SUCCESS

${UserDisplayName} removed
assignment for Desktop ${MachineName}

ADMIN_DESKTOP_UNASSIGN_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove
assignment for Desktop ${MachineName}

ADMIN_ENABLE_DESKTOP_FAILED

AUDIT_FAIL

${UserDisplayName} failed to set Pool $
{DesktopId} to ${EnableStatus}

ADMIN_ENABLE_DESKTOP_SUCCEEDED

AUDIT_SUCCESS

${UserDisplayName} set Pool $
{DesktopId} to ${EnableStatus}

ADMIN_ENABLED_DESKTOP_PROVISION_FAILED

AUDIT_FAIL

${UserDisplayName} failed to set
provisioning for Pool ${DesktopId} to $
{EnableStatus}

VMware, Inc.

18

View Integration

Table 2‑6. View Administrator Events (Continued)
EventType

Severity

ModuleAndEventText

ADMIN_ENABLED_DESKTOP_PROVISION_SUCCEEDED

AUDIT_SUCCESS

${UserDisplayName} set provisioning for
Pool ${DesktopId} to ${EnableStatus}

ADMIN_EVENT_CONFIGURATION_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update
event configuration

ADMIN_EVENT_CONFIGURATION_UPDATED

AUDIT_SUCCESS

${UserDisplayName} has updated global
configuration

ADMIN_FOLDER_ADD_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add folder $
{AdminFolderName}

ADMIN_FOLDER_ADDED

AUDIT_SUCCESS

${UserDisplayName} added folder $
{AdminFolderName}

ADMIN_FOLDER_CHANGE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to change
object ${ObjectID}(type=${ObjectType}) to
folder ${AdminFolderName}

ADMIN_FOLDER_CHANGED

AUDIT_SUCCESS

${UserDisplayName} changed object $
{ObjectID}(type=${ObjectType}) to folder $
{AdminFolderName}

ADMIN_FOLDER_DELETE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to delete
folder ${AdminFolderName}

ADMIN_FOLDER_DELETED

AUDIT_SUCCESS

${UserDisplayName} deleted folder $
{AdminFolderName}

ADMIN_GLOBAL_CONFIGURATION_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update
global configuration

ADMIN_GLOBAL_CONFIGURATION_UPDATED

AUDIT_SUCCESS

${UserDisplayName} updated global
configuration (${AttrChangeType}: $
{AttrName} = ${AttrValue})

ADMIN_GLOBAL_POLICY_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update
global policies

ADMIN_GLOBAL_POLICY_UPDATED

AUDIT_SUCCESS

${UserDisplayName} updated global
policy (${AttrChangeType}: ${AttrName} =
${AttrValue})

ADMIN_PERFMON_CONFIGURATION_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update
performance monitoring configuration

ADMIN_PERFMON_CONFIGURATION_UPDATED

AUDIT_SUCCESS

${UserDisplayName} has updated
performance monitoring configuration

ADMIN_PERMISSION_ADD_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add
Permission to ${AdminPermissionEntity}
with Role ${AdminRoleName} on Folder $
{AdminFolderName}

ADMIN_PERMISSION_ADDED

AUDIT_SUCCESS

${UserDisplayName} added Permission to
${AdminPermissionEntity} with Role $
{AdminRoleName} on Folder $
{AdminFolderName}

VMware, Inc.

19

View Integration

Table 2‑6. View Administrator Events (Continued)
EventType

Severity

ModuleAndEventText

ADMIN_PERMISSION_REMOVE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove
Permission to ${AdminPermissionEntity}
with Role ${AdminRoleName} on Folder $
{AdminFolderName}

ADMIN_PERMISSION_REMOVED

AUDIT_SUCCESS

${UserDisplayName} removed Permission
to ${AdminPermissionEntity} with Role $
{AdminRoleName} on Folder $
{AdminFolderName}

ADMIN_POOL_POLICY_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update Pool
${DesktopId} policies

ADMIN_POOL_POLICY_UPDATED

AUDIT_SUCCESS

${UserDisplayName} updated Pool $
{DesktopId} policy (${AttrChangeType}: $
{AttrName} = ${AttrValue})

ADMIN_REMOVE_DESKTOP_ENTITLEMENT

AUDIT_SUCCESS

${EntitlementDisplay} was unentitled from
Pool ${DesktopId} by $
{UserDisplayName}

ADMIN_REMOVE_DESKTOP_FAILED

AUDIT_FAIL

${UserDisplayName} failed to removed
Pool ${DesktopId}

ADMIN_REMOVE_DESKTOP_SUCCEEDED

AUDIT_SUCCESS

${UserDisplayName} removed Pool $
{DesktopId}

ADMIN_REMOVE_THINAPP_ENTITLEMENT

AUDIT_SUCCESS

Application ${ThinAppDisplayName} was
unassigned from Desktop $
{MachineName} by ${UserDisplayName}

ADMIN_REMOVE_THINAPP_ENTITLEMENT_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove
Application entitlement

ADMIN_REMOVE_THINAPP_POOL_ENTITLEMENT

AUDIT_SUCCESS

Application ${ThinAppDisplayName} was
unassigned from Pool ${DesktopId} by $
{UserDisplayName}

ADMIN_RESET_THINAPP_STATE

AUDIT_SUCCESS

Application ${ThinAppDisplayName} state
are reset for Desktop $
{DesktopDisplayName} by $
{UserDisplayName}

ADMIN_RESET_THINAPP_STATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to reset
Application state for $
{ThinAppDisplayName

ADMIN_ROLE_ADD_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add Role $
{AdminRoleName} with privileges $
{AdminPrivilegeName}

ADMIN_ROLE_ADDED

AUDIT_SUCCESS

${UserDisplayName} added Role $
{AdminRoleName} with privileges $
{AdminPrivilegeName}

ADMIN_ROLE_PRIV_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update Role
${AdminRoleName} to privileges $
{AdminPrivilegeName}

VMware, Inc.

20

View Integration

Table 2‑6. View Administrator Events (Continued)
EventType

Severity

ModuleAndEventText

ADMIN_ROLE_PRIV_UPDATED

AUDIT_SUCCESS

${UserDisplayName} updated Role $
{AdminRoleName} to privileges $
{AdminPrivilegeName}

ADMIN_ROLE_REMOVE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove
Role ${AdminRoleName}

ADMIN_ROLE_REMOVED

AUDIT_SUCCESS

${UserDisplayName} removed Role $
{AdminRoleName}

ADMIN_ROLE_RENAME_FAILED

AUDIT_FAIL

${UserDisplayName} failed to rename
Role ${AdminRoleName} to $
{AdminRoleNewName}

ADMIN_ROLE_RENAMED

AUDIT_SUCCESS

${UserDisplayName} renamed Role $
{AdminRoleName} to $
{AdminRoleNewName}

ADMIN_SECURITY_SERVER_ADD_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add security
server ${SecurityServerId}

ADMIN_SECURITY_SERVER_ADDED

AUDIT_SUCCESS

${UserDisplayName} added security
server ${SecurityServerId}

ADMIN_SECURITY_SERVER_EDIT_FAILED

AUDIT_FAIL

${UserDisplayName} failed to edit security
server ${SecurityServerId}

ADMIN_SECURITY_SERVER_EDITED

AUDIT_SUCCESS

${UserDisplayName} edited security
server ${SecurityServerId} ($
{AttrChangeType}: ${AttrName} = $
{AttrValue})

ADMIN_SECURITY_SERVER_REMOVE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove
security server ${SecurityServerId}

ADMIN_SECURITY_SERVER_REMOVED

AUDIT_SUCCESS

${UserDisplayName} removed security
server ${SecurityServerId}

ADMIN_SESSION_SENDMSG

AUDIT_SUCCESS

${UserDisplayName} sent message ($
{SessionMessage}) to session (User $
{UserName}, Desktop ${MachineName})

ADMIN_SESSION_SENDMSG_FAILED

AUDIT_FAIL

${UserDisplayName} failed to send
message (${SessionMessage}) to session
${ObjectId}

ADMIN_SVI_ADD_DEPLOYMENT_GROUP_FAILED

AUDIT_FAIL

Failed to add deployment group for $
{SVIParentVM} : ${SVISnapshot}

ADMIN_SVI_ADD_DEPLOYMENT_GROUP_SUCCEEDED

AUDIT_SUCCESS

Added deployment group $
{SVIDeploymentGroupID} for $
{SVIParentVM} : ${SVISnapshot}

ADMIN_SVI_ADD_UDD_FAILED

AUDIT_FAIL

Failed to add user data disk $
{UserDiskName}

ADMIN_SVI_ADD_UDD_SUCCEEDED

AUDIT_SUCCESS

Added user data disk ${UserDiskName}

VMware, Inc.

21

View Integration

Table 2‑6. View Administrator Events (Continued)
EventType

Severity

ModuleAndEventText

ADMIN_SVI_ADMIN_ADDED

AUDIT_SUCCESS

${UserDisplayName} added SVI
QuickPrep domain ${SVIAdminFqdn}($
{SVIAdminName})

ADMIN_SVI_ADMIN_REMOVED

AUDIT_SUCCESS

${UserDisplayName} removed SVI
QuickPrep domain (id=${SVIAdminID})

ADMIN_SVI_ADMIN_UPDATED

AUDIT_SUCCESS

${UserDisplayName} updated SVI
QuickPrep domain ${SVIAdminFqdn}($
{SVIAdminName})

ADMIN_SVI_ATTACH_UDD_FAILED

AUDIT_FAIL

Failed to request attach user data disk $
{UserDiskName} to VM ${SVIVMID}

ADMIN_SVI_ATTACH_UDD_SUCCEEDED

AUDIT_SUCCESS

Requested attach user data disk $
{UserDiskName} to VM ${SVIVMID}

ADMIN_SVI_DELETE_UDD_FAILED

AUDIT_FAIL

Failed to delete user data disk $
{UserDiskName}

ADMIN_SVI_DELETE_UDD_SUCCEEDED

AUDIT_SUCCESS

Deleted user data disk ${UserDiskName}

ADMIN_SVI_DETACH_UDD_FAILED

AUDIT_FAIL

Failed to request detach user data disk $
{UserDiskName} from VM ${SVIVMID}

ADMIN_SVI_DETACH_UDD_SUCCEEDED

AUDIT_SUCCESS

Requested detach user data disk $
{UserDiskName} from VM ${SVIVMID}

ADMIN_SVI_REBALANCE_VM_FAILED

AUDIT_FAIL

Failed to rebalance VM ${SVIVMID}

ADMIN_SVI_REBALANCE_VM_SUCCEEDED

AUDIT_SUCCESS

Rebalanced VM ${SVIVMID}

ADMIN_SVI_REFRESH_VM_FAILED

AUDIT_FAIL

Failed to refresh VM ${SVIVMID}

ADMIN_SVI_REFRESH_VM_SUCCEEDED

AUDIT_SUCCESS

Refreshed VM ${SVIVMID}

ADMIN_SVI_RESYNC_VM_FAILED

AUDIT_FAIL

Failed to resync VM ${SVIVMID} to
deployment group $
{SVIDeploymentGroupID}

ADMIN_SVI_RESYNC_VM_SUCCEEDED

AUDIT_SUCCESS

Resyncd VM ${SVIVMID} to deployment
group ${SVIDeploymentGroupID}

ADMIN_SVI_UPDATE_POOL_DEPLOYMENT_GROUP_FAIL
ED

AUDIT_FAIL

Failed to update pool ${DesktopId} to
deployment group $
{SVIDeploymentGroupID}

ADMIN_SVI_UPDATE_POOL_DEPLOYMENT_GROUP_SU
CCEEDED

AUDIT_SUCCESS

Updated pool ${DesktopId} to deployment
group ${SVIDeploymentGroupID}

ADMIN_SVI_UPDATE_UDD_FAILED

AUDIT_FAIL

Failed to update user data disk $
{UserDiskName}

ADMIN_SVI_UPDATE_UDD_SUCCEEDED

AUDIT_SUCCESS

Set user data disk ${UserDiskName} pool
to ${DesktopId} and user to ${UserName}

ADMIN_THINAPP_ADD_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add
Application ${ThinAppDisplayName}

ADMIN_THINAPP_ADDED

AUDIT_SUCCESS

${UserDisplayName} added Application $
{ThinAppDisplayName}

VMware, Inc.

22

View Integration

Table 2‑6. View Administrator Events (Continued)
EventType

Severity

ModuleAndEventText

ADMIN_THINAPP_DESKTOP_AVAILABLE

AUDIT_SUCCESS

Application ${ThinAppDisplayName} is
now available on Desktop $
{DesktopDisplayName}

ADMIN_THINAPP_DESKTOP_REMOVED

AUDIT_SUCCESS

Application ${ThinAppDisplayName} has
been removed from Desktop $
{DesktopDisplayName}

ADMIN_THINAPP_EDITED

AUDIT_SUCCESS

${UserDisplayName} edited Application $
{ThinAppDisplayName}

ADMIN_THINAPP_FAILED_DESKTOP_DELIVERY

AUDIT_FAIL

Failed to deliver Application $
{ThinAppDisplayName} to Desktop $
{DesktopDisplayName}

ADMIN_THINAPP_FAILED_DESKTOP_REMOVAL

AUDIT_FAIL

Failed to remove Application $
{ThinAppDisplayName} from Desktop $
{DesktopDisplayName}

ADMIN_THINAPP_GROUP_ADD_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add
Application Template $
{ThinAppGroupName}

ADMIN_THINAPP_GROUP_ADDED

AUDIT_SUCCESS

${UserDisplayName} added Application
Template ${ThinAppGroupName} with
Applications ${ThinAppGroupApplications}

ADMIN_THINAPP_GROUP_EDIT_FAILED

AUDIT_FAIL

${UserDisplayName} failed to edit
Application Template $
{ThinAppGroupName}

ADMIN_THINAPP_GROUP_EDITED

AUDIT_SUCCESS

${UserDisplayName} edited Application
Template ${ThinAppGroupName} with
Applications ${ThinAppGroupApplications}

ADMIN_THINAPP_GROUP_REMOVE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove
Application Template $
{ThinAppGroupName}

ADMIN_THINAPP_GROUP_REMOVED

AUDIT_SUCCESS

${UserDisplayName} removed Application
Template ${ThinAppGroupName}

ADMIN_THINAPP_REMOVE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove
Application ${ThinAppDisplayName}

ADMIN_THINAPP_REMOVED

AUDIT_SUCCESS

${UserDisplayName} removed Application
${ThinAppDisplayName}

ADMIN_THINAPP_REPO_ADD_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add
Repository ${ThinAppRepositoryName},
path ${ThinAppRepositoryPath}

ADMIN_THINAPP_REPO_ADDED

AUDIT_SUCCESS

${UserDisplayName} added Repository $
{ThinAppRepositoryName}, path $
{ThinAppRepositoryPath}

ADMIN_THINAPP_REPO_EDIT_FAILED

AUDIT_FAIL

${UserDisplayName} failed to edit
Repository ${ThinAppRepositoryName},
path ${ThinAppRepositoryPath}

VMware, Inc.

23

View Integration

Table 2‑6. View Administrator Events (Continued)
EventType

Severity

ModuleAndEventText

ADMIN_THINAPP_REPO_EDITED

AUDIT_SUCCESS

${UserDisplayName} edited Repository $
{ThinAppRepositoryName}, path $
{ThinAppRepositoryPath}

ADMIN_THINAPP_REPO_REMOVED

AUDIT_SUCCESS

${UserDisplayName} removed Repository
${ThinAppRepositoryName}

ADMIN_UNREGISTER_PM

AUDIT_SUCCESS

${UserDisplayName} unregistered
physical machine ${MachineName})

ADMIN_UNREGISTER_PM_FAILED

AUDIT_FAIL

${UserDisplayName} fails to unregister
physical machine ${MachineName})

ADMIN_USER_INFO_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update user
info with AD server for ${UserName}

ADMIN_USER_INFO_UPDATED

AUDIT_SUCCESS

${UserDisplayName} updated user info
with AD server for ${UserName}

ADMIN_USER_POLICY_DELETE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to delete Pool
${DesktopId} override policies for user $
{UserName}

ADMIN_USER_POLICY_DELETED

AUDIT_SUCCESS

${UserDisplayName} deleted Pool $
{DesktopId} override policy for user $
{UserName} (${AttrChangeType}: $
{AttrName} = ${AttrValue})

ADMIN_USER_POLICY_UPDATE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to update Pool
${DesktopId} policies for user $
{UserName}

ADMIN_USER_POLICY_UPDATED

AUDIT_SUCCESS

${UserDisplayName} updated Pool $
{DesktopId} policy for user ${UserName}
(${AttrChangeType}: ${AttrName} = $
{AttrValue})

ADMIN_USERLOGGEDIN

AUDIT_SUCCESS

User ${UserDisplayName} has logged in
to View Administrator

ADMIN_USERLOGGEDOUT

AUDIT_SUCCESS

User ${UserDisplayName} has logged out
from View Administrator

ADMIN_VC_ADD_FAILED

AUDIT_FAIL

${UserDisplayName} failed to add VC
server ${VCAddress}

ADMIN_VC_ADDED

AUDIT_SUCCESS

${UserDisplayName} added VC server $
{VCAddress}

ADMIN_VC_EDITED

AUDIT_SUCCESS

${UserDisplayName} edited VC server $
{VCAddress} (${AttrChangeType}: $
{AttrName} = ${AttrValue})

ADMIN_VC_LICINV_ALARM_DISABLED

AUDIT_SUCCESS

Alarm on VC server ${VCAddress} for
License Inventory monitoring was
disabled as all Hosts have desktop
licenses

VMware, Inc.

24

View Integration

Table 2‑6. View Administrator Events (Continued)
EventType

Severity

ModuleAndEventText

ADMIN_VC_REMOVE_FAILED

AUDIT_FAIL

${UserDisplayName} failed to remove VC
server ${VCAddress}

ADMIN_VC_REMOVED

AUDIT_SUCCESS

${UserDisplayName} removed VC server
${VCAddress}

Event Message Attributes
ModuleAndEventText messages use certain attributes. To determine the data type for an attribute, you
can examine its value in the type column in the event_data or event_data_historical table.
Table 2‑7. Attributes that ModuleAndEventText Messages Use
Attribute Name

Description

AdminFolderName

Name of a folder that requries privileged access.

AdminPermissionEntity

Name of an object that requires privileged access.

AdminPrivilegeName

Name of an administrative privilege.

AdminRoleName

Name of an administrative role.

AdminRoleNewName

New name of an administrative role.

AttrChangeType

Type of change that was applied to a generic attribute.

AttrName

Name of a generic attribute.

AttrValue

Value of a generic attribute.

BrokerId

Identifier of a View Connection Server instance.

BrokerName

Name of a View Connection Server instance.

DesktopDisplayName

Display name of a desktop pool.

DesktopId

Identifier of a desktop pool.

EntitlementDisplay

Display name of a desktop entitlement.

MachineId

Name of a physical or virtual machine.

MachineName

Name of a physical or virtual machine.

MaintenanceMode

Maintenance mode state.

ObjectID

Identifier of an inventory object.

ObjectType

Type of an inventory object.

PolicyDisplayName

Display name of a policy.

PolicyObject

Identifier of a policy object.

PolicyValue

Value of a policy object.

ProtocolId

Identifier of a display protocol.

SecurityServerId

Identifier of a security server.

SVIAdminFqdn

FQDN of a QuickPrep domain.

VMware, Inc.

25

View Integration

Table 2‑7. Attributes that ModuleAndEventText Messages Use (Continued)
Attribute Name

Description

SVIAdminID

Identifier of a QuickPrep domain.

SVIAdminName

Name of a QuickPrep domain.

SVIDeploymentGroupID

Identifier of a View Composer deployment group.

SVIOperation

Name of a View Composer operation.

SVIParentVM

Parent virtual machine in View Composer.

SVIPath

Path of an object in View Composer.

SVISnapshot

Snapshot in View Composer.

SVIVMID

Identifier of a virtual machine in View Composer.

ThinAppDisplayName

Display name of a ThinApp object.

ThinAppId

Identifier of a ThinApp object.

ThinAppRepositoryName

Name of a ThinApp repository

ThinAppRepositoryPath

Path of a ThinApp repository.

Time

Date and time value.

UserCount

Maximum number of desktop users over a 24-hour period.

UserDiskName

Name of a user data disk.

UserDisplayName

User name in the form DOMAIN\username.

UserName

Name of a user in Active Directory.

VCAddress

URL of a vCenter Server.

Sample Database Queries and Views
You can query the event_historical database to display error events, warning events, and specific recent
events.
Note Replace the dbo.VE_ prefix in the following examples with the appropriate prefix for your event
database.

List Error Events
The following query displays all error events from the event_historical table.
CREATE VIEW error_events AS
(
SELECT ev.EventID, ev.Time, ev.Module, ev.EventType, ev.ModuleAndEventText
FROM dbo.VE_event_historical AS ev
WHERE ev.Severity = ‘ERROR’
);

VMware, Inc.

26

View Integration

List Warning Events
The following query displays all warning events from the event_historical table.
CREATE VIEW warning_events AS
(
SELECT ev.EventID, ev.Time, ev.Module, ev.EventType, ev.ModuleAndEventText
FROM dbo.VE_event_historical AS ev
WHERE ev.Severity = ‘WARNING’
);

List Recent Events
The following query lists all recent events that are associated with the user fred in the domain MYDOM.
CREATE VIEW user_fred_events AS
(
SELECT ev.EventID, ev.Time, ev.Module, ev.EventType, ev.Severity, ev.Acknowledged
FROM dbo.VE_event_historical AS ev,
dbo.VE_event_data_historical AS ed
WHERE ev.EventID = ed.EventID AND ed.Name = 'UserDisplayName' AND ed.StrValue =
‘MYDOM\fred’
);

The following query lists all recent events where the agent on a machine shut down.
CREATE VIEW agent_shutdown_events AS
(
SELECT ev.EventID, ev.Time, ed.StrValue
FROM dbo.VE_event_historical AS ev,
dbo.VE_event_data_historical AS ed
WHERE ev.EventID = ed.EventID AND ev.EventType = ‘AGENT_SHUTDOWN’ AND
ed.Name = ‘MachineName’
);

The following query lists all recent events where a desktop failed to launch because the desktop pool was
empty.
CREATE VIEW desktop_launch_failure_events AS
(
SELECT ev.EventID, ev.Time, ed1.StrValue, ed2.StrValue
FROM dbo.VE_event_historical AS ev,
dbo.VE_event_data_historical AS ed1,
dbo.VE_event_data_historical AS ed2
WHERE ev.EventID = ed1.EventID AND ev.EventID = ed2.EventID AND
ev.EventType = ‘BROKER_POOL_EMPTY’ AND
ed1.Name = ‘UserDisplayName’ AND ed2.Name = ‘DesktopId’
);

VMware, Inc.

27

View Integration

The following query lists all recent events where an administrator removed a desktop pool.
CREATE VIEW desktop_pool_removed_events AS
(
SELECT ev.EventID, ev.Time, ed1.StrValue, ed2.StrValue
FROM dbo.VE_event_historical AS ev,
dbo.VE_event_data_historical AS ed1,
dbo.VE_event_data_historical AS ed2
WHERE ev.EventID = ed1.EventID AND ev.EventID = ed2.EventID AND
ev.EventType = ‘ADMIN_DESKTOP_REMOVED’ AND
ed1.Name = ‘UserDisplayName’ AND ed2.Name = ‘DesktopId’
);

The following query lists all recent events where an administrator added a ThinApp repository.
CREATE VIEW thinapp_repository_added_events AS
(
SELECT ev.EventID, ev.Time, ed1.StrValue, ed2.StrValue, ed3.StrValue
FROM dbo.VE_event_historical AS ev,
dbo.VE_event_data_historical AS ed1,
dbo.VE_event_data_historical AS ed2,
dbo.VE_event_data_historical AS ed3
WHERE ev.EventID = ed1.EventID AND ev.EventID = ed2.EventID AND ev.EventID = ed3.EventID
AND
ev.EventType = ‘ADMIN_THINAPP_REPO_ADDED’ AND
ed1.Name = ‘UserDisplayName’ AND ed2.Name = ‘ThinAppRepositoryName’ AND
ed3.Name = ‘ThinAppRepositoryPath’
);

VMware, Inc.

28

Customizing LDAP Data

3

You can use VMware and Microsoft command-line tools to import and export LDAP configuration data to
and from View. These command-line tools import and export LDAP configuration data in LDAP Data
Interchange Format (LDIF) configuration files.
This feature is intended for use by advanced administrators who want to perform automatic bulk
configuration operations. To create scripts to update the View configuration, use View PowerCLI.
This section includes the following topics:
n

Introduction to LDAP Configuration Data

n

Modifying LDAP Configuration Data

Introduction to LDAP Configuration Data
All View configuration data is stored in an LDAP directory. Each View Connection Server standard or
replica instance contains a local LDAP configuration repository and a replication agreement between
each of the View Connection Server instances. This arrangement ensures that changes to one repository
are automatically replicated to all other repositories.
When you use View Administrator to modify the View configuration, the appropriate LDAP data is updated
in the repository. For example, if you add a desktop pool, View stores information about users, user
groups, and entitlements in LDAP. View Connection Server instances manage other LDAP configuration
data automatically, and they use the information in the repository to control View operations.
You can use LDIF configuration files to perform a number of tasks, including transferring configuration
data between View Connection Server instances and backing up your View configuration so that you can
restore the state of a View Connection Server instance.
You can also use LDIF configuration files to define a large number of View objects, such as desktop
pools, and add those objects to your View Connection Server instances without having to use View
Administrator to perform the task manually.
In View 3.1 and later releases, View performs regular backups of the LDAP repository.
LDAP configuration data is transferred as plain ASCII text and conforms to the Internet Engineering Task
Force (IETF) RFC 2849 standard.

VMware, Inc.

29

View Integration

Modifying LDAP Configuration Data
You can export LDAP configuration data on a View Connection Server instance to an LDIF configuration
file, modify the LDIF configuration file, and import the modified LDIF configuration file into other View
Connection Server instances to perform automatic bulk configuration operations.
You can obtain examples of LDIF syntax for any item of LDAP configuration data in View by examining
the contents of an exported LDIF configuration file. For example, you can extract the data for a desktop
pool and use that data as a template to create a large number of desktop pools.

Export LDAP Configuration Data
You can use the vdmexport command-line utility to export configuration data from a standard or replica
View Connection Server instance to an LDIF configuration file.
By default, the vdmexport command-line utility is installed in the C:\Program Files\VMware\VMware
View\Server\tools\bin directory.
Procedure

1

Log in to a standard or replica View Connection server instance.
Option

Action

View 3.1 and earlier

Log in as an administrator and be a member of the Local Administrators user
group.

View 4.5 and later

Log in as a user in the Administrators or Administrators (Read only) role.
Note You must be logged in as a user in the Administrators or Administrators
(Read only) role to export configuration data from the View configuration
repository.

2

At the command prompt, type the vdmexport command and use the -f option to specify the name of
the LDIF configuration file to export.
For example: vdmexport -f myexport.LDF
Alternatively, you can redirect the output instead of using the -f option.
For example: vdmexport > myexport.LDF

The vdmexport command writes the configuration of your View Connection Server instance to the file
that you specify. The command displays errors if your role has insufficient privileges to view the data in
the configuration repository.

VMware, Inc.

30

View Integration

Defining a Desktop Pool in an LDIF Configuration File
You can define a desktop pool in an LDIF configuration file and import the customized LDIF configuration
file to create a large number of desktop pools.
Note You can also create customized LDIF configuration files for other objects that are defined in the
LDAP repository, including global configuration settings, configuration settings for a specific View
Connection Server instance or security server, and configuration settings for a specific user.
To define a desktop pool in an LDIF configuration file, you must add the following entries to the file.
n

A Virtual Desktop VM entry for each virtual desktop in the desktop pool

n

A VM Pool entry for each desktop pool

n

A Desktop Application entry that defines the entitlement of the desktop pool

You associate each VM Pool entry with one Desktop Application entry in a one-to-one relationship. A
Desktop Application entry cannot be shared between VM Pool entries, and a VM Pool entry can only be
associated with one Desktop Application entry.
The following table describes the attributes you must specify when you modify a desktop pool definition in
an LDIF configuration file.
Table 3‑1. Important Attributes for Defining a Desktop Pool
Entry

Attribute

Description

Virtual Desktop VM

cn

Common name of an entry. If you require names to be generated
automatically, specify globally unique identifier (GUID) strings. You can use
any reliable GUID generator, such as the mechanism provided by .NET (for
example, by calling System.Guid.NewGuid().ToString() in Visual Basic).

member

A list of Active Directory (AD) users and groups who are entitled to access
the desktop pool. The attribute is specified in the form of a Windows Security
Identifier (SID) reference. A member value of  represents an
AD user or group with the SID value S-1-2-3-4.

VM Pool
Desktop Application
Desktop Application

In LDIF format, the left angle (<) character is reserved, so you must place
two colons (::) after the attribute name and specify the SID value in base 64
format (for example, PFNJRD1TLTEtMi0zLTQ+IA==). Because this attribute
is multivalued, you can use it on multiple lines to represent each entry in a list
of SIDs.

Sample LDIF Configuration File Desktop Pool Entries
The following example is an excerpt from an LDIF configuration file. It shows sample entries for a desktop
pool named Pool1, which contains two virtual desktops named VM1 and VM2. The desktop pool entry is
paired with the Desktop Application entry, which is also named Pool1.
#
# Virtual Desktop VM entry VM1
#
DN: CN=vm1,OU=Servers,DC=vdi,DC=vmware,DC=int

VMware, Inc.

31

View Integration

changetype: add
objectClass: top
objectClass: pae-Server
objectClass: pae-WinServer
objectClass: pae-ThinWinServer
objectClass: pae-VM
cn: vm1
description: sample virtual desktop entry
pae-VmSuspended:: IA==
pae-OptIgnoreProcessList: 0
pae-MOID: vm-1
pae-VmState: READY
pae-ServerManaged: 1
pae-SSOEnabled: 1
pae-DisplayName: virtual desktop 1
pae-TunneledConnection: 1
pae-pwdEncryption: KERB5
ipHostNumber: vm1
pae-ClientProtVersion: 1
pae-WinDomain: NULL
pae-thinProto: XP_RDP
pae-Services: SESSION |, HEARTBEAT |, EVENTS |, USED |
pae-VmPath: /New Datacenter/vm/vm-1
pae-OptSuspendTimeout: 0
pae-OptDisconnectLimitTimeout: 0
pae-OptMaximumSessions: 0
pae-Disabled: 0
#
# Virtual Desktop VM entry VM2
#
DN: CN=vm2,OU=Servers,DC=vdi,DC=vmware,DC=int
changetype: add
objectClass: top
objectClass: pae-Server
objectClass: pae-WinServer
objectClass: pae-ThinWinServer
objectClass: pae-VM
cn: vm2
description: sample virtual desktop entry
pae-VmSuspended:: IA==
pae-OptIgnoreProcessList: 0
pae-MOID: vm-2
pae-VmState: READY
pae-ServerManaged: 1
pae-SSOEnabled: 1
pae-DisplayName: virtual desktop 2
pae-TunneledConnection: 1
pae-pwdEncryption: KERB5
ipHostNumber: vm2
pae-ClientProtVersion: 1
pae-WinDomain: NULL
pae-thinProto: XP_RDP
pae-Services: SESSION |, HEARTBEAT |, EVENTS |, USED |
pae-VmPath: /New Datacenter/vm/vm-2

VMware, Inc.

32

View Integration

pae-OptSuspendTimeout: 0
pae-OptDisconnectLimitTimeout: 0
pae-OptMaximumSessions: 0
pae-Disabled: 0
#
# Further Virtual Desktop VM entries as required
#
#
# VM Pool entry Pool1
#
DN: CN=Pool1,OU=Server Groups,DC=vdi,DC=vmware,DC=int
changetype: add
objectClass: top
objectClass: pae-ServerPool
cn: Pool1
pae-VCDN: CN=b180b93b-2dd3-4b58-8a81-b8534a4b7565,OU=VirtualCenter,OU=Properties,DC=vdi,
DC=vmware,DC=int
pae-MemberDN: CN=vm1,OU=Servers,DC=vdi,DC=vmware,DC=int
pae-MemberDN: CN=vm2,OU=Servers,DC=vdi,DC=vmware,DC=int
pae-VmPowerPolicy: remainon
pae-VmProvEnabled: 1
pae-VmProvSuspendOnError: 1
pae-VmStartClone: 1
pae-VmPoolCalculatedValues: 1
pae-ServerPoolType: 0
pae-VmMinimumCount: 0
pae-VmHeadroomCount: 0
pae-VmMaximumCount: 0
pae-Disabled: 0
#
# Desktop Application entry Pool1 -- one entry is required for each VM Pool
#
DN: CN=Pool1,OU=Applications,DC=vdi,DC=vmware,DC=int
changetype: add
objectClass: top
objectClass: pae-Entity
objectClass: pae-App
objectClass: pae-WinApp
objectClass: pae-ThinWinApp
objectClass: pae-DesktopApplication
cn: Pool1
member:: PFNJRD1TLTEtMi0zLTQ+IA==
pae-Icon: /thinapp/icons/desktop.gif
pae-URL: \
pae-Servers: CN=Pool1,OU=Server Groups,DC=vdi,DC=vmware,DC=int
pae-ServerProtocolLevel: OSX_NETOP
pae-ServerProtocolLevel: OS2_NETOP
pae-ServerProtocolLevel: NT4_NETOP
pae-ServerProtocolLevel: WIN2K_NETOP
pae-ServerProtocolLevel: NT4_RDP
pae-ServerProtocolLevel: WIN2K_RDP
pae-ServerProtocolLevel: XP_RDP
pae-Disabled: 0

VMware, Inc.

33

View Integration

Use the vdmimport Command to Import LDAP Configuration Data
In View 4.5 and later releases, you can use the vdmimport command to import configuration data from an
LDIF configuration file into a standard or replica View Connection Server instance.
By default, the vdmimport command-line utility is installed in the C:\Program Files\VMware\VMware
View\Server\tools\bin directory.
Prerequisites
n

Verify that you have View 4.5 or later. If you have an earlier View release, see Use the LDIFDE
Command to Import LDAP Configuration Data.

n

Export LDAP configuration data to an LDIF configuration file. See Export LDAP Configuration Data.

Procedure

1

Log in to a View Connection Server instance as a user in the Administrators role.
You must be logged in as a user in the Administrators role to import configuration data into the View
configuration repository.

2

At the command prompt, type the vdmimport command and use the -f option to specify the LDIF
configuration file to import.
For example: vdmimport -f myexport.LDF

After the vdmimport command runs, the configuration of your View Connection Server instance is
updated with the data from the file, and the number of records that have been successfully updated is
displayed. Errors are displayed if some records could not be updated because your role has insufficient
privileges.

Use the LDIFDE Command to Import LDAP Configuration Data
You can use the Microsoft LDIFDE command to import configuration data from an LDIF configuration file
into a standard or replica View Connection Server instance.
In View releases earlier than View 4.5, you must use the Microsoft LDIFDE command to import
configuration data from an LDIF configuration file. The vdmimport command is not supported in View
releases earlier than View 4.5.
If you have View 4.5 or later, use the vdmimport command rather than the LDIFDE command. The
vdmimport command does not display the large number of error messages that are produced by running
the LDIFDE command. For more information, see Use the vdmimport Command to Import LDAP
Configuration Data.
Because the LDIFDE command does not update, create, or delete any LDAP records that are not defined
in the LDIF configuration file, it enables you to customize an LDIF configuration file so that only selected
records are affected when you import the file. For complete information about using the LDIFDE
command, go to http://support.microsoft.com/kb/237677.

VMware, Inc.

34

View Integration

Prerequisites

Export LDAP configuration data to an LDIF configuration file. See Export LDAP Configuration Data.
Procedure

1

Log in to a View Connection server instance.
Option

Action

View 3.1 or earlier

Log in as an administrator and be a member of the Local Administrators user
group.

View 4.5 or later

Log in as a user in the Administrators role.
Note You must be logged in as a user in the Administrators role to import
configuration data into the View configuration repository.

2

At the command prompt, type the LDIFDE command and use the -f option to specify an existing LDIF
configuration file.
For example: LDIFDE -i -f myexport.LDF -s 127.0.0.1 -z

After the LDIFDE command runs, the configuration of your View Connection Server instance is updated
with the data from the file, and the number of records that are successfully updated is displayed.
Error messages appear whenever an existing entry in the repository is overwritten. You can ignore these
error messages. Error messages also appear if a record cannot be updated because your role has
insufficient privileges.

VMware, Inc.

35

Integrating View with Microsoft
SCOM

4

You can use Microsoft System Center Operations Manager (SCOM) to monitor the state of View
components, including View Connection Server instances, security servers, and the View services that
run on View Connection Server and security server hosts.
This section includes the following topics:
n

Setting Up a SCOM Integration

n

Monitoring View in the Operations Manager Console

Setting Up a SCOM Integration
Integrating View with SCOM involves assigning a name to the View Connection Server group, importing
the View management packs on the SCOM server, enabling a proxy agent on each View Connection
Server instance and security server, and running the View discovery script in the Operations Manager
console.

Assign a Name to the View Connection Server Group
Before you can use SCOM to monitor and manage the state of View components, you must assign a
name to the View Connection Server group in View. The Operations Manager console displays this name
to help you identify the View Connection Server group within SCOM.
Note View Administrator does not display the View Connection Server group name.
Prerequisites

Become familiar with the vdmadmin command-line interface. For more information, see the View
Administration document.
Procedure

1

Log in to one of the View Connection Server hosts in the View Connection Server group.

2

At the command prompt, type the vdmadmin command with the -C and -c options.
For example: vdmadmin -C -c group_name
The -c option specifies the name to assign to the View Connection Server group.

VMware, Inc.

36

View Integration

Example: Assigning a View Connection Server Group Name
In this example, the vdmadmin command sets the name of a View Connection Server group to VCSG01.
vdmadmin -C -c VCSG01

What to do next

Complete the procedure described in Import the View Management Packs on the SCOM Server.

View Management Packs
View management packs enable you to use SCOM to monitor and manage the state of View
components.
Table 4‑1. View Management Packs
View Management Pack

Description

VMware.View.Discovery.mp

Contains the agent that discovers instances of View Server installations.

VMware.View.Monitoring.mp

Contains the views and monitors that you can use with View in the Operations
Manager console.

VMware.View.Library.mp

Contains class and relationship definitions for the managed objects in View.

VMware.View.Image.Library.mp

Contains graphics that represent the classes defined in
VMware.View.Library.mp.

The View management packs are installed in the C:\Program Files\VMware\VMware
View\Server\extras\ManagementPacks directory on a View Connection Server instance or security
server when you install the View Connection Server software.
The View management packs require the default System management pack that is installed with SCOM
and the management pack for Microsoft Windows Server Base OS System Center Operations Manager
2007.

Import the View Management Packs on the SCOM Server
You must import the View management packs on the SCOM server to use SCOM to monitor and manage
the state of View components.
Important McAfee VirusScan Enterprise 8.0i blocks the operation of Visual Basic scripts that SCOM
uses. For more information and details about the available patch, go to
http://support.microsoft.com/kb/890736/en-us.
Prerequisites
n

Complete the procedure described in Assign a Name to the View Connection Server Group.

n

Become familiar with the View management packs. See View Management Packs.

VMware, Inc.

37

View Integration

Procedure

1

Copy the View management packs from the View Connection Server instance or security server to
the SCOM server.
The View management packs are in the C:\Program Files\VMware\VMware
View\Server\extras\ManagementPacks directory on the View Connection Server host or security
server.

2

In the Operations Manager console, go to Administration\Management Packs and select Import
Management Packs.

3

Use the Import Management Packs wizard to import the View management packs.

What to do next

Complete the procedure described in Enable a Proxy Agent on a View Connection Server Host or
Security Server.

Enable a Proxy Agent on a View Connection Server Host or
Security Server
You must use the Operations Manager console to enable a proxy agent on each View Connection Server
host or security server that you want to monitor with SCOM. The discovery script can discover a Windows
server only if you enable the proxy agent for the server.
Prerequisites

Complete the procedure described in Import the View Management Packs on the SCOM Server.
Procedure

1

In the Operations Manager console, go to Administration\Agent Managed, select the server, and
click Properties.

2

On the Security tab, select the Allow this agent to act as a proxy and discover managed objects
on other computers option.

3

Click OK to save your changes.

Run the Discovery Script in the Operations Manager Console
The discovery script finds systems on which a View server is installed. It probes the registries of Windows
servers for entries that indicate the version of the View software, the type of server, and the name and ID
of the View Connection Server group.
Note Running the discovery script manually is optional. The discovery script is scheduled to run
automatically once every hour.
Prerequisites
n

Complete the procedure described in Import the View Management Packs on the SCOM Server.

VMware, Inc.

38

View Integration

n

Complete the procedure described in Enable a Proxy Agent on a View Connection Server Host or
Security Server. The discovery script can discover a Windows server only if you use the Operations
Manager console to enable the proxy agent for the server.

Procedure

1

In the Operations Manager console, go to Monitoring\Windows Computers.

2

Select a computer system and click the VMware View Run Discovery Probe action.

If the discovery script detects that a View server is installed on a computer, it creates instances of the
View object classes that are defined in the VMware.View.Library management pack and establishes
relationships between these managed objects.
For a list of the managed objects for View Connection Server instances and security servers, see View
Connection Server and Security Server Managed Objects. For information about the View object classes
and their relationships, see View Object Classes and Relationships.
What to do next

(Optional) Verify the objects that the discovery script creates for a server by viewing the objects in the
Operations Manager console. See Display Discovered and Managed View Objects.

View Connection Server and Security Server Managed Objects
The discovery script discovers managed objects for View Connection Server instances and security
servers.
Table 4‑2. Managed Objects for View Connection Server Instances and Security Servers
Object

View Connection Server
Instance

Security Server

VMware.View.Cluster

X

X

VMware.View.Cluster.Node.Item

X

X

VMware.View.ConnectionServerRole.Item

X

X

VMware.View.Component.ConnectionServer.Item

X

X

VMware.View.Component.Framework.Item

X

X

VMware.View.Component.Web.Item

X

VMware.View.Component.Directory.Item

X

VMware.View.Component.SecureGateway.Item

X

VMware.View.Component.MessageBus.Item

X

VMware.View.Component.SecurityServer.Item

VMware, Inc.

X

X

39

View Integration

View Object Classes and Relationships
The VMware.View.Library management pack contains class and relationship definitions for the View
management packs. A class can have properties, such as a name or ID. The relationships between
classes describe their hierarchy. For example, the relationship contains exists between
VMware.View.Clusters and VMware.View.Cluster, and between VMware.View.Cluster and
VMware.View.Cluster.Node.
The VMware.View.Library management pack also contains friendly name strings for classes and
properties. The SCOM console displays friendly names in preference to class and property names.

View Connection Server Group Classes
The VMware.View.Library management pack contains View Connection Server group class definitions.
Table 4‑3. View Library View Connection Server Group Classes
Class Name

Description

VMware.View.Cluster

Represents a View Connection Server group. This class has the properties
ClusterID and DisplayName (the name of the group).

VMware.View.Clusters

Represents a singleton class that contains instances of VMware.View.Cluster.

Base Classes
The VMware.View.Library management pack contains abstract base class definitions.
Note The currently supported instances that are derived from these classes must be View 5.1.x or a
later release.
Table 4‑4. View Library Base Classes
Class Name

Description

VMware.View.Cluster.Node

Represents a member of a View Connection Server group. This class has the
properties ClusterID, ClusterName, ProductVersion, and InstallPath.

VMware.View.Component

Represents a View component that has been installed on a member of a View
Connection Server group. This class has the property Name.

VMware.View.Component.ConnectionServe
r

Represents the Connection Server component that has been installed on a
member of a View Connection Server group. This class inherits its properties from
VMware.View.Component.

VMware.View.Component.Directory

Represents the Directory component that has been installed on a member of a
View Connection Server group. This class inherits its properties from
VMware.View.Component.

VMware.View.Component.Framework

Represents the Framework component that has been installed on a member of a
View Connection Server group. This class inherits its properties from
VMware.View.Component.

VMware.View.Component.MessageBus

Represents the Message Bus component that has been installed on a member of
a View Connection Server group. This class inherits its properties from
VMware.View.Component.

VMware, Inc.

40

View Integration

Table 4‑4. View Library Base Classes (Continued)
Class Name

Description

VMware.View.Component.SecurityGateway

Represents the Security Gateway component that has been installed on a
member of a View Connection Server group. This class inherits its properties from
VMware.View.Component.

VMware.View.Component.SecurityServer

Represents the Security Server component that has been installed on a member
of a View Connection Server group. This class inherits its properties from
VMware.View.Component.

VMware.View.Component.Web

Represents the Web component that has been installed on a member of a View
Connection Server group. This class inherits its properties from
VMware.View.Component.

VMware.View.ConnectionServerRole

Represents a member of a View Connection Server group with the Connection
Server installed on it. This class inherits its properties from
VMware.View.NodeRole.

VMware.View.NodeRole

Represents the role of a member of a View Connection Server group.

VMware.View.SecurityServerRole

Represents a member of a View Connection Server group with the Security Server
installed on it. This class inherits its properties from VMware.View.NodeRole.

Concrete Classes
The VMware.View.Library management pack contains concrete class definitions.
Note These concrete classes are the latest versions and are supported in View 5.1.x and later releases.
Table 4‑5. View Library Concrete Classes
Class Name

Description

VMware.View.Cluster.Node.Item

Represents a View Connection Server group member that has version 5.1.x or
a later release of View installed. This class inherits its properties from
VMware.View.Cluster.Node.

VMware.View.Component.ConnectionServer.I
tem

Represents version 5.1.x or a later release of the Connection Server
component that has been installed on a member of a View Connection Server
group. This class inherits its properties from
VMware.View.Component.ConnectionServer.

VMware.View.Component.Directory.Item

Represents version 5.1.x or a later release of the Directory component that
has been installed on a member of a View Connection Server group. This
class inherits its properties from VMware.View.Component.Directory.

VMware.View.Component.Framework.Item

Represents version 5.1.x or a later release of the Framework component that
has been installed on a member of a View Connection Server group. This
class inherits its properties from VMware.View.Component.Framework.

VMware.View.Component.MessageBus.Item

Represents version 5.1.x or a later release of the Message Bus component
that has been installed on a member of a View Connection Server group. This
class inherits its properties from VMware.View.Component.MessageBus.

VMware.View.Component.SecurityGateway.It
em

Gateway component that has been installed on a member of a View
Connection Server group. This class inherits its properties from
VMware.View.Component.SecureGateway.

VMware, Inc.

41

View Integration

Table 4‑5. View Library Concrete Classes (Continued)
Class Name

Description

VMware.View.Component.SecurityServer.Ite
m

Represents version 5.1.x or a later release of the Security Server component
that has been installed on a member of a View Connection Server group. This
class inherits its properties from VMware.View.Component.SecurityServer.

VMware.View.Component.Web.Item

Represents version 5.1.x or a later release of the Web component that has
been installed on a member of a View Connection Server group. This class
inherits its properties from VMware.View.Component.Web.

VMware.View.ConnectionServerRole.Item

Represents a member of a View Connection Server group with version 5.1.x
or a later release of the Connection Server installed on it. This class inherits its
properties from VMware.View.NodeRole.

VMware.View.SecurityServerRole.Item

Represents a member of a View Connection Server group with version 5.1.x
or a later release of the Security Server installed on it. This class inherits its
properties from VMware.View.NodeRole.

Monitoring View in the Operations Manager Console
When View is integrated with SCOM, you can use the Operations Manager console to monitor and
manage View components.

Views and Monitors to Use with View
The VMware.View.Monitoring management pack contains the views and monitors that you can use to
monitor and manage View components in the Operations Manager console.

Views Available for View Objects
You can use the views defined in the VMware.View.Monitoring management pack to examine
discovered View objects.
Table 4‑6. Available Views for View Objects
View

Description

Active Alerts

Displays critical View alerts.

Node State

Displays the state of all discovered members of all View Connection Server
groups.

Group State

Displays the state of the discovered View Connection Server groups.

Groups

Displays a diagram of all discovered View Connection Server groups,
members, roles, and components. You can obtain details about objects and
their relationships by clicking the icons and the connectors.

VMware, Inc.

42

View Integration

Table 4‑6. Available Views for View Objects (Continued)
View

Description

Connection Server Role Performance Data

Secure Gateway Role Performance Data

Displays the following data sets.
n

All Sessions

n

All Sessions High

n

SVI Sessions

n

SVI Sessions High

Displays the following data sets.
n

Secure Gateway Sessions

n

Secure Gateway Sessions High

Available Monitor Types for View Objects
The VMware.View.Monitoring management pack provides the following monitor types.
Performance monitor

Collects system data and return this data to the SCOM performance
database and data warehouse. You can examine the data graphically in the
Connection Server Role Performance Data and Secure Gateway Role
Performance Data views.

Service component
monitors

Collect information about the state of the View component services. If a
monitored service is not running, SCOM sets its state to error and raises an
alert. If a component is in the error state, the affected View Connection
Server group and its members also enter the error state.

Domain connectivity
monitor

Verifies that a View Connection Server instance can bind to all the domains
of which it is a member. The monitor queries the status of the Web
component on a View Connection Server instance every three minutes. If a
View Connection Server instance cannot bind to a domain, SCOM sets its
state to error and raises an alert.

Event database
connectivity monitor

Checks that the event database is configured and that events are writable
to the database. The monitor queries the Web component every three
minutes for this information and raises an alert if the event database is not
connected.

Virtual Center (vCenter)
connectivity monitor

Checks that a View Connection Server instance can connect to the
configured vCenter Server instances. The monitor queries the Web
component every three minutes for this information and raises an alert if a
vCenter Server instance is not available.

Service Component Monitors for View Connection Server Instances
The following table describes the service component monitors that the VMware.View.Monitoring
management pack provides for View Connection Server instances.

VMware, Inc.

43

View Integration

Table 4‑7. View Service Component Monitors for a View Connection Server Instance
Monitor

Display Name

Monitored Service

ConnectionServerServiceCheck

Connection Server Service Health

VMware View Connection Server

FrameworkServiceCheck

Base Framework Service Health

VMware View Framework Component

MessageBusServiceCheck

Message Bus Service Health

VMware View Message Bus Component

SecureGatewayCheck

Security Gateway Service Health

VMware View Security Gateway
Component

WebServiceCheck

Web Service Health

VMware View Web Component

DirectoryServiceCheck

Directory Service Health

VMwareVDMDS

Service Component Monitors for Security Servers
The following table describes the service component monitors that the VMware.View.Monitoring
management pack provides for security servers.
Table 4‑8. View Server Component Monitors for a Security Server
Monitor

Display Name

Monitored Service

SecureGatewayServerServiceCheck

Security Server Service Health

VMware View Security Server

FrameworkServiceCheck

Base Framework Service Health

VMware View Framework Component

SecureGatewayCheck

Security Gateway Service Health

VMware View Security Gateway
Component

Display Discovered and Managed View Objects
You can display discovered and managed View objects in the Operations Manager console.
Prerequisites

Integrate View with SCOM. See Setting Up a SCOM Integration.
Procedure
n

To display the View objects that the discovery script creates for a server, go to Monitoring\Discovery
Inventory in the Operations Manager console.

n

To display the View objects that SCOM manages and the relationships between those objects, go to
Monitoring\VMware View in the Operations Manager console and select the required view.

Display Performance Information
You can display graphical performance data for a View Connection Server instance or security server in
the Operations Manager console.
Prerequisites

Integrate View with SCOM. See Setting Up a SCOM Integration.

VMware, Inc.

44

View Integration

Procedure

1

In the Operations Manager console, go to Monitoring\VMware View\Performance.

2

Select the Connection Server Role Performance Data or Secure Gateway Role Performance
Data view.

3

Select the required data sets.

Display Alerts for a View Connection Server Group
You can use the Health Explorer in the Operations Manager console to display information about alerts
that the health monitors raise for a View Connection Server group.
Prerequisites

Integrate View with SCOM. See Setting Up a SCOM Integration.
Procedure

1

In the Operations Manager console, go to Monitoring\VMware View and select the Active Alerts
view.

2

Select an alert to display the knowledge article for that alert.

Close an Alert
You can close an alert in the Operations Manager console without taking any action.
Note This method does not prevent the alert from being raised again if the underlying cause persists.
Prerequisites

Integrate View with SCOM. See Setting Up a SCOM Integration.
Procedure

1

In the Operations Manager console, go to Monitoring\VMware View and select the Active Alerts
view.

2

Select the alert and click the Close Alert action.

Restart a View Component Service
You can restart a service from the Health Explorer in the Operations Manager console. The service
component monitors alert you if a View component service stops working.
Prerequisites

Integrate View with SCOM. See Setting Up a SCOM Integration.

VMware, Inc.

45

View Integration

Procedure

1

In the Operations Manager console, go to Monitoring\VMware View and select the Group State
view or the Group Node State view.

2

Right-click a View Connection Server group or member that is in the alert state and select Open >
Health Explorer.

3

In the Health Explorer, select the alert and click Restart the service in the knowledge article.

Exclude a Domain from Connectivity Monitoring
The Domain Connectivity Health monitor checks the connectivity between a View Connection Server
host’s domain and any trusted domains. To avoid seeing alerts for a domain, you can exclude the domain
from connectivity monitoring.
Prerequisites

Integrate View with SCOM. See Setting Up a SCOM Integration.
Procedure

1

In the Operations Manager console, go to Monitoring\VMware View and select the Group State
view or the Group Node State view.

2

Right-click the View Connection Server instance and select Open > Health Explorer.

3

Right-click the Domain Connectivity Health entry for the View Connection Server instance in the
Health Explorer and select Monitor Properties.

4

On the Overrides tab, click Override and select the option for all objects of the same class.

5

In the Override Properties window, select the Override check box for the DomainExcludeList
parameter, type the name of the excluded domain in the Override Setting text box, and select the
Enforced check box.
To exclude more than one domain, use spaces to separate the domain names.

6

Click Apply and then click OK to save your changes.

VMware, Inc.

46

Examining PCoIP Session
Statistics with WMI

5

You can use Windows Management Instrumentation (WMI) to examine performance statistics for a PCoIP
session by using any of the supported programming interfaces, including C#, C++, PowerShell, VBScript,
VB .NET, and Windows Management Instrumentation Command-line (WMIC).
You can also use the Microsoft WMI Code Creator tool to generate VBScript, C#, and VB .NET code that
accesses the PCoIP performance counters. For more information about WMI, WMIC, and the WMI Code
Creator tool, go to http://technet.microsoft.com/en-us/library/bb742610.aspx and
http://www.microsoft.com/downloads/en/details.aspx?familyid=2cc30a64ea15-4661-8da4-55bbc145c30e&dis playlang=en.
This section includes the following topics:
n

Using PCoIP Session Statistics

n

General PCoIP Session Statistics

n

PCoIP Audio Statistics

n

PCoIP Imaging Statistics

n

PCoIP Network Statistics

n

PCoIP USB Statistics

n

Examples of Using PowerShell cmdlets to Examine PCoIP Statistics

Using PCoIP Session Statistics
The WMI namespace for the PCoIP session statistics is root\CIMV2. The names of the statistics are
suffixed with (Server) or (Client), according to whether the statistic is recorded on the PCoIP server
or PCoIP client.
You can use Windows Performance Monitor (PerfMon) with the counters to calculate averages over a
specified sampling period. You must have administrator privileges to access the performance counters
remotely.
All statistics are reset to 0 when a PCoIP session is closed. If the WMI SessionDurationSeconds
property is a non-zero value and stays constant, the PCoIP server was forcefully ended or crashed. If the
SessionDurationSeconds property changes from a non-zero value to 0, the PCoIP session is closed.

VMware, Inc.

47

View Integration

To avoid a division-by-zero error, verify that the denominator in the expressions for calculating bandwidth
or packet-loss percentage does not evaluate to zero.
USB statistics are recorded for zero clients, but not for thin clients or software clients.

General PCoIP Session Statistics
The WMI class name for PCoIP general session statistics is
Win32_PerfRawData_TeradiciPerf_PCoIPSessionGeneralStatistics.
Table 5‑1. General Session Statistics
WMI Property Name

Description

BytesReceived

Total number of bytes of PCoIP data that have been received since the PCoIP
session started.

BytesSent

Total number of bytes of PCoIP data that have been transmitted since the PCoIP
session started.

PacketsReceived

Total number of packets that have been received successfully since the PCoIP
session started. Not all packets are the same size.

PacketsSent

Total number of packets that have been transmitted since the PCoIP session started.
Not all packets are the same size.

RXPacketsLost

Total number of received packets that have been lost since the PCoIP session
started.

SessionDurationSeconds

Total number of seconds that the PCoIP Session has been open.

TXPacketsLost

Total number of transmitted packets that have been lost since the PCoIP session
started.

Calculating Bandwith for Received PCoIP Data
To calculate the bandwidth in kilobits per second for received PCoIP data over the time interval from time
t1 to time t2, use the following formula.
(BytesReceived[t2]-BytesReceived[t1]) * 8 / (1024 * (t2-t1))

Calculating Bandwidth for Transmitted PCoIP Data
To calculate the bandwidth in kilobits per second for transmitted PCoIP data over the time interval from
time t1 to time t2, use the following formula.
(BytesSent[t2]-BytesSent[t1]) * 8 / (1024 * (t2-t1))

Calculating Packet Loss for Received PCoIP Data
To calculate the percentage of received packets that are lost, use the following formula.
100 / (1 + ((PacketsReceived[t2]-PacketsReceived[t1])/(RXPacketsLost[t2]-RXPacketsLost[t1])))

VMware, Inc.

48

View Integration

Calculating Packet Loss for Transmitted PCoIP Data
To calculate the percentage of transmitted packets that are lost, use the following formula.
100 * (TXPacketsLost[t2]-TXPacketsLost[t1]) / (PacketsSent[t2]-PacketsSent[t1])

PCoIP Audio Statistics
The WMI class name for PCoIP audio statistics is
Win32_PerfRawData_TeradiciPerf_PCoIPSessionAudioStatistics.
Note Audio statistics do not include audio data that is carried within USB data.
Table 5‑2. PCoIP Audio Statistics
WMI Property Name

Description

AudioBytesReceived

Total number of bytes of audio data that have been received since the PCoIP
session started.

AudioBytesSent

Total number of bytes of audio data that have been sent since the PCoIP
session started.

AudioRXBWkbitPersec

Bandwidth for ingoing audio packets averaged over the sampling period, in
seconds.

AudioTXBWkbitPersec

Bandwidth for outgoing audio packets averaged over the sampling period, in
seconds.

AudioTXBWLimitkbitPersec

Transmission bandwidth limit in kilobits per second for outgoing audio
packets. The limit is defined by a GPO setting.

Calculating Bandwidth for Received Audio Data
To calculate the bandwidth in kilobits per second for received audio data over the time interval from time
t1 to time t2, use the following formula.
(AudioBytesReceived[t2]-AudioBytesReceived[t1]) * 8 / (1024 * (t2-t1))

Do not use AudioRXBWkbitPersec for this calculation.

Calculating Bandwidth for Transmitted Audio Data
To calculate the bandwidth in kilobits per second for transmitted audio data over the time interval from
time t1 to time t2, use the following formula.
(AudioBytesSent[t2]-AudioBytesSent[t1]) * 8 / (1024 * (t2-t1))

Do not use AudioTXBWkbitPersec for this calculation.

VMware, Inc.

49

View Integration

PCoIP Imaging Statistics
The WMI class name for PCoIP imaging statistics is
Win32_PerfRawData_TeradiciPerf_PCoIPSessionImagingStatistics.
Table 5‑3. PCoIP Imaging Statistics
WMI Property Name

Description

ImagingBytesReceived

Total number of bytes of imaging data that have been received
since the PCoIP session started.

ImagingBytesSent

Total number of bytes of imaging data that have been
transmitted since the PCoIP session started.

ImagingDecoderCapabilitykbitPersec

Estimated processing capability of the imaging decoder in
kilobits per second. This statistic is updated once per second.

ImagingEncodedFramesPersec

Number of imaging frames that were encoded over a onesecond sampling period.

ImagingActiveMinimumQuality

Lowest encoded quality value on a scale from 0 to 100. This
statistic is updated once per second. This counter does not
correspond to the GPO setting for minimum quality.

ImagingRXBWkbitPersec

Bandwidth for incoming imaging packets averaged over the
sampling period, in seconds.

ImagingTXBWkbitPersec

Bandwidth for outgoing imaging packets averaged over the
sampling period, in seconds.

Calculating Bandwidth for Received Imaging Data
To calculate the bandwidth in kilobits per second for received imaging data over the time interval from
time t1 to time t2, use the following formula.
(ImagingBytesReceived[t2]-ImagingBytesReceived[t1]) * 8 / (1024 * (t2-t1))

Do not use ImagingRXBWkbitPersec for the calculation.

Calculating Bandwidth for Transmitted Imaging Data
To calculate the bandwidth in kilobits per second for transmitted imaging data over the time interval from
time t1 to time t2, use the following formula.
(ImagingBytesSent[t2]-ImagingBytesSent[t1]) * 8 / (1024 * (t2-t1))

Do not use ImagingTXBWkbitPersec for the calculation.

VMware, Inc.

50

View Integration

PCoIP Network Statistics
The WMI class name for PCoIP network statistics is
Win32_PerfRawData_TeradiciPerf_PCoIPSessionNetworkStatistics.
Table 5‑4. PCoIP Network Statistics
WMI Property Name

Description

RoundTripLatencyms

Round trip latency in milliseconds between the PCoIP server
and the PCoIP client.

RXBWkbitPersec

Overall bandwidth for incoming PCoIP packets averaged over
the sampling period, in seconds.

RXBWPeakkbitPersec

Peak bandwidth in kilobits per second for incoming PCoIP
packets over a one-second sampling period.

RXPacketLossPercent

Percentage of received packets lost during a sampling period.

TXBWkbitPersec

Overall bandwidth for outgoing PCoIP packets averaged over
the sampling period, in seconds.

TXBWActiveLimitkbitPersec

Estimated available network bandwidth in kilobits per second.
This statistic is updated once per second.

TXBWLimitkbitPersec

Transmission bandwidth limit in kilobits per second for outgoing
packets. The limit is the minimum of the following values.

TXPacketLossPercent

n

GPO bandwidth limit for the PCoIP client

n

GPO bandwidth limit for the PCoIP server

n

Bandwidth limit for the local network connection

n

Negotiated bandwidth limit for the Zero Client firmware
based on encryption limits

Percentage of transmitted packets lost during a sampling period.

Calculating Bandwidth for Received Network Data
To calculate the bandwidth in kilobits per second for received data over the time interval from time t1 to
time t2, use the following formula.
(BytesReceived[t2]-BytesReceived[t1]) * 8 / (1024 * (t2-t1))

Do not use RXBWkbitPersec for the calculation.

Calculating Bandwidth for Transmitted Network Data
To calculate the bandwidth in kilobits per second for transmitted data over the time interval from time t1 to
time t2, use the following formula.
(BytesSent[t2]-BytesSent[t1]) * 8 / (1024 * (t2-t1))

Do not use TXBWkbitPersec for the calculation.

VMware, Inc.

51

View Integration

Calculating Packet Loss for Received Network Data
To calculate the packet loss in percentage for received data over the time interval from time t1 to time t2,
use the following formula.
PacketsReceived during interval = (PacketsReceived[t2]-PacketsReceived[t1])
RXPacketsLost during interval = (RXPacketsLost[t2]-RXPacketsLost[t1])
RXPacketsLost % = RXPacketsLost during interval /
(RXPacketsLost during interval + PacketsReceived during interval) * 100

Do not use RXPacketLostPercent or RXPacketLostPercent_Base for the calculation.

Calculating Packet Loss for Transmitted Network Data
To calculate the packet loss in percentage for transmitted data over the time interval from time t1 to time
t2, use the following formula.
PacketsSent during interval = (PacketsSent[t2]-PacketsSent[t1])
TXPacketsLost during interval = (TXPacketsLost[t2]-TXPacketsLost[t1])
TXPacketsLost % = TXPacketsLost during interval /
(TXPacketsLost during interval + PacketsSent during interval) * 100

Do not use TXPacketLostPercent or TXPacketLostPercent_Base for the calculation.
Use this formula to prevent the packet loss percent from becoming greater than 100 percent. This
calculation is required because PacketsLost and PacketsSent are asynchronous.

PCoIP USB Statistics
The WMI class name for PCoIP USB statistics is
Win32_PerfRawData_TeradiciPerf_PCoIPSessionUSBStatistics.
Table 5‑5. PCoIP USB Statistics
WMI Property Name

Description

USBBytesReceived

Total number of bytes of USB data that have been received since the PCoIP
session started.

USBBytesSent

Total number of bytes of USB data that have been transmitted since the PCoIP
session started.

USBRXBWkbitPersec

Bandwidth for incoming USB packets averaged over the sampling period, in
seconds.

USBTXBWkbitPersec

Bandwidth for outgoing USB packets averaged over the sampling period, in
seconds.

VMware, Inc.

52

View Integration

Calculating Bandwidth for Received USB Data
To calculate the bandwidth in kilobits per second for received USB data over the time interval from time
t1 to time t2, use the following formula.
(USBBytesReceived[t2]-USBBytesReceived[t1]) * 8 / (1024 * (t2-t1))

Do not use USBRXBWkbitPersec for the calculation.

Calculating Bandwidth for Transmitted USB Data
To calculate the bandwidth in kilobits per second for transmitted USB data over the time interval from time
t1 to time t2, use the following formula.
(USBBytesSent[t2]-USBBytesSent[t1]) * 8 / (1024 * (t2-t1))

Do not use USBTXBWkbitPersec for the calculation.

Examples of Using PowerShell cmdlets to Examine PCoIP
Statistics
You can use PowerShell cmdlets to examine PCoIP statistics.
In the following example, the Get-WmiObject cmdlet retrieves the PCoIP network statistics for the client
cm-02.
Get-WmiObject -namespace "root\cimv2" -computername cm-02 -class
Win32_PerfRawData_TeradiciPerf_PCoIPSessionNetworkStatistics

In the following example, the Get-WmiObject cmdlet retrieves the PCoIP general session statistics for
desktop dt-03 if any transmitted packets have been lost.
Get-WmiObject -namespace "root\cimv2" -computername desktop-03 -query "select * from
Win32_PerfRawData_TeradiciPerf_PCoIPSessionGeneralStatistics where TXPacketsLost > 0"

VMware, Inc.

53

Setting Desktop Policies with
Start Session Scripts

6

With start session scripts, you can configure specific View desktop settings before a desktop session
starts based on information received from Horizon Client and View Connection Server.
For example, you can use a start session script to configure desktop policies based on client device and
user location instead of setting up multiple desktop pools that have different desktop policies. A start
session script can enable mapped drives, clipboard redirection, and other desktop features for a user who
has an IP address in your organization’s internal domain, but disallow these features for a user who has
an IP address in an external domain.
This section includes the following topics:
n

Obtaining Input Data for a Start Session Script

n

Best Practices for Using Start Session Scripts

n

Preparing a View Desktop to Use a Start Session Script

n

Sample Start Session Scripts

Obtaining Input Data for a Start Session Script
Start session scripts cannot run interactively. A start session script runs in an environment created by
View and must obtain its input data from that environment.
Start session scripts gather input data from environment variables on the client computer. Start session
environment variables have the prefix VDM_StartSession_. For example, the start session environment
variable that contains the client system’s IP address is VDM_StartSession_IP_Address. You must
ensure that a start session script validates the existence of any environment variable that it uses.
For a list of variables similar to start session environment variables, see “Client System Information Sent
to View Desktops” in the Configuring Remote Desktop Features in Horizon 7 document.

Best Practices for Using Start Session Scripts
Follow these best practices when using start session scripts.

When to Use Start Session Scripts
Use start session scripts only if you need to configure desktop policies before a session starts.

VMware, Inc.

54

View Integration

As a best practice, use the Horizon Agent CommandsToRunOnConnect and CommandsToRunOnReconnect
group policy settings to run command scripts after a desktop session is connected or reconnected.
Running scripts within a desktop session, rather than using start session scripts, satisfies most use cases.
For more information, see “Running Commands on View Desktops” in the Configuring Remote Desktop
Features in Horizon 7 document.

Managing Start Session Timeouts
Make sure your start session scripts run quickly.
If you set the WaitScriptsOnStartSession value in the Windows registry, your start session script must
finish running before Horizon Agent can respond to the StartSession message that View Connection
Server sends. A long-running script is likely to cause the StartSession request to time out.
If a timeout occurs and the pool uses floating assignments, View Connection Server tries to connect the
user to another virtual machine. If a timeout occurs and no virtual machine is available, View Connection
Server rejects the user's connection request.
As a best practice, set a hard timeout for the script host operation so that a specific error can be returned
if a script runs too long.

Making Start Session Scripts Accessible
The path where you configure your start session scripts must be accessible only to the SYSTEM account
and to local administrators. Set the ACL for the base key to be accessible to these accounts only.
As a best practice, place start session scripts in the View_Agent_install_path\scripts directory, for
example:
%ProgramFiles%\VMware\VMware View\Agent\scripts\sample.vbs

By default, this directory is accessible only by the SYSTEM and administrator accounts.

Preparing a View Desktop to Use a Start Session Script
To prepare a View desktop to use a start session script, you must enable the VMware View Script Host
service and add entries in the Windows registry.
You must configure all View desktops that need to run start session scripts. View does not provide a
mechanism to propagate registry changes, VMware View Script Host service configuration changes, and
start session scripts to multiple View desktop virtual machines.

VMware, Inc.

55

View Integration

Enable the VMware View Script Host Service
You must enable the VMware View Script Host service on each View desktop virtual machine where you
want View to run a start session script. The VMware View Script Host service is disabled by default.
When you configure the VMware View Script Host service, you can optionally specify the user account
under which the start session script runs. Start session scripts run in the context of the VMware View
Script Host service. By default, the VMware View Host Script service is configured to run as the SYSTEM
user.
Important Start session scripts are run outside a desktop user session and not by the desktop user
account. Information is sent directly from the client computer within a script running as the SYSTEM user.
Procedure

1

Log in to the View desktop virtual machine.

2

At the command prompt, type services.msc to start the Windows Services tool.

3

In the details pane, right-click the VMware View Script Host service entry and select Properties.

4

On the General tab, select Automatic from the Startup type drop-down menu.

5

(Optional) If you do not want the local System account to run the start session script, select the Log
On tab, select This account, and type the user name and password of the account to run the start
session script.

6

Click OK and exit the Windows Services tool.

Add Windows Registry Entries for a Start Session Script
You must add Windows registry entries on each View desktop virtual machine where you want View to
run a start session script.
Prerequisites
n

n

Verify that the path where you configured your start session scripts is accessible only to the SYSTEM
account and local administrators. For more information, see Making Start Session Scripts Accessible.
Make sure your start session scripts run quickly. If you set the WaitScriptsOnStartSession value
in the Windows registry, your start session script must finish running before Horizon Agent can
respond to the StartSession message that View Connection Server sends. For more information, see
Managing Start Session Timeouts.

Procedure

1

Log in to the View desktop virtual machine.

2

At the command prompt, type regedit to start the Windows Registry Editor.

3

In the registry, navigate to HKLM\SOFTWARE\VMware, Inc.\VMware VDM\ScriptEvents.

VMware, Inc.

56

View Integration

4

Add the path to the start session script to the registry.
a

In the navigation area, right-click ScriptEvents, select New > Key, and create a key named
StartSession.

b

In the navigation area, right-click StartSession, select New > String Value, and create a string
value that identifies the start session script to run, for example, SampleScript.
To run more than one start session script, create a string value entry for each script under the
StartSession key. You cannot specify the order in which these scripts run. If the scripts must
run in a particular order, invoke them from a single control script.

c

In the topic area, right-click the entry for the new string value and select Modify.

d

In the Value data text box, type the command line that invokes the start session script and click
OK.
Type the full path of the start session script and any files that it requires.

5

Add and enable a start session value in the registry.
a

Navigate to HKLM\SOFTWARE\VMware, Inc.\VMware VDM\Agent\Configuration.

b

(Optional) If the Configuration key does not exist, right-click Agent, select New > Key, and
create the key.

c

In the navigation area, right-click Configuration, select New > DWORD (32 bit) Value, and
type RunScriptsOnStartSession.

d

In the topic area, right-click the entry for the new DWORD value and select Modify.

e

In the Value data text box, type 1 to enable start session scripting and click OK.
You can type 0 to disable this feature. The default value is 0.

f

(Optional) To delay the StartSession response by Horizon Agent, add a second DWORD value to
the Configuration key called WaitScriptsOnStartSession.
A WaitScriptsOnStartSession data value of 1 causes Horizon Agent to delay sending a
StartSession response and fail if the scripts do not complete. A value of 0 means that
Horizon Agent does not wait for the scripts to complete or check script exit codes before sending
the StartSession response. The default value is 0.

6

Set a registry value to specify timeout values in seconds rather than minutes to prevent scripts from
timing out.
Setting this timeout value in seconds enables you to configure the VMware View Script Host service
timeout value in seconds. For example, if you set the VMware View Script Host service timeout to 30
seconds, you can ensure that a start session script either finishes running or times out before a View
Connection Server timeout occurs.
a

Navigate to HKLM\SOFTWARE\VMware, Inc.\VMware VDM\ScriptEvents.

b

Add a DWORD value called TimeoutsInMinutes.

c

Set a data value of 0.

VMware, Inc.

57

View Integration

7

(Optional) To enable the VMware View Script Host service to time out the start session script, set a
timeout value.
a

Navigate to HKLM\SOFTWARE\VMware, Inc.\VMware VDM\ScriptEvents\StartSession.

b

In the topic area, right-click the Default (@) key and select Modify.

c

In the Value data text box, type the timeout value and click OK.
A value of 0 means that no timeout is set.

8

Exit the Registry Editor and restart the system.

Sample Start Session Scripts
These sample start session scripts illustrate how to write environment variables to a file, test the timeout
functionality, and test a non-zero exit code.
The following sample Visual Basic script writes all the environment variables provided to the script into a
file. You can use this sample script to see example data in your own environment. You might save this
script as C:\sample.vbs.
Option Explicit
Dim WshShell, FSO, outFile, strOutputFile, objUserEnv, strEnv
strOutputFile = "c:\setvars.txt"
Set FSO = CreateObject("Scripting.fileSystemObject")
Set outFile = FSO.CreateTextFile(strOutputFile, TRUE)
outFile.WriteLine("Script was called at (" & Now & ")")
Set WshShell = CreateObject( "WScript.Shell" )
Set objUserEnv = WshShell.Environment("PROCESS")
For Each strEnv In objUserEnv
outFile.WriteLine(strEnv)
Next
outFile.Close

The following sample script tests the timeout functionality.
Option Explicit
WScript.Sleep 60000

The following sample script tests a non-zero exit code.
Option Explicit
WScript.Quit 2

VMware, Inc.

58



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Author                          : VMware, Inc.
Create Date                     : 2017:11:17 10:09:57-08:00
Modify Date                     : 2017:11:17 10:09:57-08:00
Creator                         : AH XSL Formatter V6.3 MR1 for Windows (x64) : 6.3.2.23978 (2016/03/18 11:26JST)
Producer                        : Antenna House PDF Output Library 6.3.762 (Windows (x64))
Title                           : View Integration - VMware Horizon 7 7.3
Trapped                         : False
Page Count                      : 58
Page Mode                       : UseOutlines
Page Layout                     : SinglePage
Language                        : EN
EXIF Metadata provided by EXIF.tools

Navigation menu