net user weakuser newpa$$word /domain gets access denied - why?

Hi experts.

First: please be aware that this question is not that easy and that wild guesses are likely to be ignored. You should try any suggestion yourself prior to making it.

Setup: Domain Controller on 2008 R2 or (if you like) on 2012 R2 (maybe 2003, haven't tested)
Clients: does not matter, anything you have
1) users may change their Password interactively using CTRL-Alt-Del
2) domain administrators may change anyone's password using the shell command
net user someuser newpa$$word /domain
3) standard users get "access denied" trying 2)

**now for the interesting part, the reason why I am asking**

4) standard users that use passwd.exe (a freeware alternative command line password changer) may successfully change their password.

Why is that so? What does passwd.exe do that net.exe cannot? Has Microsoft crippled net.exe for some reason?
--

Why do I need this: Because we would like to use script-based self-invoked password changing with standard user accounts and hoped not to use 3rd party utilities for that.

Find passwd.exe attached, change .doc to .exe
passwd.doc
LVL 60
McKnifeAsked:
Who is Participating?
 
McKnifeConnect With a Mentor Author Commented:
No progress was made, closing.
To have at least done something, I have investigated how to workaround this using a powershell script - for anybody interested:
--
Function Set-AdUserPwd ([string]$user,[string]$pwd) {
    $objSearch = New-Object System.DirectoryServices.DirectorySearcher 
    $objSearch.Filter = "(SamAccountName=$user)"
    $allUsers = $objSearch.FindOne()
    foreach ($user in $allUsers) {
    	$o = $user.GetDirectoryEntry()
        $o.Invoke("SetPassword",$pwd)
        $o.CommitChanges()
    }
}
Set-AdUserPwd -user $env:USERNAME -pwd "Passw0rd"

Open in new window

0
 
McKnifeAuthor Commented:
Edit: I am aware that the difference between net.exe and passwd.exe is fundamental: while net.exe does not need to know the old password, passwd.exe cannot do without. Effectively, that makes net.exe's action a password RESET, while passwd.exe SETS a password.

At the ACLs of the user objects I have  tried to modify granular permissions so the "self" account may reset the password but to no avail. Not before I gave full access to the "self" account could users successfully use net.exe.

Question is indeed: what granular permission is needed for RESET?
0
 
Schuyler DorseyCommented:
Net.exe does not allow standard user accts to submit password changes via this method by design.

http://support.microsoft.com/kb/149427
0
Worried about phishing attacks?

90% of attacks start with a phish. It’s critical that IT admins and MSSPs have the right security in place to protect their end users from these phishing attacks. Check out our latest feature brief for tips and tricks to keep your employees off a hackers line!

 
McKnifeAuthor Commented:
Yes and no. While the symptoms are characterized correctly, MS does not mention that users may indeed reset their pw if they are only granted a certain access right to their own user object... which is what I am trying to find out.
What is needed to not only be able to change but to reset a password? "reset password" is present as granular privilege nut granting it does not change anything.
0
 
Schuyler DorseyCommented:
Once you tick the Reset Password right in ADUC, you have to use something that is LDAP aware to reset the user password.

Net.exe is not LDAP aware. So some admins use a vb script (with the ldap info populated) to do it.
0
 
McKnifeAuthor Commented:
How come he can use net.exe if I give him full access to his own object?
0
 
McKnifeAuthor Commented:
Schuyler Dorsey, why is net.exe only usable with full permissions on the object? If it were LDAP-aware, how would it use this "awareness"?
0
 
McKnifeAuthor Commented:
No progress was made, closing.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.