3.1.5.6.4.1 Common Processing
If the value of UserInformationClass is present in the following table, the message MUST be processed exactly as a call to SamrSetInformationUser2 with UserInformationClass set to UserAllInformation and Buffer of type SAMPR_USER_ALL_INFORMATION.
UserInformationClass value
UserPreferencesInformation
UserLogonHoursInformation
UserParametersInformation
UserNameInformation
UserAccountNameInformation
UserFullNameInformation
UserPrimaryGroupInformation
UserHomeInformation
UserScriptInformation
UserProfileInformation
UserAdminCommentInformation
UserWorkStationsInformation
UserControlInformation
UserExpiresInformation
UserInternal1Information
All SAMPR_USER_ALL_INFORMATION fields with the same name as the fields in the incoming structure MUST be set with the same value. Furthermore, the WhichFields field MUST be updated according to the table in section 2.2.1.8. All SAMPR_USER_ALL_INFORMATION fields not covered MUST be zero.
As an example, the following table shows how a request for UserPreferencesInformation MUST be handled.
Source UserInformationClass value: UserPreferencesInformation
Target: SAMPR_USER_ALL_INFORMATION
Field name
Value
WhichFields
USER_ALL_USERCOMMENT |
USER_ALL_COUNTRYCODE |
USER_ALL_CODEPAGE
UserComment
Preferences.UserComment
CountryCode
Preferences.CountryCode
CodePage
Preferences.CodePage
A request for Internal1Information is a slight exception and thus is shown explicitly in the following table.
Source UserInformationClass value: UserInternal1Information
Target: SAMPR_USER_ALL_INFORMATION
Field name
Value
WhichFields
USER_ALL_NTPASSWORDPRESENT |
USER_ALL_LMPASSWORDPRESENT |
USER_ALL_PASSWORDEXPIRED
NtPasswordPresent
Internal1.NtPasswordPresent
LmPasswordPresent
Internal1.LmPasswordPresent
PasswordExpired
Internal1.PasswordExpired
LmOwfPassword.Length
0x10
LmOwfPassword.MaximumLength
0x10
LmOwfPassword.Buffer
Internal1.LmOwfPassword
NtOwfPassword.Length
0x10
NtOwfPassword.MaximumLength
0x10
NtOwfPassword.Buffer
Internal1.NtOwfPassword
If the value of UserInformationClass is UserInternal5InformationNew, the message MUST be processed exactly as a call to SamrSetInformationUser2, with UserInformationClass set to UserInternal4InformationNew and Buffer of type SAMPR_USER_INTERNAL4_INFORMATION_NEW with the fields set as shown in the following table. All SAMPR_USER_INTERNAL4_INFORMATION_NEW fields not covered by the table MUST be zero.
Source UserInformationClass value: UserInternal5InformationNew
Target: SAMPR_USER_INTERNAL4_INFORMATION_NEW
Field name
Value
I1.WhichFields
USER_ALL_NTPASSWORDPRESENT |
USER_ALL_LMPASSWORDPRESENT |
USER_ALL_PASSWORDEXPIRED
I1.PasswordExpired
Internal5.PasswordExpired
UserPassword
Internal5.UserPassword
If the value of UserInformationClass is UserInternal5Information, the message MUST be processed exactly as a call to SamrSetInformationUser2, with UserInformationClass set to UserInternal4Information and Buffer of type SAMPR_USER_INTERNAL4_INFORMATION with the fields set as shown in the following table. All SAMPR_USER_INTERNAL4_INFORMATION fields not covered by the table MUST be zero.
Source UserInformationClass value: UserInternal5Information
Target: SAMPR_USER_INTERNAL4_INFORMATION
Field name
Value
I1.WhichFields
USER_ALL_NTPASSWORDPRESENT |
USER_ALL_LMPASSWORDPRESENT |
USER_ALL_PASSWORDEXPIRED
I1.PasswordExpired
Internal5.PasswordExpired
UserPassword
Internal5.UserPassword
If the value of UserInformationClass (section 2.2.6.28) is UserInternal7Information, the message MUST be processed exactly as a call to SamrSetInformationUser2 (section 3.1.5.6.4), with UserInformationClass set to UserInternal8Information and Buffer of type SAMPR_USER_INTERNAL8_INFORMATION (section 2.2.6.31), and with field settings set as indicated in the following table. All SAMPR_USER_INTERNAL8_INFORMATION fields not specified in the table MUST be set to zero.
Source UserInformationClass value: UserInternal7Information
Target: SAMPR_USER_INTERNAL8_INFORMATION
Field name
Value
I1.WhichFields
USER_ALL_NTPASSWORDPRESENT | USER_ALL_PASSWORDEXPIRED
I1.PasswordExpired
Internal7.PasswordExpired
UserPassword
Internal7.UserPassword
If the value of UserInformationClass was not found in the previous four constraints, the server MUST return an error.