Directory Services API Element Differences
When using Directory Services API elements to program for AD LDS, there are several important differences from programming for Active Directory.
The following table lists the differences in the Directory Services programming elements when used with AD LDS.
Programming element | Difference |
---|---|
DsBindWithSpnEx | Added the NTDSAPI_BIND_FORCE_KERBEROS flag. |
DsBindByInstance | New function. |
ADAM_SCP_SITE_NAME_STRING | String constant used by AD LDS for constructing keyword values for SCP publication for a site name, for example: "site:Default-First-Site-Name". |
ADAM_SCP_PARTITION_STRING | String constant used by AD LDS for constructing keyword values for SCP publication for a partition distinguished name, for example: "partition:O=FABRIKAM,L=WA,C=US". |
ADAM_SCP_INSTANCE_NAME_STRING | String constant used by AD LDS for constructing keyword values for SCP publication for an instance name, for example: "instance:someinstance". |
ADAM_SCP_FSMO_STRING | String constant used by AD LDS for constructing keyword values for SCP publication for an FSMO name prefix, for example: "fsmo:naming". |
ADAM_SCP_FSMO_NAMING_STRING | String constant used by AD LDS for constructing keyword values for SCP publication for an FSMO name suffix, for example: "fsmo:naming". |
ADAM_SCP_FSMO_SCHEMA_STRING | String constant used by AD LDS for constructing keyword values for SCP publication for an FSMO name suffix, for example: "fsmo:schema". |
ADAM_REPL_AUTHENTICATION_MODE_NEGOTIATE_PASS_THROUGH | Negotiate with pass-through authentication. All instances must run using service accounts with the same name and password. Used with the ms-DS-Repl-Authentication-Mode attribute of the configuration partition for an AD LDS instance. |
ADAM_REPL_AUTHENTICATION_MODE_NEGOTIATE | Negotiate authentication. If Kerberos is available, it will be used. Otherwise, authentication will fall back to NTLM unless machine policy forbids this.Used with the ms-DS-Repl-Authentication-Mode attribute of the configuration partition for an AD LDS instance. |
ADAM_REPL_AUTHENTICATION_MODE_MUTUAL_AUTH_REQUIRED | AD LDS will require Kerberos mutual authentication.Used with the ms-DS-Repl-Authentication-Mode attribute of the configuration partition for an AD LDS instance. |
NTDSDSA_OPT_DISABLE_SPN_REGISTRATION | New value for nTDSDSA objects. |
AD LDS does not support the userAccountControl attribute. Instead, AD LDS uses several individual attributes to hold the information that is contained in the flags of the userAccountControl attribute. The following table lists the userAccountControl flags and their corresponding AD LDS attributes. Any userAccountControl flags that are not listed below are not supported by AD LDS.
AD LDS attribute | userAccountControl flag (defined in iads.h) | Hexadecimal value |
---|---|---|
ms-DS-UserAccountAutoLocked | ADS_UF_LOCKOUT | 0x00000010 |
msDS-UserAccountDisabled | ADS_UF_ACCOUNTDISABLE | 0x00000002 |
msDS-UserDontExpirePassword | ADS_UF_DONT_EXPIRE_PASSWD | 0x00010000 |
ms-DS-UserEncryptedTextPasswordAllowed | ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED | 0x00000080 |
msDS-UserPasswordExpired | ADS_UF_PASSWORD_EXPIRED | 0x00800000 |
ms-DS-UserPasswordNotRequired | ADS_UF_PASSWD_NOTREQD | 0x00000020 |