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