3.1.4.1.3.1 UserSearchCriteria

Namespace: http://Microsoft/Office/Server/UserProfiles

The UserSearchCriteria complex type specifies the list of properties that the service endpoint MUST use when searching for user profile data. In case of any error, the protocol server MUST return either an InputFault, ConfigurationFault, or UnknownFault complex type to the protocol client.

 <xs:complexType name="UserSearchCriteria" xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:sequence>
     <xs:element minOccurs="0" name="AllowAlternateAccountName" type="xs:boolean"/>
     <xs:element minOccurs="0" name="CorrelationID" type="ser:guid"/>
     <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="EmailCollection" nillable="true" type="q3:ArrayOfstring"/>
     <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="NTNameCollection" nillable="true" type="q3:ArrayOfstring"/>
     <xs:element minOccurs="0" name="PartitionID" type="ser:guid"/>
     <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="RecordIDCollection" nillable="true" type="q3:ArrayOflong"/>
     <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="SIDCollection" nillable="true" type="q3:ArrayOfbase64Binary"/>
     <xs:element minOccurs="0" name="SearchColumn" nillable="true" type="xs:string"/>
     <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="UserIDCollection" nillable="true" type="q3:ArrayOfguid"/>
   </xs:sequence>
 </xs:complexType>

AllowAlternateAccountName: A single user can have multiple accounts in an organization. For example, a user can have an account "DOMAIN1\user1" for primary authentication and another account "DOMAIN2\User1First.User1Last" for email. When a user's user profile information is created, a distinct record for each user account is created in the user profile store, but the service ensures that all of the accounts have the same user profile data associated with them in the user profile store. The service also marks one of the accounts, for example "DOMAIN1\user1" as the master account, which is used primarily to identify the user. If this value is "true", it indicates that the UserSearchCriteria can be applied to any of the user’s accounts. If this value is "false", it indicates that UserSearchCriteria MUST be applied only to the master account for the user.

CorrelationID: The optional request identifier for the current request.

EmailCollection: The list of email addresses for users, based on which the search for their user profile data MUST be conducted by the service. A commonly used format is "user@domain.company".

NTNameCollection: The list of user names for users, based on which the search for their user profile data MUST be conducted by the service. A commonly used format is "DOMAIN\user".

PartitionID: A GUID used to filter the current request. This value MUST NOT be null or empty.

RecordIDCollection: The list of 8-byte user profile record identifiers, based on which the search for the user profile data MUST be conducted by the service.

SIDCollection: The list of security identifiers (SIDs), based on which the search for the user profile data MUST be conducted by the service.

SearchColumn: Specifies which of the following search criteria fields to use when searching for user profile data:

  • If the SearchColumn is the string "Email" it specifies EmailCollection.

  • If the SearchColumn is the string "UserID" it specifies UserIDCollection.

  • If the SearchColumn is the string "NTName" it specifies NTNameCollection.

  • If the SearchColumn is the string "SID" it specifies SIDCollection.

  • If the SearchColumn is the string "RecordID" it specifies RecordIDCollection.

    The service never matches against more than one of these fields at a time. The service chooses exactly one string specified by SearchColumn to conduct a search. This value MUST NOT be null or empty.

UserIDCollection: The list of 16-byte GUIDs that uniquely identify a user, based on which the search for the user profile data MUST be conducted by the service.