Active Directory Provider::Evaluate

Evaluates a simple expression and returns a regular expression. For example, you can use it to build and modify the values for an object's userAccountControl property. Used by Microsoft Provisioning Framework (MPF).

Arguments

The following table describes the XML schema elements and attributes. Unless otherwise indicated, the data type is string.

Element Description, relationships, and attributes

and

Description:
Bitwise AND operator. Operands are converted to a VARIANT of type VT_I4. The result is a VARIANT of type VT_I4.

Parents:
and, expression, mod, not, or

Children:
Must be exactly two of the following elements.
and (minOccurs="1" maxOccurs="1", input only)
enum (minOccurs="1" maxOccurs="1", input only)
hex (minOccurs="1" maxOccurs="1", input only)
mod (minOccurs="1" maxOccurs="1", input only)
not (minOccurs="1" maxOccurs="1", input only)
or (minOccurs="1" maxOccurs="1", input only)
rand (minOccurs="1" maxOccurs="1", input only)

enum

Description:
Enumeration string for manipulating Microsoft Active Directory user properties. This element accepts the following ADS_USER_FLAG_ENUM strings as input values.

ADS_UF_SCRIPT0x0001
ADS_UF_ACCOUNTDISABLE0x0002
ADS_UF_HOMEDIR_REQUIRED0x0008
ADS_UF_LOCKOUT0x0010
ADS_UF_PASSWD_NOTREQD0x0020
ADS_UF_PASSWD_CANT_CHANGE0x0040
ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED0x0080
ADS_UF_TEMP_DUPLICATE_ACCOUNT0x0100
ADS_UF_NORMAL_ACCOUNT0x0200
ADS_UF_INTERDOMAIN_TRUST_ACCOUNT0x0800
ADS_UF_WORKSTATION_TRUST_ACCOUNT0x1000
ADS_UF_SERVER_TRUST_ACCOUNT0x2000
ADS_UF_DONT_EXPIRE_PASSWD0x10000
ADS_UF_MNS_LOGON_ACCOUNT0x20000
ADS_UF_SMARTCARD_REQUIRED0x40000
ADS_UF_TRUSTED_FOR_DELEGATION0x80000
ADS_UF_NOT_DELEGATED0x100000

Parents:
and, expression, mod, not, or

executeData

Description:
Encapsulates the procedure's input and output data.

Children:
expression (minOccurs="1" maxOccurs="1", input only)
result (minOccurs="1" maxOccurs="1", output only)

expression

Description:
Expression to evaluate.

Parent:
executeData

Children:
Must be exactly one of the following elements. and
(minOccurs="1" maxOccurs="1", input only)
enum(minOccurs="1" maxOccurs="1", input only)
hex (minOccurs="1" maxOccurs="1", input only)
mod (minOccurs="1" maxOccurs="1", input only)
not (minOccurs="1" maxOccurs="1", input only)
or (minOccurs="1" maxOccurs="1", input only)
rand (minOccurs="1" maxOccurs="1", input only)

hex

Description:
A literal hex value interpreted as a hex number. The result is a VARIANT of type VT_I4.

Dd251775.note(en-us,TechNet.10).gifNote
Do not include "0x" or "&H".

Parents:
and, expression, mod, not, or

mod

Description:
Remainder (modulus) of the first subelement divided by the second subelement.

Parents:
and, expression, mod, not, or

Children:
Must be exactly two of the following elements.and (minOccurs="1" maxOccurs="1", input only)
enum (minOccurs="1" maxOccurs="1", input only)
hex (minOccurs="1" maxOccurs="1", input only)
mod (minOccurs="1" maxOccurs="1", input only)
not (minOccurs="1" maxOccurs="1", input only)
or (minOccurs="1" maxOccurs="1", input only)
rand (minOccurs="1" maxOccurs="1", input only)

not

Description:
Bitwise NOT operator. The operand is converted to a VARIANT of type VT_I4. The result is a VARIANT of type VT_I4.

Parents:
and, expression, mod, not, or

Children:
Must be exactly two of the following elements.
and (minOccurs="1" maxOccurs="1", input only)
enum (minOccurs="1" maxOccurs="1", input only)
hex (minOccurs="1" maxOccurs="1", input only)
mod (minOccurs="1" maxOccurs="1", input only)
not (minOccurs="1" maxOccurs="1", input only)
or (minOccurs="1" maxOccurs="1", input only)
rand (minOccurs="1" maxOccurs="1", input only)

or

Description:
Bitwise OR operator. Operands are converted to a VARIANT of type VT_I4. The result is a VARIANT of type VT_I4.

Parents:
and, expression, mod, not, or

Children:
Must be exactly two of the following elements.
and (minOccurs="1" maxOccurs="1", input only)
enum (minOccurs="1" maxOccurs="1", input only)
hex (minOccurs="1" maxOccurs="1", input only)
mod (minOccurs="1" maxOccurs="1", input only)
not (minOccurs="1" maxOccurs="1", input only)
or (minOccurs="1" maxOccurs="1", input only)
rand (minOccurs="1" maxOccurs="1", input only)

rand

Description:
Returns a random number from 0 to 32767 as a VARIANT of type VT_I2. Randomize is performed at the start of the first use.

Parents:
and, expression, mod, not, or

result

Description:
Returns the computed result value of the expression.

Parent:
executeData

value

Description:
A literal value. By default, it is interpreted as a string. The result is type VT_BSTR.

Parents:
and, expression, mod, not, or

Remarks

Numbers passed in to this procedure are assumed to be decimal.

Schema Definition

Input

<executeData>1..1
  <expression>1..1<!-- Operator elements -->
    <value>1..1</value>
    <hex>1..1</hex>
    <rand>1..1</rand>
    <enum>1..1</enum>
    <or>1..1</or>
    <and>1..1</and>
    <not>1..1</not>
    <mod>1..1</mod>
  </expression>
</executeData>

Output

<executeData>1..1
  <result>1..1</result>
</executeData>

Sample Code

Example XML Request

The following code fragment shows the format for sending data to this procedure. For more information on individual elements and attributes, see the Elements and Attributes table.

Example XML Response

The following code fragment shows the format for data this procedure returns. For more information on individual elements and attributes, see the Elements and Attributes table.

Applies To

Active Directory Provider for:

  • Hosted Messaging and Collaboration version 4.5

  • Hosted Messaging and Collaboration version 4.0

  • Hosted Messaging and Collaboration version 3.5

  • Hosted Messaging and Collaboration version 3.0

  • Windows-based Hosting version 4.5

  • Windows-based Hosting version 4.0

  • Windows-based Hosting version 3.5

  • Windows-based Hosting for Applications version 1.0