IMAExtensible2GetCapabilities.Capabilities Property
Provides a way to allow information about the configuration/schema/capability of the Management Agent to be conveyed programmatically and not through the User Interface.
Namespace: Microsoft.MetadirectoryServices
Assembly: Microsoft.MetadirectoryServicesEx (in Microsoft.MetadirectoryServicesEx.dll)
Usage
'Usage
Dim instance As IMAExtensible2GetCapabilities
Dim value As MACapabilities
value = instance.Capabilities
Syntax
'Declaration
ReadOnly Property Capabilities As MACapabilities
MACapabilities Capabilities { get; }
property MACapabilities^ Capabilities {
MACapabilities^ get ();
}
/** @property */
MACapabilities get_Capabilities ()
function get Capabilities () : MACapabilities
Property Value
Returns MACapabilities.
Remarks
This method has to be implemented if the default set of capabilities are not suitable for the management agent. A management agent can set capabilities to inform the engine what it can do and assumptions made in code the engine must know about. There are a few different categories of Management Agent capabilities.
Run profiles – defines which run steps is visible and can occur in run profiles.
Connected directory behavior – defines behavior in the connected directory. In many cases this will change synchronization behavior.
Sync and MA behavior – defines engine behavior and how the engine should interact with the management agent.
Normalization – defines how data should be normalized.
If Capabilities is not implemented, the default behavior will be used. The table below provides a list of these values.
The following capabilities can be set.
Type |
Property |
Description |
Default value |
Run Profiles |
DeltaImport |
Gets or sets a value indicating whether the management agent supports Delta Import. |
true |
FullExport |
Gets or sets a value indicating whether the management agent supports Full Export. |
false |
|
Connected directory and LDAP behavior |
ObjectRename |
Gets or Sets a value indicating whether the management agent supports renames. Requires MADistinguishedNameStyle.Generic or MADistinguishedNameStyle.LdapStyle. |
true |
ObjectConfirmation |
Gets or sets a value indicating whether the target directory cannot supply confirmations for certain object modifications |
Normal |
|
DeleteAddAsReplace |
Gets or sets a value indicating whether the management agent supports Delete-Adds. If false, all delete-adds will be exported as object replacements. |
true |
|
DistinguishedNameStyle |
Gets or sets a value indicating whether the distinguished name style supported by the management agent. |
MADistinguishedNameStyle.Generic |
|
NoRefereneceValuesInFirstExport |
Gets or sets a value indicating whether the management agent requires that exported objects not contain reference values in the first export attempt. |
false |
|
Sync and MA behavior |
ConcurrentOperation |
Gets or sets a value indicating whether the sync engine supports concurrent operation of multiple instances of the management agent. |
true |
ExportType |
Gets or sets a value indicating whether the sync engine should create object replacements, objects with attribute replacements or objects with attribute updates during export. |
MAExportType.ObjectReplace |
|
Normalizations |
Gets or sets a value indicating whether the sync engine should normalize the data before export. |
MANormalizations.None |
A more detailed description of how to use a capability can be found in the method implementing the logic for the operation.
Exceptions: Return values, Errors, and Exceptions
The following is an example:
public MACapabilities Capabilities
{
get
{
MACapabilities myCapabilities = new MACapabilities();
myCapabilities.ConcurrentOperation = true;
myCapabilities.ObjectRename = false;
myCapabilities.DeleteAddAsReplace = true;
myCapabilities.DeltaImport = true;
myCapabilities.DistinguishedNameStyle = MADistinguishedNameStyle.Ldap;
myCapabilities.ExportType = MAExportType.AttributeUpdate;
myCapabilities.NoReferenceValuesInFirstExport = false;
myCapabilities.Normalizations = MANormalizations.None;
return myCapabilities;
}
}
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
Target Platforms
Change History
See Also
Reference
IMAExtensible2GetCapabilities Interface
IMAExtensible2GetCapabilities Members
Microsoft.MetadirectoryServices Namespace