3.1.4.28.2.1 ModifyUserPropertyByAccountName

The ModifyUserPropertyByAccountName element updates a set of PropertyData (section  2.2.4.16) elements for the specified user.

 <s:element name="ModifyUserPropertyByAccountName">
   <s:complexType>
     <s:sequence>
       <s:element name="accountName" type="s:string" minOccurs="0" maxOccurs="1"/>
       <s:element name="newData" type="tns:ArrayOfPropertyData" minOccurs="0"
                maxOccurs="1"/>
     </s:sequence>
   </s:complexType>
 </s:element>

accountName: A string that specifies the login name of the user profile to return the elements for. This value MUST be less than or equal to 400 characters in length. The protocol server MUST treat accountName in a case insensitive manner for retrieval of the user profile.

If accountName is not specified or does not have a value and there is not an existing user profile for the current user, then a new user profile MAY<13> be created which represents the current user.

If accountName is not specified or does not have a value and there is an existing user profile for the current user, then the protocol server MUST return elements for that user profile.

If accountName is specified and does not match the login name of an existing user profile, the protocol server MUST send a SOAP fault message.

newData: A set of PropertyData (section 2.2.4.16) elements that contain the properties to modify.

If a PropertyData element with the name "UserProfile_GUID" is passed in with a GUID that matches a user, and accountName is NULL or an empty string, then that user MUST be modified. If the GUID does not match an existing user, the protocol server MUST send a SOAP fault message.

Additionally, for the properties specified by newData, if the property is not editable, then the property MUST NOT be updated. For properties that are only editable by users authorized to administer the user profile service, the current user MUST be authorized to administer the user profile service to update the property.