Microsoft.PowerShell.Workflow.ServiceCore Cache size Path to Windows folder Cache of workflow details. This is unbounded this is the cache of compiled activities which will be bounded this is separate since Opalis will not use our cache Compiles the activity and adds it to the cache before returning it. WorkflowJobDefinition defined to represent a compiled activity. Activity Tree used for external activities indicates if the specified xaml is a Windows workflow Activity compiled from xaml given, or retrieved from cache. Null if not found. Remove a cached definition. Needed when functions are removed to release resources. Xaml definition to remove. True if succeeded. Return the singleton instance. Returns the same object is the specified job definition is a WorkflowJobDefinition. If not creates a new one and assigns the same job definition to check WorkflowJobDefinition equivalent A cmdlet to load WF Workflows, expressed as XAML and wrap them in functions. Process all of the specified XAML files to generate corresponding functions Load a workflow XAML file from the specified path and generate a PowerShell function from the file. The name of the generated function will be the basename of the XAML file. The name of workflow. The xaml of workflow. Any workflows required by this workflow. Path to the dependent assembly. Resolved Path of the xaml Generate a function in the current session using the specified function details details of the function Executes an instance of the workflow object graph identified by the passed GUID, binding parameters from the Parameters hastable. The powershell commond. The GUID used to identify the workflow to run. The parameters to pass to the workflow instance. The friendly name for the job True if there was a PSParameters collection Convert the Xaml based workflow into object-graph activity. Xaml representing workflow. Activity representing the workflow. Convert the Xaml based workflow into object-graph activity with additional xamls assembly provided. Xaml representing workflow. Any workflows required by this workflow. The path to the compiled assembly for any dependent workflows. The compiled assembly. The compiled assembly name. Activity representing the workflow. the attribute string to use for the workflow, should be '[CmdletBinding()]' Adds common workflow parameters Paths to the XAML files to load. Wild cards are supported. Paths to the dependent XAML files to load. Wild cards are supported. Paths to the dependent XAML files to load. Wild cards are supported. Flags -force operations Retrieve a localized error message saying that only a single default parameter collection can be specified Retrieve a localized error message saying that AsJob, JobName and PSParameterCollection cannot be specified as entries to PSParameterCollection Retrieve a localized error message saying that the only AsJob, JobName and InputObject can be used outside of PSParameterCollection. Retrieve a localized error message saying that starting the workflow failed... Define the various unicode special characters that the parser has to deal with. Specifies the action that occurs when a workflow becomes idle when persistence is allowed. No or null action is defined so fall back to default. Specifies that no action is taken. Specifies that the System.Activities.WorkflowApplication should persist the workflow. Specifies that the System.Activities.WorkflowApplication should persist and unload the workflow. The job will remain in running state because aysnc operation (out of proc or remote operation) is in progress. The System.Activities.WorkflowApplication will be loaded when async operation gets completed. Specifies that the System.Activities.WorkflowApplication should persist and unload the workflow and Job is marked as suspended. This class encapsulate the guid to avoid the confusion be job instance id and workflow instance id. Default constructor Constructor which takes guid. NewWorkflowGuid Gets Guid WorkflowOnHandledErrorAction Suspend Stop Terminate Possible workflow instance creation modes. Workflow instance created normally. Workflow instance created normally. Collects all the information related to a workflow instance. WorkflowInstance _syncLock DoStopInstance DoAbortInstance Reason for aborting workflow. DoTerminateInstance DoResumeInstance DoSuspendInstance DoExecuteInstance DoResumeBookmark Loads the xaml to create an executable activity. Remove DoPersistInstance DoGetPersistableIdleAction Dispose CheckForTerminalAction Load instance for resuming the workflow PerformTaskAtTerminalState Validate label Dispose Dispose the streams to save memory _disposed Synchonization object available to derived classes. Gets the Guid of workflow instance. JobStateRetrieved On completed handler. On faulted handler. On stopped handler. On aborted handler. On suspended handler. On idle handler. On persistable idle action handler. On unloaded handler. On completed handler. On faulted handler. On stopped handler. On aborted handler. On suspended handler. On idle handler. On persistable idle action handler. On unloaded handler. PSWorkflowJob Gets the Guid of workflow instance. State InstanceStore Gets the definition of workflow. Gets the streams of workflow. Gets the streams of workflow. Gets the timers of workflow. Gets the metadatas of workflow. Tracer initialization. Workflow Application executes the workflow and it is part of CLR 4.0. The Guid, which represents the unique instance of a workflow. Workflow definition. Workflow output, which represent all streams from the workflow. Workflow error exception, which represent the terminating error workflow. Workflow metadatas. Workflow timers. The workflow creation mode. Workflow instance constructor. The workflow definition. The metadata which includes parameters etc. This is input coming from pipeline, which is added to the input stream. Workflow instance constructor for shutdown or crashed workflows. Load instance for resuming the workflow PerformTaskAtTerminalState Save streams if they are not already persisted false, if persistence was attempted and there was an error true - otherwise Dispose the streams to save memory DoStopInstance DoAbortInstance Reason for aborting workflow. DoTerminateInstance DoResumeInstance DoSuspendInstance DoExecuteInstance DoResumeBookmark Loads the xaml to create an executable activity. Remove DoPersistInstance DoGetPersistableIdleAction Dispose Construct the workflow tracking participant. Returns the workflow tracking participant. CheckForTerminalAction Validate if the label exists. Gets the Guid of workflow instance. PSWorkflowJob Gets the Guid of workflow instance. InstanceStore Gets the definition of workflow. Gets the streams of workflow. Gets the streams of workflow. Gets the timers of workflow. Gets the metadatas of workflow. Workflow Job type implementation. For use with the WorkflowJobSourceAdapter. Input parameters to the workflow instance. Provide validation of constructor parameter that could cause NullReferenceException. JobInvocationInfo for construction. specification parameter if not null. DoSuspendJob returns a bool, but in the case of a SuspendJob call, we do not want to return until the job is in the correct state. The boolean return value is used by the WorkflowManager for Shutdown purposes. Do Set Job State returns false if state tranition is not possible. Return value is required to update SQM perf counters Create necessary dictionaries for WorkflowManager consumption based on StartParameters. DoResumeBookmark The Bookmark which needs to be resumed. The state, which will be passed to the activity, which gets resumed. Unloads the streams of the job. To be called from this class only Helper function to check if job is finished Construct a PSWorkflowJob. JobInvocationInfo representing the command this job will invoke. Construct a PSWorkflowJob. JobInvocationInfo representing the command this job will invoke. Implementation of this method will allow the delayed loadig of streams. Unloads job streams information. Enables jobs to clear stream information from memory start a job. The job will be started with the parameters specified in StartParameters It is redudant to have a method named StartJob on a job class. However, this is done so as to avoid an FxCop violation "CA1716:IdentifiersShouldNotMatchKeywords" Stop and Resume are reserved keyworks in C# and hence cannot be used as method names. Therefore to be consistent it has been decided to use *Job in the name of the methods Start a job asynchronously Stop a job asynchronously Suspend a job Asynchronously suspend a job Stop Job Stop Job Asynchronously Suspend Job Suspend Job Asynchronously Resume a suspended job Resume a suspended job ResumeBookmark ResumeBookmark ResumeBookmark GetPersistableIdleAction Resume a suspended job asynchronously. Resume a suspended job asynchronously. Unblock a blocked job Unblock a blocked job asynchronously Check and add StateChanged event handler Delegate action on workflow idling Delegate function on workflow persist idle action Delegate action on workflow unloaded Signaled when job reaches running state Signaled when job finishes suspending or aboring Job input parameters Job input parameters including system provided parameters Job metadata collection Job invoker metadata collection Workflow instance for the job Success status of the command execution. Indicates that more data is available in this result object for reading. Indicates a location where this job is running. Adapter that allows workflow instances to be exposed as jobs in PowerShell. NOTE: This class has been unsealed to allow extensibility for Opalis. Further thought is needed around the best way to enable reuse of this class. Gets the WorkflowJobSourceAdapter instance. GetJobManager GetPSWorkflowRunTime Create a new job with the specified JobSpecification. specification job object Get the list of jobs that are currently available in the workflow instance table. collection of job objects Get list of jobs that matches the specified names names to match, can support wildcard if the store supports collection of jobs that match the specified criteria Get list of jobs that run the specified command command to match collection of jobs that match the specified criteria Get list of jobs that has the specified id Guid to match job with the specified guid Get job by session id. The session id. The returned job2 object. Get list of jobs that are in the specified state state to match collection of jobs with the specified state Get list of jobs based on the adapter specific filter parameters dictionary containing name value pairs for adapter specific filters collection of jobs that match the specified criteria Remove a job from the store job object to remove Searches a list of jobs with a given set of filters for all the V2 search parameters. This function searches in a specific order so that a get call from an API returns without having to do much processing in terms of wildcard pattern matching incoming enumeration of jobs to search dictionary of filters to use as search criteria narrowed down list of jobs that satisfy the filter criteria Handles the wsman server shutting down event. sender of this event arguments describing the event Called from tests to cleanup instance table Provides interface to upper layers of M3P for calling the Workflow core functionality. Throttles the number of jobs run simultaneously. Used to control the number of workflows that will execute simultaneously The class name. if these many workflows are run without a GC in between them, then we will force a GC this is set to a date in the past so that the first time GC happens correctly Construct a workflow manager LoadJob Contains the logic for running garbage collection if true, time check will not be done and a forced garbage collection will take place This method ensures that garbage collection runs from only one thread at a time SubmitOperation Create a workflow job by providing the activity-tree representing the workflow. Create a workflow job by providing the xaml representing the workflow. CreateJob ShutdownWorkflowManager is responsible suspending all the workflow and if suspend doesn't happen within timeout then calling the force suspend. The shutdown timeout in milliseconds. Returns the workflow job currently loaded in memory with provided id. This function DOES NOT try load the job from the store if not found in memory Loads and returns all workflow jobs. Returns the collection workflow jobs. Loads and returns all workflow jobs based on provided filters. Represent which type of data needs to be used to apply filter. Filters represents the key value pair of conditions. Returns the collection of workflow instances. Loads and returns all workflow jobs based on provided filters. PSWorkflowJob search list Represent which type of data needs to be used to apply filter. Filters represents the key value pair of conditions. Returns the collection of workflow instances. The dictionary of workflow instances. Add a job to the manager. Retrieves job from the manager. The job instance Id. The workflow instance Id. Returns the job. Remove the workflow with provided job instance id. The job instance id. Unload/Forget the workflow with provided job instance id. This method is used to dispose unloaded idle workflows. The job instance id. UnloadAllJobs Indicates whether the dedicated thread to start jobs is required The thread needs to started only the first time This property helps in delay creation of the thread Provides list of workflow filter types. Empty flags - not used, would indicate to search no collections. Filters will be applicable to job metadata collection. Filters will be applicable to caller private metadata collection. Filters will be applicable to workflow specific parameters defined by the workflow author. Filters will be applicable to common parameters on all workflows. Use all filters. Possible states of workflow instance. Not initialized with any workflow yet. Workflow execution is loaded but not yet started. Workflow is currently executing. Workflow execution is completed. Faulted state, once the workflow execution is completed. Canceled state, once the workflow execution is completed. Aborted state, once the workflow execution is completed. Un-handled exception and termination state, once the workflow execution is completed. Workflow is currently unloaded. Workflow is currently unknown. Provides an event definition for the status of a workflow. The instance id. The workflow instance state. The workflow unhandled exception. Constructor with instance id and state. The workflow Id. The state of workflow The unhandled exception, occurs when streams are closed. Gets instance id. Gets instance state. Gets unhandled exception. Contains members that allow for controlling the PowerShell workflow engine validation mechanism. The custom validator delegate to use in this engine Validate all the activities in the workflow to check if they are allowed or not. PSWorkflowValidator Validate the workflow, if it is using the allowed activities. The workflow, which needs to be validated. The additional runtime assembly, which is needed in validation process. This class is responsible for compiling dependent workflows. The template project which is used for default project values. Default constructor. Compiling the workflow xamls into the assembly. Return true/false to indicate whether the processor architecture is ARM The runtime generated project name. The runtime generated Project folder path. The runtime generated Project file path (.csprj file). The runtime generated build log path. The runtime gnerated assembly name. The runtime generated assembly path. The returned code of project.Build. Contains members that allow the addition of custom extension to the PowerShell workflow engine. The custom workflow extensions delegate to use in this engine Implementing the workflow tracking participant, this will established with communication between activities and hosting engine to perform additional task like persistence and logging etc. Default constructor. Retreive each type of tracking record and perform the corresponding fucntionality. Represents the tracking record. Time out for the tracking to be completed. Process the workflow instance record. Record representing workflow instance record. process the activity state record. Record representing activity state record. Process the custom tracking record. This record will contain the persistence detail. Record representing custom tracking record. Define all the metadatas. The parameters, which need to be passed to the workflow engine. The ubiquitous parameters, which are also passed to the engine. The metadata, which contains all the information related to job and client like, job-id, connnection-id and application-id etc. The metadata, which is specific to the caller and doesn't contain any information related to workflow execution. Default Constructor. Workflow metadatas constructor. The parameters, which need to be passed to the workflow engine. The ubiquitous parameters, which are also passed to the engine. The metadata, which contains all the information related to job and client like, job-id, connnection-id and application-id etc. The metadata, which is specific to the caller and doesn't contain any information related to workflow execution. Gets the input to workflow. Gets the input to workflow. Gets the input to workflow. Gets the input to workflow. Define all the metadatas. Workflow instance constructor. The workflow definition, represented in object-graph. The workflow xaml definition. The path to the runtime assembly. Gets sets the workflow. Gets sets the workflow xaml. Gets sets the runtime assembly path. Workflow timer types. Define all the workflow related timers. Default Constructor Creates a workflow timer for a workflow instance based on a BLOB Retrieves timers as a BLOB Disope implementation. Protected virtual implementation of Dispose. PSWorkflowPerformanceCounterSetInfo class contains the data essential to create an instance of PSCounterSetRegistrar for monitoring workflow performance If some other assemblies (e.g. Microsoft.PowerShell.Workflow.Activities) need access to the counters, then they would need to specify the CounterSetId, alongwith the counterId. Hence, CounterSetId is public. PSWorkflowPerformanceCounterIds enumerates the list of valid performance counter ids related to Powershell Workflow. NOTE: The prime reason for making this not an enum are as follows: (1) Everytime the enum will have to be typecasted to an int before invoking any of the Performance Counters API. (2) In case of M3P, its possible that some of the perf counters might be updated by ActivityBase assembly, in which such perf counter ids might need to have public access modifier, instead of internal. CompareConnectionUri compares two connection URIs by doing a comparison of elements. Connection info 1 Connection info 2 True if they match else false. CompareShellUri compares two shell URIs by doing a string of elements. Shell Uri 1 Shell Uri 2 True if they match else false. CompareAuthentication compares two authentication mechanisms. Authentication mechanism 1 Authentication mechanism 2 True if they match else false. CompareCredentials compares two PSCredential credentials by doing a username and password comparison . Credential 1 Credential 2 True if they match else false. ComparePassword uses native functions to perform a string match on two SecureString passwords by doing a strict byte level comparison is done on the two strings. The use of ReadByte allows the function to execute without marking the assembly as unsafe. Password 1 Password 2 True if they match else false. CompareCertificateThumbprint compares two certificate thumbprints by doing a string comparison. Certificate Thumbprint 1 Certificate Thumbprint 2 True if they match else false. CompareProxySettings compares the proxy settings for two wsman connections by doing a comparison of elements. Connection info 1 Connection info 2 True if they match else false. CompareOtherWSManSettings compares the rest of the wsman settings for two wsman connections by doing a comparison of elements. Connection info 1 Connection info 2 True if they match else false. A generic base class for IAsyncResult implementations that wraps a ManualResetEvent. A strongly typed AsyncResult. A strongly typed AsyncResult that completes as soon as it is instantiated. This class implements the functionality for storing the streams data on to the disk. WorkflowInstanceStore PSWorkflowInstanceStore CreatePersistenceIOParticipant CreateInstanceStore Save DoSave Load DoLoad Delete DoDelete PSWorkflowInstance Returns all Workflow guids. PSWorkflowFileInstanceStore ctor CreateInstanceStore CreatePersistenceIOParticipant To be called from test code only. DoSave Delete To be called from test code ONLY. DoLoad Encrypt Decrypt Serialize an object and directly write to the file object to serialize file to write to number of bytes written This class implements the encrypt and decrypt functionality. Tracer initialization. The additional entroy for security 'POWERSHELLWORKFLOW' Protect the data. The input data for encryption. Returns encrypted data. Unprotect data the encrypted data. Encrypted data. Returns decrypted data. This class implements the encrypt and decrypt functionality. this method is not thread safe Whether the operation reprensented by this method is completed Wait Handle for the operation Optional user specified state Whether this operation completed synchronously Activity Host Manager which will spawn a set of activity host processes until all of them are used after which it will start queueing requests Whether this class needs to remain public should be evaluated Activity host manager interface. This interface can be used to implement various activity hosts Runtime should be provided for excessing the runtime activity mode Identifies whether the specified activity should run in the activity host or in-proc activity that needs to be verified true, if the activity should run in the activity host false otherwise Stack of available host processes Queue of requests List of requests that need to be invoked again due to process crash This is a helper method which should only be called from test code to reset stuff Handler method which runs a specific command in the specified process Checks to see if a thread is servicing requests. If not starts one Method which performs the actual servicing of requests Unregisters all wait handles and disposes a process Method called by servicing thread. This method will run the command in the specified process on a separate thread Begin invocation of command specified in activity pipeline of command to execute input collection output collection policy to use for the activity optional callback optional caller specified state IAsyncResult Block until operation is complete on the current thread IAsyncResult to block on Cancels an already started execution async result to cancel PSWorkflowConfigurationProvider Default constructor Using optionName and optionValue updates the current object PSWorkflowConfigurationProvider Populate the global configuration object with information from the configuration xml private data associated with the endpoint CreatePSActivityHostController CreatePSWorkflowInstance CreatePSWorkflowInstance CreatePSWorkflowInstanceStore CreateWorkflowExtensions CreateWorkflowExtensionCreationFunctions CreateRemoteRunspaceProvider Local runspace provider To be called only by test code Get Activity Run Mode InPocess or Out of process CurrentUserIdentity returns the current user ConfigProviderId PersistencePath MaxPersistenceStoreSizeGB PersistWithEncryption MaxRunningWorkflows AllowedActivity OutOfProcActivity EnableValidation MaxDisconnectedSessions MaxConnectedSessions MaxSessionsPerWorkflow MaxSessionsPerRemoteNode MaxActivityProcesses WorkflowApplicationPersistUnloadTimeoutSec Local Machine Runspace Language Mode ActivityProcessIdleTimeOutSec RemoteNodeSessionIdleTimeOutSec SessionThrottleLimit WorkflowShutdownTimeoutMSec - the maximum time allowed to suspend the workflows before aborting them. MaxInProcRunspaces Encapsulates an out of process activity host This class is not thread safe. Caller has to ensure thread safety of accessing internal properties This the period of time for which the process will remain inactive. Afterwards it will be killed Use this flag to flip between IPC process and WSMan process in localhost Initialize a connection info object in the static constructor It can be reused for all connections Get the runspace corresponding to this process indicates if a new runspace needs to be created runspace object Depending on the option return an Out-of-proc or remoting runspace on localhost runspace object for use Opens the specified runspace. If there are any errors in opening the runspace, the method just eats them so that an unhandled exception in the background thread in which this method is invoked does not lead to a process crash runspace to open Import all the specified modules in the specified runspace runspace in which to import the modules collection of modules to import true if setting up of runspace from policy succeeded Set the specified variables in the runspace runspace in which the variables need to be set collection of variables that need to be set Set the busy flag since the process is being used. Stop the idle timer Reset the busy flag and start the idle timer Idle timeout has occured. If the runspace is not being used just close it sender of this event unused Handles a transport error since it is most likely that the process crash the transport exception that was raised true indicates that the crash was encountered when setting up the process and not when the command was run Prepare the environment based on the policy and run the powershell It is assumed that the caller of this method will spawn appropriate thread and so it is fine for us to call the callback on the same thread Dipose dispose of managed resources true if being disposed If the process represented by this object is busy Indicates that the associated process crashed and this object needs to be removed by ActivityHostManager PowerShell Workflow host runtime. Interface that defines the PowerShell workflow host Workflow host defines the set of services that are made available to an activity The activity host manager to use for processing activities The provider to be used for obtaining runspaces The provider used to obtain local in-proc runspaces The provider which will supply an unbounded number of runspaces - to be used in PowerShell value Default constructor Constructs runtime based on configuration The runtime configuration. JobManager PSActivityHostController (PSWorkflowHost) RemoteRunspaceProvider (PSWorkflowHost) LocalRunspaceProvider (PSWorkflowHost) The provider which will supply an unbounded number of runspaces - to be used in PowerShell value Configuration for the M3P endpoint This class is used to specify Workflow related options in the Register-PSSessionConfiguration Constructor that loads from default values Copies values from updated. Only non default values are copies. Returns a new instance constructed from privateData string. Implementation of the abstract method SessionThrottleLimit PersistencePath MaxPersistenceStoreSizeGB PersistWithEncryption MaxRunningWorkflows AllowedActivity OutOfProcActivity EnableValidation MaxDisconnectedSessions MaxConnectedSessions MaxSessionsPerWorkflow MaxSessionsPerRemoteNode MaxActivityProcesses WorkflowApplicationPersistUnloadTimeoutSec ActivityProcessIdleTimeOutSec RemoteNodeSessionIdleTimeOut WorkflowShutdownTimeoutMSec - the maximum time allowed to suspend the workflows before aborting them. Command to create an object for PSWorkflowExecutionOption ProcessRecord PersistencePath MaxPersistenceStoreSizeGB UseEnctyption MaxRunningWorkflows AllowedActivity OutOfProcActivity EnableValidation MaxDisconnectedSessions MaxConnectedSessions MaxSessionsPerWorkflow MaxSessionsPerRemoteNode MaxActivityProcess ActivityProcessIdleTimeOutSec RemoteNodeSessionIdleTimeOutSec SessionThrottleLimit WorkflowShutdownTimeoutMSec - the maximum time allowed to suspend the workflows before aborting them. class the contains a remote connection (runspace) and associated data for managing the same the only reason this class has an internal scope is for test purposes. Else this can be a private class inside connection manager retry interval cannot be 0, so initial value is 1 AsyncResult object returned by ConnectionManager the only reason this class has an internal scope is for test purposes. Else this can be a private class inside connection manager Class that provides a runspace with the specified options and constraints Begin for obtaining a runspace for the specified ConnectionInfo connection info to be used for remote connections number of times to retry optional user defined callback optional user specified state time in milliseconds before the next retry has to be attempted async result End for obtaining a runspace for the specified connection info async result to end on remote runspace to invoke commands on Get runspace for the specified connection info to be used for running commands connection info to use retry count retry interval in ms remote runspace to use Release the runspace once the activity is finished using the same runspace to release Callback to indicate that this runspace been initiated with a pipeline and can be disconnected runspace that needs to be marked as ready for disconnect Request a cleanup to the destination specified in the connection info. This means no runspaces will be held to the specified connection info. connection info to which cleanup is desired callback to invoke caller specified state Checks to see if the provider intentionally disconnected a runspace or it went into disconnected state due to network issues runspace that needs to be checked true - when intentionally disconnected false - disconnected due to network issues The servicing thread will release control of processing and the timer thread will take control and process based on this wait handle The timer thread will release control of processing and the servicing thread will take control and process based on this wait handle This list is assumed to accessed by only the servicing thread and hence is not designed to be thread safe number of sessions in the connected state this is made static in the interest of time should not be static number of sessions in the disconnected state this is made static in the interest of time should not be static if we need to check whether runspaces need to be disconnected Map of timers for each machine Get runspace for the specified connection info to be used for running commands connection info to use retry count retry interval in ms remote runspace to use Begin for obtaining a runspace for the specified ConnectionInfo connection info to be used for remote connections number of times to retry optional user defined callback optional user specified state time in milliseconds before the next retry has to be attempted async result End for obtaining a runspace for the specified connection info async result to end on remote runspace to invoke commands on Release the runspace once the activity is done using the same runspace to release Request a cleanup to the destination specified in the connection info. This means no runspaces will be held to the specified connection info. connection info to which cleanup is desired callback to invoke caller specified state Checks to see if the provider intentionally disconnected a runspace or it went into disconnected state due to network issues runspace that needs to be checked true - when intentionally disconnected false - disconnected due to network issues Handle the idle timer event unused unused Checks to see if a thread is already servicing and if not starts one Checks to see if a thread is already servicing callbacks and if not starts one Method that services the callbacks for all successfully assigned runspaces unused Method that contains the core servicing logic not used Services one single request request to service true, if successfully serviced, false otherwise Do everything required so that servicing thread can return Check if the servicing thread need to stop processing requests true if processing needs to stop Service the request using the available connection request to service connection to use for servicing Find the connection object given a runspace runspace whose connection needs to be found Connection if found, null otherwise Check and start a method which will do cleanups to the specified computer Worker method for servicing cleanups to requested computers Handles OperationComplete of close operations i.e when connections to a specified computer is closed the CloseOperation object that initiated this event event parameters Raise all the callbacks to the specified computer after the requested cleanup computer to which the callback needs to be raised Timer elapsed handler for the specified computer. Once the timer elapses, new connections to the specified computer will be allowed timer that generated the event event arguments Dispose the connection manager Dipose the connection manager queue of operations to be used for throttling Count of operations in progress throttle limit - includes open/close/connect/disconnect operations is the queue of operations being serviced submit an operation to the queue operation to submit Start operations upto throttle limit from the queue this method is thread safe. It starts all pending operations in the first calling thread. The assumption here is that starting a few operations isn't expensive and so the calling thread is not blocked for a long period of time Disconnect and reconnect to different runspaces as necessary so as to help the connection manager scale and run a large number of commands on a large number of remote nodes unused Callback to indicate that this runspace been initiated with a pipeline and can be disconnected runspace that needs to be marked as ready for disconnect WorkflowStoreComponent Streams Metadata Definition Timers JobState TerminatingError ActivityRunMode InProcess OutOfProcess Bounded cache which will clear items when not used for a while type of item to use Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. 2 The consumer of this class should hold a lock on this object when servicing requests and adding to this cache Advances the enumerator to the next element of the collection. true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. The collection was modified after the enumerator was created. 2 Sets the enumerator to its initial position, which is before the first element in the collection. The collection was modified after the enumerator was created. 2 Gets the current element in the collection. The current element in the collection. The enumerator is positioned before the first element of the collection or after the last element.2 one item that will be used in the cache type of item to use -1 indicates unlimited Checks to see if a thread is already servicing and if not starts one Begin for obtaining a runspace for the specified ConnectionInfo connection info to be used for remote connections number of times to retry optional user defined callback optional user specified state time in milliseconds before the next retry has to be attempted async result End for obtaining a runspace for the specified connection info async result to end on remote runspace to invoke commands on Creates a local runspace with the autoloading turned on. Dispose resources Helper method only to use from test Category attribute for "Activity-Specific Parameters" Creates the attribute. Gets a localized version of the attribute description. Not used. A localized version of the attribute description Category attribute for "Input and Output" Creates the attribute. Gets a localized version of the attribute description. Not used. A localized version of the attribute description Category attribute for "Behavior" Creates the attribute. Gets a localized version of the attribute description. Not used. A localized version of the attribute description Category attribute for "Connectivity" Creates the attribute. Gets a localized version of the attribute description. Not used. A localized version of the attribute description Implementing this interface indicates that the activity supports connection retry. Defines the number of retries that the activity will make to connect to a remote machine when it encounters an error. The default is to not retry. Defines the delay, in seconds, between connection retry attempts. The default is one second. Special variables that can be defined in a workflow to control the behaviour of PowerShell activities. The parent activity ID to be used for all progress records that are written in the enclosing scope Workflow variable that controls when activities are run in process. If true, all activities in the enclosing scope will be run in process Workflow variable that is used to determine if a PowerShell activity should persist when it's done. if true, then all PSActivities in that scope will not persist at the end of their execution. Parameter default, contains all the information which needs to be passed to Workflow context. Default constructor. Dispose method Dipose of managed resources true if disposing All the activity level default parameter values are passed here. Metadata / symbolic information about the currently-running workflow. Job instance id. The workflow runtime. The host persistence delegate. The Workflow activation delegate. The asynchronous execution collection. Runtime metadata that represents the currently-running command. The command name that generated this workflow. The start line of the command name that generated this section of the workflow. The start column of the command name that generated this section of the workflow. The end line of the command name that generated this section of the workflow. The end column of the command name that generated this section of the workflow. The activity context. Cancelling the Async execution. This function is designed to be lightweight and to run on the Workflow thread when Execute() is called. When any changes are made to this function the contract needs to be honored Dispose Dispose IsCanceled. The .NET type implementing the cmdlet to call, used for direct-call cmdlets. Defines the activity on-resume action. Indicates the resumption is normal. Indicates that the activity needs to be restarted. Activities derived from this class can be used in the Pipeline activity The Input stream for the activity. Determines whether to connect the input stream for this activity. The output stream from the activity Determines whether to append output to Result. Base class for PowerShell-based workflow activities The bookmark prefix for Powershell activities. The bookmark prefix for Powershell suspend activities. The bookmark prefix for Powershell persist activities. Constructor for the PSActivity class. Records a non-terminating error. If the runtime has associated an error stream, this error will be written to that stream. Otherwise, this will be thrown as an exception. The exception associated with the error. The error ID associated with the error. This should be a non-localized string. The error category associated with the error. The object that was being processed while encountering this error. The powershell activity context. Begins the execution of the activity. The NativeActivityContext provided by the workflow. Write a progress record fo the current activity Workflow engine context The progress stream to write to The status string to display the Progress record type The method is override-able by the drived classes in case they would like to implement different logic at the end of persistence. The default behavior would be to schedule the 'Persist' activity if the PSPersist flag is true or Host is asking for it. The native activity context of execution engine. Populates the runspace with user variables from the current context Populates a parameter from the defaults supplied by the workflow host The argument to modify (i.e.: Input, Result, ComputerName, etc) The activity context to use The name of the argument The parameter defaults Overload this method to implement any command-type specific preparations. If this command needs any workflow-specific information during its PrepareSession call, it should be stored in ActivityImplementationContext.WorkflowContext. The activity context to use Updates the ImplementationContext returned from GetPowerShell() to support local execution against the host's runspace pool. The implementation context returned by GetPowerShell() The activity context to use The method for derived activities to return a configured instance of System.Management.Automation.PowerShell. The implementor should have added all of the commands and parameters required to launch their command through the standard AddCommand() and AddParameter() methods. Derived activites should not manage the Runspace property directly, as the PSActivity class configures the runspace afterward to enable remote connections. The NativeActivityContext for the currently running activity. A populated instance of Sytem.Management.Automation.PowerShell The infrastructure takes responsibility for closing and disposing the PowerShell instance returned. The method for derived activities to customize the runspace of a System.Management.Automation.PowerShell instance that the runtime has prepared for them. If the command needs any workflow-specific information during this PrepareSession call, it should be stored in ActivityImplementationContext.WorkflowContext during the GetCommand preparation phase. The ActivityImplementationContext returned by the call to GetCommand. Retrievs all of the default arguments from the type and its parents. All of the default arguments from the type and its parents Add the other streams and enqueue the command to be run The activity context to use The powershell activity context. The activity type. The prepare session delgate. This object representing activity. THREADING CONTRACT: This function is designed to be lightweight and to run on the Workflow thread when Execute() is called. When any changes are made to this function the contract needs to be honored Initialize a single command for execution. THREADING CONTRACT: This function is designed to be lightweight and to run on the Workflow thread when Execute() is called. When any changes are made to this function the contract needs to be honored THREADING CONTRACT: This function runs on the workflow thread when Execute() is called for all cases except the remote runspace case where it runs on a WinRM thread or the connection manager servicing thread Therefore this function is designed to be lightweight in all cases When any changes are made to this function the contract needs to be honored Calls the DoCleanup method of the cleanup activity RunCommandsArguments THREADING CONTRACT: This function runs on the workflow thread when Execute() is called Therefore this function is designed to be lightweight in all cases When any changes are made to this function the contract needs to be honored Callback when all connections to the specified computer are closed RunCommandsArguments that the activity passed int THREADING CONTRACT: The callback will happen on a WinRM thread. Hence the function needs to be lightweight to release the thread back to WinRM Callback from connection manager THREADING CONTRACT: The callback happens either in a WinRM thread or in the connection manager servicing thread. Therefore any operations that this thread initiates is supposed to be very small. Make sure that this contract is maintained when any changes are made to the function Sets the $pwd variable in the current runspace Callback from local runspace provider This callback happens in the workflow thread or a threadpool callback servicing thread. However there is only one thread for servicing all callbacks and so all operations have to be small THREADING CONTRACT: This function runs in either a WinRM thread or in the connection manager servicing thread. Therefore any operations that this thread initiates is supposed to be very small. Make sure that this contract is maintained when any changes are made to the function THREADING CONTRACT: This function either runs on a thread pool thread, or in the remote case runs on a WinRM/CM servicing thread. Therefore operations need to be light so that the thread can be released back quickly When changes are made this assumption need to be validated THREADING CONTRACT: This callback runs in a WinRM thread - in the normal course of operation i.e unless PowerShell.EndInvoke() throws an exception, the operations performed on this thread should be minimal THREADING CONTRACT: This function is designed to be lightweight. It always runs on a callback thread - which is a threadpool thread false if default values were substituted THREADING CONTRACT: This methods executes on a WinRM thread THREADING CONTRACT: This methods executes on a WinRM thread Cancel the running activity The NativeActivityContext provided by the workflow. Retrieves the stream and ubiquitous parameter information from the hosting application. These must be passed in as "Streams" and "UbiquitousParameters", respectively. The metadata provided by the hosting application. Determine if this activity should be run in or out of process when run locally/ The native activity context for this workflow instance True if it should be run in process with the workflow engine. Gets the fully qualified name of the command invoked by this activity. Returns the module defining the command called by this activity. It may be null. Tracer initialization. In addition to the display name PSProgress Message will provide the way to append the additional information into the activity progress message like branch name or iteration number in case of parallel foreach. The Error stream / collection for the activity. The Progress stream / collection for the activity. The Verbose stream / collection for the activity. The Debug stream / collection for the activity. The Warning stream / collection for the activity. Forces the activity to return non-serialized objects. Resulting objects have functional methods and properties (as opposed to serialized versions of them), but will not survive persistence when the Workflow crashes or is persisted. Forces the activity to not call the persist functionality, which will be responsible for persisting the workflow state onto the disk. Determines whether to merge error data to the output stream Defines the maximum amount of time, in seconds, that this activity may run. The default is unlimited. This the list of module names (or paths) that are required to run this Activity successfully. The default is null. Defines the number of retries that the activity will make when it encounters an error during execution of its action. The default is to not retry. Defines the delay, in seconds, between action retry attempts. The default is one second. Determines whether to emit verbose output of the activity. Determines whether to emit debug output of the activity. Determines how errors should be handled by the activity. Determines how warnings should be handled by the activity. Provides access to the parameter defaults dictionary In order for an activity to go idle, 'CanInduceIdle' should be true. If an activity needs to load a module before it can execute, override this member to return the name of that module. Indicates if preference variables need to be updated The event fired when the PSActivity-derived activity has initialized its its instance of System.Management.Automation.PowerShell, but has not yet invoked its action. This event is for diagnostic, tracing, and testing purposes. The delegate invoked when an activity is created. The PSActivity instance being invoked. The ActivityCreatedEventArgs associated with this invocation. Holds the event arguments when a new PSActivity instance is created. Creates a new ActivityCreatedEventArgs instance. The instance of System.Management.Automation.PowerShell the activity has prepared. The instance of System.Management.Automation.PowerShell the activity has prepared. Holds an instance of System.Management.Automation.PowerShell, and the context it needs to run. Perform any cleanup activities needed by this activity implementation The instance of System.Management.Automation.PowerShell the activity has prepared. Any context required by the command. The Input stream / collection for the activity. The collection to hold the results of the activity. The Error stream / collection for the activity. The Progress stream / collection for the activity. The Verbose stream / collection for the activity. The Debug stream / collection for the activity. The Warning stream / collection for the activity. The computer name to invoke this activity on. Defines the credential to use in the remote connection. Defines the remoting behavior to use when invoking this activity. Defines the number of retries that the activity will make to connect to a remote machine when it encounters an error. The default is to not retry. The port to use in a remote connection attempt. The default is: HTTP: 5985, HTTPS: 5986. Determines whether to use SSL in the connection attempt. The default is false. Determines whether to allow redirection by the remote computer. The default is false. Defines the remote application name to connect to. The default is "wsman". Defines the remote configuration name to connect to. The default is "Microsoft.PowerShell". Defines the fully-qualified remote URI to connect to. When specified, the PSComputerName, PSApplicationName, PSConfigurationName, and PSPort are not used. Defines the authentication type to be used in the remote connection. Defines the certificate thumbprint to be used in the remote connection. Defines any session options to be used in the remote connection. Forces the activity to return non-serialized objects. Resulting objects have functional methods and properties (as opposed to serialized versions of them), but will not survive persistence when the Workflow crashes or is persisted. Forces the activity to not call the persist functionality, which will be responsible for persisting the workflow state onto the disk. Determines whether to append output to Result. Determines whether to merge the error data to the output stream Defines the maximum amount of time, in seconds, that this activity may run. The default is unlimited. Defines the delay, in seconds, between connection retry attempts. The default is one second. Defines the number of retries that the activity will make when it encounters an error during execution of its action. The default is to not retry. Defines the delay, in seconds, between action retry attempts. The default is one second. Defines the PSProgressMessage. The connection info to use for this command (may be null) This the list of module names (or paths) that are required to run this Activity successfully. The default is null. The paththat the workflow was imported from. Determines whether to emit verbose output of the activity. Determines whether to emit debug output of the activity. Determines whether to emit whatif output of the activity. Determines how errors should be handled by the activity. Determines how warnings should be handled by the activity. Policy for activity host that will execute this activity Specifies the authentication level to be used with the WMI connection. Valid values are: -1: Unchanged 0: Default 1: None (No authentication in performed.) 2: Connect (Authentication is performed only when the client establishes a relationship with the application.) 3: Call (Authentication is performed only at the beginning of each call when the application receives the request.) 4: Packet (Authentication is performed on all the data that is received from the client.) 5: PacketIntegrity (All the data that is transferred between the client and the application is authenticated and verified.) 6: PacketPrivacy (The properties of the other authentication levels are used, and all the data is encrypted.) Specifies the impersonation level to use. Valid values are: 0: Default (reads the local registry for the default impersonation level , which is usually set to "3: Impersonate".) 1: Anonymous (Hides the credentials of the caller.) 2: Identify (Allows objects to query the credentials of the caller.) 3: Impersonate (Allows objects to use the credentials of the caller.) 4: Delegate (Allows objects to permit other objects to use the credentials of the caller.) Enables all the privileges of the current user before the command makes the WMI call. Specifies the authority to use to authenticate the WMI connection. You can specify standard NTLM or Kerberos authentication. To use NTLM, set the authority setting to ntlmdomain:"DomainName", where "DomainName" identifies a valid NTLM domain name. To use Kerberos, specify kerberos:"DomainName>\ServerName". You cannot include the authority setting when you connect to the local computer. When used with the Class parameter, this parameter specifies the WMI repository namespace where the referenced WMI class is located. When used with the List parameter, it specifies the namespace from which to gather WMI class information. summary> Specifies the preferred locale for WMI objects. Specify the value of the Locale parameter as an array in the MS_"LCID" format in the preferred order . CIM Sessions to use for this activity. Defining resuming extension. Get all additional extensions. Retruns no extensions. Set the instance of the worfkow. The workflow instance proxy. Begin resuming book mark. The bookmark where it will be resumed. The value which need to be passed to the bookmark. The call back function when resuming the bookmark. The state of the aysn call. Returns the result of async call. End resuming bookmark. The result of asyc all. Returns the bookmark resumption result. Stores information about an activity argument The name of the argument. The actual argument. Abstract base contining the common members and invocation code for the WMI cmdlets. Generic version of the function to handle value types THe type of the intende argument Sets to execute the command that was passed in. Perform necessary steps to prepare the WMI commands The activity context to use The computer name to invoke this activity on. Defines the credential to use in the remote connection. Specifies the authentication level to be used with the WMI connection. Valid values are: -1: Unchanged 0: Default 1: None (No authentication in performed.) 2: Connect (Authentication is performed only when the client establishes a relationship with the application.) 3: Call (Authentication is performed only at the beginning of each call when the application receives the request.) 4: Packet (Authentication is performed on all the data that is received from the client.) 5: PacketIntegrity (All the data that is transferred between the client and the application is authenticated and verified.) 6: PacketPrivacy (The properties of the other authentication levels are used, and all the data is encrypted.) Specifies the impersonation level to use. Valid values are: 0: Default (reads the local registry for the default impersonation level , which is usually set to "3: Impersonate".) 1: Anonymous (Hides the credentials of the caller.) 2: Identify (Allows objects to query the credentials of the caller.) 3: Impersonate (Allows objects to use the credentials of the caller.) 4: Delegate (Allows objects to permit other objects to use the credentials of the caller.) Enables all the privileges of the current user before the command makes the WMI call. Specifies the authority to use to authenticate the WMI connection. You can specify standard NTLM or Kerberos authentication. To use NTLM, set the authority setting to ntlmdomain:"DomainName", where "DomainName" identifies a valid NTLM domain name. To use Kerberos, specify kerberos:"DomainName>\ServerName". You cannot include the authority setting when you connect to the local computer. When used with the Class parameter, this parameter specifies the WMI repository namespace where the referenced WMI class is located. When used with the List parameter, it specifies the namespace from which to gather WMI class information. summary> Specifies the preferred locale for WMI objects. Specify the value of the Locale parameter as an array in the MS_"LCID" format in the preferred order . Implementation of ICommandRuntime for running the WMI cmdlets in workflow without PowerShell. Constructs an instance of the default ICommandRuntime object that will write objects into the arraylist that was passed. Implementation of WriteDebug - just discards the input. Text to write Default implementation of WriteError - if the error record contains an exceptin then that exception will be thrown. If not, then an InvalidOperationException will be constructed and thrown. Error record instance to process Default implementation of WriteObject - adds the object to the arraylist passed to the objects constructor. Object to write Write objects to the output collection Object to write If true, the collection is enumerated, otherwise it's written as a scalar. Write a progress record progress record to write. Write a progress record, ignore the id field Source ID to write for record to write. Write a verbose record Text to write. Write a warning record Text to write. Write command detail info to the eventlog. Text to write. Default implementation - always returns true. ignored true Default implementation - always returns true. ignored ignored true Default implementation - always returns true. ignored ignored ignored true Default implementation - always returns true. ignored ignored ignored ignored true Default implementation - always returns true. ignored ignored true Default implementation - always returns true. ignored ignored ignored ignored true Returns true if a transaction is available and active. Implementation of the dummy default ThrowTerminatingError API - it just does what the base implementation does anyway - rethrow the exception if it exists, otherwise throw an invalid operation exception. The error record to throw THe error record stream The progress record stream The verbose record stream The warning record stream The debug output stream Return the instance of PSHost - null by default. Gets an object that surfaces the current PowerShell transaction. When this object is disposed, PowerShell resets the active transaction Base class for PowerShell-based workflow activities Returns TRUE if the PSComputerName argument has been specified, and contains at least one target. The workflow NativeActivityContext Prepare commands that use PSRP for remoting... The activity context to use Creates Powershell instance and adds the command to it The activity context to use The wsman connection to use The list of commands The computer name to invoke this activity on. Defines the credential to use in the remote connection. Defines the remoting behavior to use when invoking this activity. Defines the number of retries that the activity will make to connect to a remote machine when it encounters an error. The default is to not retry. Defines the delay, in seconds, between connection retry attempts. The default is one second. The port to use in a remote connection attempt. The default is: HTTP: 5985, HTTPS: 5986. Determines whether to use SSL in the connection attempt. The default is false. Determines whether to allow redirection by the remote computer. The default is false. Defines the remote application name to connect to. The default is "wsman". Defines the remote configuration name to connect to. The default is "Microsoft.PowerShell". Defines the fully-qualified remote URI to connect to. When specified, the PSComputerName, PSApplicationName, PSConfigurationName, and PSPort are not used. Defines the authentication type to be used in the remote connection. Defines the certificate thumbprint to be used in the remote connection. Defines any session options to be used in the remote connection. Declares whether this command supports its own custom remoting. Commands that support their own custom remoting should return TRUE from this property, and use the PSComputerName parameter as required when the 'PSRemotingBehavior' argument is set to 'Custom'. Base class for activities that can use WsMan directly to contact ta managed node. Returns TRUE if the PSComputerName argument has been specified, and contains at least one target. The workflow NativeActivityContext Prepare commands that use CIM for remoting... The activity context to use The computer name to invoke this activity on. Defines the credential to use in the remote connection. Defines the authentication type to be used in the remote connection. Defines the certificate thumbprint to be used in the remote connection. Defines the number of retries that the activity will make to connect to a remote machine when it encounters an error. The default is to not retry. Defines the delay, in seconds, between connection retry attempts. The default is one second. Defines the resource URI used by the CIM cmdlet. The port to use in a remote connection attempt. The default is: HTTP: 5985, HTTPS: 5986. Determines whether to use SSL in the connection attempt. The default is false. Defines any session options to be used in the remote connection. CIM Sessions to use for this activity. Contains the powershell text defining the mode for this command. Base class for the built-in generic CIM cmdlets. For these cmdlets, there is no defining text. The .NET type that implements the associated cmdlet Provides additional functionalty for CIM activity implementations. Create an instance of the CIM activity implementation class Return the session to the session manager Gets the scriptblock that implements this activity's command Defines the resource URI used by the CIM cmdlet. The session specified for this activity The session options used to create the session for this activity... The name of the computer this activity targets Base64 encoded string defining this module... Class to manage reuse of CIM connections. Get a CIM session for the target computer Return a session to the session table. Gets the global instance of the CIM session manager Class the describes an activity host arguments PSActivityHostArguments Gets and sets Streams Gets Errors Get failed Class the describes an activity host policy Collection of modules that an activity is dependent upon Collection of variables that an activity is dependent upon This class will be used for disconnected execution where the Job Id and bookmark will be used resume the execution of workflow after the completion of activity controller work. Default Constructor StartResumablePSCommand StopResumablePSCommand This property indentifies if the Activity controller is running in disconnected mode or not. If it is running in disconnected mode then all the output and data streams will be provied as new objects. Default workflow host implementation The activity host manager to use for processing activities The provider to be used for obtaining runspaces return the singleton instance Base activity for cleanup activities Creates and returns an empty powershell activity context A new activity implementation context Method that needs to be overrided to perform the actual cleanup action RunCommandsArguments callback to call when cleanup is done The signature forces this method to be internal Activity to cleanup all Runspaces (PSRP connections) to a remote machine Set the display name of the activity Creates and returns an empty powershell activity context A new activity implementation context Method that needs to be overrided to perform the actual cleanup action RunCommandsArguments callback to call when cleanup is done The signature forces this method to be internal Provides access to the Authentication parameter. A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. Looks up a localized string similar to The activity failed because the connection to the remote computer '{0}' was disconnected.. Looks up a localized string similar to The workflow cannot be started because the compiled activity for the workflow was not found. Cache the workflow definition by calling DefinitionCache.Instance.Add.. Looks up a localized string similar to Could not find an activity for the command name '{0}'.. Looks up a localized string similar to Activity-Specific Parameters. Looks up a localized string similar to The argument to -PSParameterCollection can not contain AsJob, JobName, InputObject or PSParameterCollection as entries. Remove the extra entries and try again.. Looks up a localized string similar to The async result is already completed. Complete operation cannot be called twice.. Looks up a localized string similar to End operation has already been called for this Async result.. Looks up a localized string similar to The IAsyncResult specified is not valid.. Looks up a localized string similar to Cannot remove the PSWorkflowJob without removing its parent. Please remove the ContainerParentJob that contains this PSWorkflowJob.. Looks up a localized string similar to Cannot supply both connection URI and computer name.. Looks up a localized string similar to The '{0}' cmdlet does not implement InputObject property.. Looks up a localized string similar to Compilation error while building dependent workflows. For details see {0}.. Looks up a localized string similar to Completed. Looks up a localized string similar to Connectivity. Looks up a localized string similar to A Credential cannot be specified when NegotiateWithImplicitCredential is specified as Authentication.. Looks up a localized string similar to A CertificateThumbprint cannot be specified when Credential is specified.. Looks up a localized string similar to This activity does not support custom remote management.. Looks up a localized string similar to The activity cannot continue running because an error occurred while importing dependent module(s) '{0}' specified for activity '{1}'. To fix this problem, verify that the module exists on the computer. If the module is not required, remove references to the module from the activity.. Looks up a localized string similar to Duplicate Instance ID. The instance ID already exists.. Looks up a localized string similar to Because elapsed time-out has occurred, the workflow has been stopped and removed.. Looks up a localized string similar to The workflow job cannot be suspended because it does not include persistence points. To make the workflow suspendable, use the PSPersist parameter of the workflow. To suspend the workflow forcibly, use the Force parameter of the Suspend-Job cmdlet.. Looks up a localized string similar to An error occurred while trying to run the activity.. Looks up a localized string similar to An exception has occurred while validating the workflow.. Looks up a localized string similar to Workflow complete.. Looks up a localized string similar to Failed. Looks up a localized string similar to The force-suspend time-out period cannot be zero or null. Specify a time out period that is greater than zero.. Looks up a localized string similar to Importing workflow from file '{0}'.. Looks up a localized string similar to Input and Output. Looks up a localized string similar to The OwnerId of instance is mismatched.. Looks up a localized string similar to The Version of instance is mismatched.. Looks up a localized string similar to Activity is not valid : {0}. Looks up a localized string similar to The Async result from file provider is not valid.. Looks up a localized string similar to The specified IAsyncResult is not valid. Looks up a localized string similar to Bookmark is not valid: '{0}'. Bookmark doesn't exist in workflow engine.. Looks up a localized string similar to The specified ActivityImplementationContext is not of type CimActivityImplementationContext.. Looks up a localized string similar to The label is not valid: The label '{0}' doesn't exist.. Looks up a localized string similar to The specified runspace is not valid. Looks up a localized string similar to Workflow definition has been recycled. Workflow definition cache limit is {0}. Retry after importing the workflow or module again.. Looks up a localized string similar to Workflow files must have the extension .xaml or .dll, not {0}. If using .dll, then only one assembly should be passed.. Looks up a localized string similar to The job cannot be started. The job state must be NotStarted and the job can only be started once.. Looks up a localized string similar to The job could not be removed because a job matching the specified criteria could not be found.. Looks up a localized string similar to The job has been added to the queue to be resumed.. Looks up a localized string similar to Stop operation is in progress.. Looks up a localized string similar to Suspend operation is in progress.. Looks up a localized string similar to A parameter element specified in the configuration does not have Name attribute. . Looks up a localized string similar to The workflow job could not be created because the JobInvocationInfo does not contain a JobDefinition. Initialize the JobInvocationInfo with a JobDefinition to create a workflow job.. Looks up a localized string similar to The workflow job could not be created because the JobInvocationInfo specifies a type other than WorkflowJobSourceAdapter. Correct the JobSourceAdapter type or verify that the correct type is being used.. Looks up a localized string similar to No workflows were loaded using the path specification '{0}'. Looks up a localized string similar to The '{0}' language mode is not supported. Supported language modes are FullLanguage and ConstrainedLanguage.. Looks up a localized string similar to Workflow instance doesn't exist for a Instance ID.. Looks up a localized string similar to Null or empty workflow is provided.. Looks up a localized string similar to "Internal Error: Object is marked for restricted construction, but it is being constructed somewhere else. Target Type:{0} Allowed Creator Type: {1} Actual Creator Type: {2} Method: {3}. Looks up a localized string similar to Only one computer name is allowed.. Looks up a localized string similar to The argument to -PSParameterCollection can only contain one entry where PSComputerName is set to '*'. Remove the extra entries and try again.. Looks up a localized string similar to The syntax of a parallel script block is 'Parallel { <commands> }'. Looks up a localized string similar to The PSParameterCollection parameter can only be used with AsJob, JobName and InputObject. Move the additional parameters to within the PSParameterCollection argument and try again.. Looks up a localized string similar to Parameter {0} has been specified more than once. Remove multiple references to this parameter from the session configuration, and then try again.. Looks up a localized string similar to The value of the PersistencePath parameter {0} exceeds the maximum allowed length. The persistence path should not be greater than {1} characters.. Looks up a localized string similar to Persistence store has reached its maximum specified size. Please free-up the size by removing completed jobs.. Looks up a localized string similar to {0} line:{1} char:{2}. Looks up a localized string similar to Value {0} is out of the allowed range. Allowed range is from {1} to {2}.. Looks up a localized string similar to Removing workflow instance from the table.. Looks up a localized string similar to Resume could not be completed.. Looks up a localized string similar to Running. Looks up a localized string similar to The activity has exceeded the specified maximum running time of {0} seconds.. Looks up a localized string similar to Because a running time-out has occurred, the workflow has been stopped.. Looks up a localized string similar to The input objects cannot be serialized. Serialized data is required to suspend and resume workflows. To resolve the error, verify that the values of all variables and parameters are of types that can be serialized.. Looks up a localized string similar to The input objects cannot be serialized. This might prevent the workflow from being resumed correctly. The serialization error might indicate a problem with the data contract that is defined at the type/attribute level. To resolve the problem, verify that the values of all variables and parameters can be serialized. Serialization error is: {0}.. Looks up a localized string similar to Shutdown request is in progress, workflow is suspending.. Looks up a localized string similar to This PSWorkflowJob was recovered from a previous session in a suspended state. This can indicate that the workflow was interrupted by a process crash, or a system restart. Call Resume-Job to try resuming the workflow.. Looks up a localized string similar to Suspend could not be completed.. Looks up a localized string similar to The workflow '{0}' could not be started: {1}. Looks up a localized string similar to Unblock is not a supported operation on a PSWorkflowJob.. Looks up a localized string similar to The workflow job could not be created because the JobInvocationInfo was not properly initialized. Initialize the JobInvocationInfo with workflow information.. Looks up a localized string similar to Parameters defined for workflow functions do not support ValueFromPipeline. Remove this attribute and import or define the workflow again.. Looks up a localized string similar to A parameter element specified in the configuration does not have Value attribute. . Looks up a localized string similar to This workflow job cannot be suspended because there are no persistence points in the workflow. To make the workflow job suspendable, add persistence points to the workflow. For more information, see the help topics for Windows PowerShell Workflows.. Looks up a localized string similar to Workflows cannot call workflows on this platform.. Looks up a localized string similar to This workflow is already loaded.. Looks up a localized string similar to One or more workflows for the given job could not be removed.. Looks up a localized string similar to The workflow instance state file does not exist.. Looks up a localized string similar to The workflow name "{0}" is not valid. Specify a valid workflow name and try the command again. Looks up a localized string similar to Currently workflow is not running. The current state of workflow instance is {0}.. Looks up a localized string similar to The workflow instance is not yet loaded.. Looks up a localized string similar to The provided xaml cannot be null..