An "admin license," whatever that is, has nothing to do with this. You're completely misunderstanding the Windows security system and directory.
You cannot check an entered password against what you perceive to be a plain text password in the directory. If you used the debugger to step through the code and looked at what you really have in the "userpassword" field, you would not see a readable password.
You can use the PrincipleContext class to validate credentials against the machine directory, like this:
using (PrincipalContext pc = new PrincipalContext(ContextType.Machine))
{
bool isValid = pc.ValidateCredentials("enteredUsername", "enteredPassword");
}