Start-LogHighLevelOperation
Logs the start of a high level operation.
Syntax
Start-LogHighLevelOperation
[-StartTime <DateTime>]
-Text <String>
-Source <String>
[-OperationType <OperationType>]
[-TargetTypes <String[]>]
[-Parameters <Hashtable>]
[<CitrixCommonParameters>]
[<CommonParameters>]
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:
-
Initiating an operation which performs configuration changes.
-
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:
-
Creating or editing a host.
-
Creating or editing a catalog.
-
Adding a user to a delivery group.
-
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:
-
Shutdown/start/restart of a user desktop.
-
Studio or Director sending a message to a user.
-
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.
Examples
EXAMPLE 1
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.
$succeeded = $false #indicates if high level operation succeeded.
# Log high level operation start.
$highLevelOp = Start-LogHighLevelOperation -Text "Create catalog" -Source "My Custom Script"
try
{
# Create catalog object
$catalog = New-BrokerCatalog -Name "MyCatalog" -ProvisioningType Manual -AllocationType Permanent -MinimumFunctionalLevel 'LMAX' -LoggingId $highLevelOp.Id
# Add a machine to the catalog
$machine = New-BrokerMachine -CatalogUid $catalog.Uid -MachineName "DOMAIN\Machine" -LoggingId $highLevelOp.Id
$succeeded = $true
}
catch{ "Error encountered" }
finally{
# Log high level operation stop, and indicate its success
Stop-LogHighLevelOperation -HighLevelOperationId $highLevelOp.Id -IsSuccessful $succeeded
}
Parameters
-Text
Specifies text to describe the high level operation.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-Source
Specifies the source of the high level operation.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-StartTime
Specifies the start time of the high level operation.
| Type: | DateTime |
| Position: | Named |
| Default value: | DateTime.UtcNow |
| Required: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-OperationType
Specifies the type of operation being logged. Values can be:
-
AdminActivity - If the operation being logged performs an administration activity.
-
ConfigurationChange - If the operation being logged performs a configuration change.
| Type: | OperationType |
| Position: | Named |
| Default value: | ConfigurationChange |
| Required: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-TargetTypes
Specifies the names of the object types that will be affected
by the operation being logged.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Required: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-Parameters
Specifies the names and values of parameters that are supplied to the operation being logged.
| Type: | Hashtable |
| Position: | Named |
| Default value: | None |
| Required: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
CitrixCommonParameters
This cmdlet supports the common Citrix parameters: -AdminAddress, -AdminClientIP, -BearerToken, -TraceParent, -TraceState and -VirtualSiteId. For more information, see about_CitrixCommonParameters.
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
Inputs
None
You can't pipe objects to this cmdlet.
Outputs
Citrix.ConfigurationLogging.Sdk.HighLevelOperation
The newly logged high level operation start.