Validate Password against Domain Policy


Johann Meier


our company has developed a setup assistent for our Products (it starts
the Setup file of the Client Software, installs and configures a
SQL-Express Database Server instance for our product and attaches the
Database of our product to the sql-server instance).

All parameters (such as SQL-Server instance name or the name of the
Database) are currently completely validated inside the Setup asssistent
to prevent a crash of the SQL-Server setup while running with the /QS
parameter (shows progress UI but prevents user interaction).

Today we noticed that the MS-SQL Server Setup fails when the password
passed by the command line does not match to the password policy of the
domain controller.

I see two possible way's to solve this problem:
1. There is a way to disable the password check against the security
policy (local/domain) by command line (I have found posts of other
peoples with the same problem, but in none of the threads someone was
able to provide a solution for this problem)

2. We integrate the same security check of the password against the
security policy of the system/domain into the validation mechanisms of
our setup assistent to prevent the user from typing in an invalid
password. I already googled about this topic and have found the
following page:

It looks like the SQL-Server uses the API Procedure
"NetValidatePasswordPolicy" to validate passwords against the domain
policy. The documentation of the Procedure was not very helpful for me.
For example the procedure has three modes of operation
(NetValidateAuthentication, NetValidatePasswordChange,
NetValidatePasswordReset) and I have no idea which mode I have to use
for performing the same password check as the SQL-Server Setup is doing
it. And even when I knew it, I have no idea how to construct the
convoluted data structures the procedure is expecting as input parameter.

I would be very thankful for any ideas how to get this to work.

Greetings from Germany,



Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question