# IManagementGrain.SendControlCommandToProvider(string, int, object)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.runtime.imanagementgrain/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.runtime.imanagementgrain/methods/)

```csharp
public abstract Task<object[]> SendControlCommandToProvider<T>(string providerName, int command, object arg = null)
```

Execute a control command on the specified providers on all silos in the cluster. Commands are sent to all known providers on each silo which match both the `providerTypeFullName` AND `providerName` parameters.

### Parameters

- `providerName` (`string`): Provider name to send this command to.
- `command` (`int`): An id / serial number of this command. This is an opaque value to the Orleans runtime - the control protocol semantics are decided between the sender and provider.
- `arg` (`object`): An opaque command argument. This is an opaque value to the Orleans runtime - the control protocol semantics are decided between the sender and provider.

### Returns

Completion promise for this operation.
