Product Documentation

Start-LogHighLevelOperation

Nov 17, 2015

Logs the start of a high level operation.

Syntax

Start-LogHighLevelOperation -Text <String> -Source <String> [-StartTime <DateTime>] [-OperationType <OperationType>] [-TargetTypes <String[]>] [-Parameters <Hashtable>] [-AdminAddress <String>] [<CommonParameters>]

Detailed Description

Start-LogHighLevelOperation creates a log entry to record the start of a high level operation.

Start-LogHighLevelOperation can be called to log high level configuration changes which originate from customized configuration scripts. Start-LogHighLevelOperation should be called before the script invokes service SDK cmdlets which execute the configuration changes.

Start-LogHighLevelOperation returns a HighLevelOperation object which contains information about the started high level operation. The "Id" property of the returned HighLevelOperation uniquely identifies the started high level operation. This can be supplied into the "-LoggingId" parameter which is implemented in all service SDK cmdlets which execute loggable configuration changes.

High level operation logs are automatically created by the XenDesktop consoles when:

o Initiating an operation which performs configuration changes.

o Initiating an operation which performs an administration activity.

Configuration Change and Administrator Activity

-----------------------------------------------

A configuration change is an operation which alters the configuration of the XenDesktop site. Examples of a configuration changes include:

o Creating or editing a host.

o Creating or editing a catalog.

o Adding a user to a delivery group.

o Deleting a machine.

An administrator activity operation doesn't directly alter site configuration, but it could be an operation carried out by an administrator as part of site management or helpdesk support. Examples of administrator activities include:

o Shutdown/start/restart of a user desktop.

o Studio or Director sending a message to a user.

o Rebooting a user's desktop.

Once the change being logged has completed (whether successfully or not) the Stop-LogHighLevelOperation cmdlet should be called to log the completion of a started high level operation.

Parameters

-Text<String>

Specifies text to describe the high level operation.

Required? true
Default Value  
Accept Pipeline Input? false

-Source<String>

Specifies the source of the high level operation.

Required? true
Default Value  
Accept Pipeline Input? false

-StartTime<DateTime>

Specifies the start time of the high level operation.

Required? false
Default Value DateTime.UtcNow
Accept Pipeline Input? false

-OperationType<OperationType>

Specifies the type of operation being logged. Values can be:

o AdminActivity - If the operation being logged performs an administration activity.

o ConfigurationChange - If the operation being logged performs a configuration change.

Required? false
Default Value ConfigurationChange
Accept Pipeline Input? false

-TargetTypes<String[]>

Specifies the names of the object types that will be affected by the operation being logged.

Required? false
Default Value  
Accept Pipeline Input? false

-Parameters<Hashtable>

Specifies the names and values of parameters that are supplied to the operation being logged.

Required? false
Default Value  
Accept Pipeline Input? false

-AdminAddress<String>

Specifies the address of a XenDesktop controller the PowerShell snap-in will connect to. You can provide this as a host name or an IP address.

Required? false
Default Value Localhost. Once a value is provided by any cmdlet, this value becomes the default.
Accept Pipeline Input? false

Return Values

Citrix.ConfigurationLogging.Sdk.HighLevelOperation

The newly logged high level operation start.

Examples

-------------------------- EXAMPLE 1 --------------------------

C:\PS> $succeeded = $false #indicates if high level operation succeeded. 
C:\PS> # Log high level operation start. 
C:\PS> $highLevelOp = Start-LogHighLevelOperation -Text "Create catalog" -Source "My Custom Script" 
C:\PS> 
C:\PS> try 
C:\PS> { 
C:\PS>   # Create catalog object 
C:\PS>   $catalog = New-BrokerCatalog -Name "MyCatalog" -ProvisioningType Manual -AllocationType Permanent -MinimumFunctionalLevel 'LMAX' -LoggingId $highLevelOp.Id 
C:\PS> 
C:\PS>   # Add a machine to the catalog 
C:\PS>   $machine = New-BrokerMachine -CatalogUid $catalog.Uid -MachineName "DOMAIN\Machine" -LoggingId $highLevelOp.Id 
C:\PS>   $succeeded = $true 
C:\PS> } 
C:\PS> catch{ "Error encountered" } 
C:\PS> 
C:\PS> finally{ 
C:\PS>   # Log high level operation stop, and indicate its success 
C:\PS>   Stop-LogHighLevelOperation -HighLevelOperationId $highLevelOp.Id -IsSuccessful $succeeded 
C:\PS> }

Creates an unmanaged catalog and assigns a machine to it, within the scope of a high level operation start and stop. The identifier of the high level operation is passed into the "-LoggingId" parameter of the service SDK cmdlets. The execution of the cmdlets in the services will create the low level operation logs for the supplied high level operation.