Chat now with support
Chat with Support

Unified Communications Analytics 8.6 - Resource Kit

Initializing the client library

For a query to be executed, you must create a connection to the OData client library. All examples include this information but the initialization step is highlighted here:

# ------------------------------------------------------------------------------------------------------------------------

# Initialize client library

$clientLibraryPath = "..\UC.Analytics.Insights.ResourceKit.ODataClientLibrary.dll"

$additionalLibraryPath = "..\Simple.OData.Client.Net40.dll"

try

{

Add-Type -Path $clientLibraryPath

Add-Type -Path $additionalLibraryPath

$serverUrl = "http://" + $analyticsServerName

$clientLibrary = New-Object UC.Analytics.Insights.ResourceKit.ODataClientLibrary.AnalyticsQueryClient($serverUrl)

}

catch

{

Write-Host "Encounter error : $Error[0].Message"

Exit

}

For the initialization step, the following rules apply:

The libraries required to run the PowerShell commands are located at:

The initialization code assumes that the script files in the Samples subdirectory are open. If you move your script file, you must update the initialization code to explicitly point to the new location of the dependent library files.

Introducing the query structure

Once initialization is complete, the next step is to define the query. UC Analytics supports two types of queries:

Aggregate queries are queries that take a collection item and aggregate a metric over a given time period. For example, a query might show the number of messages sent by mailboxes over the last month.

Object queries are queries that query the objects in database. For example, a query might show all mailboxes with the Display Name, Primary Email Address, and Custom Attribute 8.

Each main clause is described later in this section.

Common query items

The query syntax is generic but order does matter. If you are familiar with C# LinQ, you might expect that you can change the order. However, for all OData library queries, you must enter the clauses in the order in which they are shown in the examples.

Also, the command structure shows a single command over multiple lines, which can be done in PowerShell. But to implement this option, you must include the backtick character `. Without the backtick character, your command will not work.

UC Analytics has a number of object items. To see a list of the items, run a PowerShell command called DataModelSamples.ps1 in the Samples folder. When you run the DataModelSamples.ps1 command, it lists all the available object types. Since the object types can change over time, it is important to run the command for your version of UC Analytics.

The following list shows the main object types in UC Analytics:

EmailMessage

EmailFileAttachment

EmailMailboxDelegateSnapshot

EmailMailboxDelegateSnapshot

EmailMailboxPermissionSnapshot

EmailMailboxSnapshot

ActiveDirectoryObjectSnapshot

CiscoConference

CiscoConferenceSession

CiscoCucmGroupSnapshot

CiscoCucmGroupSnapshot

CiscoCucmServerSnapshot

CiscoCucmServerSnapshot

CiscoDevicePoolSnapshot

CiscoDevicePoolSnapshot

CiscoDeviceSnapshot

CiscoDeviceSnapshot

CiscoDirectoryNumberSnapshot

CiscoGatewaySnapshot

CiscoGatewaySnapshot

CiscoPeerToPeerSession

CiscoUserConfigurationSnapshot

CrossPlatformActivity

DnsDomain

EmailPersonalArchiveMailboxSnapshot

EmailPersonalArchiveMailboxSnapshot

ExchangeActiveSyncEvent

ExchangeAppointment

ExchangeAppointmentAttachment

ExchangeAppointmentParticipant

ExchangeDatabaseAvailabilityGroupSnapshot

ExchangeDatabaseCopySnapshot

ExchangeDatabaseSnapshot

ExchangeDlpMatch

ExchangeLegacyPublicFolderReplicaSnapshot

ExchangeLegacyPublicFolderReplicaSnapshot

ExchangeLegacyPublicFolderSnapshot

ExchangeOrganizationSnapshot

ExchangePublicFolderSnapshot

ExchangePublicFolderSnapshot

ExchangeServerAddressSnapshot

ExchangeServerSnapshot

LyncArchivingPolicySnapshot

LyncConference

LyncConferenceMediaSession

LyncConferencingPolicySnapshot

LyncExternalAccessPolicySnapshot

LyncPeerToPeerSession

LyncPoolSnapshot

LyncQoeMediaSession

LyncQoeSession

LyncQoeSubnetSnapshot

LyncServerSnapshot

LyncUserConfigurationSnapshot

MobileDeviceSnapshot

Office365UserSubscriptionLicenseSnapshot

Office365UserSubscriptionServiceSnapshot

Office365UserSubscriptionSnapshot

Many sections require an attribute name and there is a naming convention for these attributes. The names are identified in the output of DataModelSamples.ps1 command. You must specify the full attribute name if it transcends the associated objects.

Finding a full attribute name

The following walkthrough explains the process of finding the full attribute name for an object. Suppose that you want to filter all email messages by the sender’s department.

First, you run the DataModelSamples.ps1 to get a list of all the objects and their attributes.

The final step is to follow the attributes to establish the full attribute name. You use a period to separate the items. The required items are bolded to make it easy to see.

In the example, the field would be: EmailAddress.Person.Department. You do not need to enter the first item as the query assumes that you will be starting from the Object Item.

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating