Cluster.ExecuteCommand Method

Executes a task on a specified group of nodes in the cluster.

Namespace: Microsoft.ComputeCluster
Assembly: CcpAPI (in ccpapi.dll)

Usage

Syntax

'Declaration
Public Function ExecuteCommand ( _
    id As Integer, _
    task As ITask, _
    userName As String, _
    password As String, _
    isConsole As Boolean, _
    hwndParent As Integer _
) As IClusterEnumerable
public IClusterEnumerable ExecuteCommand (
    int id,
    ITask task,
    string userName,
    string password,
    bool isConsole,
    int hwndParent
)
public:
virtual IClusterEnumerable^ ExecuteCommand (
    int id, 
    ITask^ task, 
    String^ userName, 
    String^ password, 
    bool isConsole, 
    int hwndParent
) sealed
public final IClusterEnumerable ExecuteCommand (
    int id, 
    ITask task, 
    String userName, 
    String password, 
    boolean isConsole, 
    int hwndParent
)
public final function ExecuteCommand (
    id : int, 
    task : ITask, 
    userName : String, 
    password : String, 
    isConsole : boolean, 
    hwndParent : int
) : IClusterEnumerable

Parameters

  • task
    A class that implements the ITask interface. The task identifies the command to execute. To create the task, call the Cluster.CreateTask method.
  • userName
    The name of the RunAs user, in the form domain\username. The user name is limited to 80 Unicode characters.

    If userName is NULL, empty, or not valid, the cluster searches the calling user's credential cache for the credentials to use. If the cache contains only one credential, it is used. If the cache does not exist or contains multiple credentials, the user is prompted for the credentials.

  • password
    The RunAs user's password. The password is limited to 127 Unicode characters. If this parameter is NULL or empty, the method uses the cached credentials (see Cluster.SetCachedCredentials). If the credentials are not cached, the current user is prompted for the credentials. If the isConsole parameter is true, the user is prompted in the console window; otherwise, the standard credentials dialog box is used.
  • isConsole
    Set the value to true if the application is a console-mode application. Set the value to false if the application is a GUI application.
  • hwndParent
    The handle to use as the parent window for the modal credentials dialog box. If 0, HWND_DESKTOP is used. The handle is ignored if the isConsole parameter is true.

Return Value

An IClusterEnumerable interface. The collection contains an IExecutionResult interface for each instance of the task (one result for each node on which the task ran).

Example

EndCommand

ExecuteCommandWithPaging

GetNewCommandId

Remarks

This method can be called only by a cluster administrator.

An instance of the task runs on the nodes specified in the Task.RequiredNodes property. If no nodes are specified, the command runs on each node in the cluster. The task does not wait in the queue to be scheduled. Standard output and standard error are captured in the result. To get the output, access the IExecutionResult.Output property.

If the Cluster.IsAsynchronous property is false, this method waits until all nodes return results. If IsAsynchronous is true, this method returns after the first node returns a result. To retrieve results from the other nodes, call the Cluster.WaitForCommand method in a loop until all results are retrieved (the enumeration is empty).

To cancel all instances, call the Cluster.EndCommand method.

If the task generates a lot of output and there are many nodes in the cluster, you should consider using the Cluster.ExecuteCommandWithPaging method to limit the amount of memory used for the output (the amount of memory used is the size of the output multiplied by the number of nodes in the cluster).

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Microsoft Windows Compute Cluster Server 2003, Windows Server 2003, Windows XP

Target Platforms

Microsoft Windows Compute Cluster Server 2003, Windows Server 2003 with Compute Cluster Pack Client Utilities, Windows XP with Compute Cluster Pack Client Utilities

See Also

Reference

Cluster Class
Cluster Members
Microsoft.ComputeCluster Namespace