Я не пробовал эту технику в последнее время, поэтому я не уверен, она все еще работает, но в одно время она определенно работала, и я думаю, что, вероятно, все еще работает.
Позвоните NetUserChangePassword
для учетной записи этого пользователя на каждом из целевых компьютеров, но сделайте это из учетной записи, которая не имеет право изменить пароль этого пользователя (например, другую обычную учетную запись пользователя). Когда вы звоните, вы должны передать (среди прочего) старый пароль пользователя. Поскольку вы вызываете его из учетной записи, которой не разрешено изменять пароль этого пользователя, этот вызов всегда будет неудачным.
Что вас интересует, так это код ошибки при сбое. Если то, что вы передали в качестве старого пароля, будет распознано системой (т. Е. Является правильным паролем для учетной записи), вызов не будет выполнен с ERROR_ACCESS_DENIED
. Если пароль, который вы передаете, неверен (т.е. не распознан для этой учетной записи), он потерпит неудачу с ERROR_INVALID_PASSWORD
.