using Microsoft.SqlServer.Management.SqlParser.IntegrationServices; public class MyTask : Executable { public override bool Execute() { ITaskContextInternal context = this.TaskExecutionContext.TaskContext as ITaskContextInternal; // retrieve current culture CultureInfo currentCulture = context.CultureInfo; // retrieve current user principal WindowsIdentity currentUser = context.Principal.Identity as WindowsIdentity; // set current timezone TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"); context.SetTimeZone(timeZone); // return true if the task is executed successfully return true; } }In this example, we create a custom task that inherits from the `Executable` class, which is a base class for all SSIS tasks. In the `Execute` method of the task, we retrieve and set task-specific context information using the ITaskContextInternal interface. The `CultureInfo` property retrieves the current culture, the `Principal` property retrieves the current user principal, and the `SetTimeZone` method sets the current timezone to Pacific Standard Time. The ITaskContextInternal interface is part of the Microsoft.SqlServer.Management.SqlParser.IntegrationServices namespace, which is included in the Microsoft.SqlServer.IntegrationServices.Scripts.dll library.