Share via


ICluster.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
Function ExecuteCommand ( _
    id As Integer, _
    task As ITask, _
    userName As String, _
    password As String, _
    isConsole As Boolean, _
    hwndParent As Integer _
) As IClusterEnumerable
IClusterEnumerable ExecuteCommand (
    int id,
    ITask task,
    string userName,
    string password,
    bool isConsole,
    int hwndParent
)
IClusterEnumerable^ ExecuteCommand (
    int id, 
    ITask^ task, 
    String^ userName, 
    String^ password, 
    bool isConsole, 
    int hwndParent
)
IClusterEnumerable ExecuteCommand (
    int id, 
    ITask task, 
    String userName, 
    String password, 
    boolean isConsole, 
    int hwndParent
)
function ExecuteCommand (
    id : int, 
    task : ITask, 
    userName : String, 
    password : String, 
    isConsole : boolean, 
    hwndParent : int
) : IClusterEnumerable

Parameters

  • userName
    The name of the RunAs user, in the form domain\username. The user name is limited to 80 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 characters. If this parameter is NULL or empty, the method uses the cached credentials (see ICluster.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).

Remarks

This method can be called only by a cluster administrator.

An instance of the task runs on the nodes specified in the ITask.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.

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

If the task generates a lot of output and there are many nodes in the cluster, you should consider using the ICluster.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

ICluster Interface
ICluster Members
Microsoft.ComputeCluster Namespace
ICluster.EndCommand Method
ExecuteCommandWithPaging
GetNewCommandId