Google Password Sync: Windows Server 2008

Alright! Finally, I sat down and decided to find out what the issues people were having with running the GoogleHashUpdater in Windows Server 2008.

My Current Test Setup: 
Windows Server 2008 R2 64bit 
Hashing Password Filter RC4 64bit
Google Data API <--- Very Important!!!

1) You need to create an attribute field to house the password hash for the user
2) The password filter needs to be installed on all Domain controllers, but can be installed on one to test with.
3) Complex passwords need to be enabled in the Group Policy

  • Download the filter (see above)
  • Download the Google Data APII (see above)
  • Install the Google Data API on each domain controller
  • Copy the following files from the Google Data API installation folder "C:\Program Files (x86)" to "C:\Windows" of each domain controller:
    • Google.GData.Apps.dll
    • Google.GData.Client.dll
    • Google.GData.Extensions.dll
  • Create the attribute “hashedPassword” (type: Case Sensitive String) with AD Schema Editor
  • You need to create a x500 OID also. Use this tool to figure out and OID ( )
    • Copy the script
    • Open Notepad, Paste
    • Save as oid.vbs
    • Run oid.vbs
    • Prompt gives base OID, and explains adding a number for a attribute
  • Once the attribute is created copy “HashingPasswordFilter.dll” into C:\Windows
  • Import the registry key, “HashingPasswordFilter.reg”
  • Enable Logging for Debugging
    • HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Fusion
      • DWORD "EnableLog" = 1
  • You will also need a user to update the users in AD, we already had a user we used for our scripts, but you need Allow log on locally and log on as a batch job.
  • Edit ini file with login information, copy to “C:\ProgramData”, make sure it is readable only by administrators
  • Copy “GoogleHashUpdater.exe” to the process path specified in “HashingPasswordFilter.ini”
  • Edit Group Policy under password policies to make sure Complex Passwords are enabled (this is required)
  • Reboot Controller.
  • You can confirm the install worked by Checking the log file “C:\ProgramData\HashingPasswordFilter.log”
  • Also, you can check System Information to make sure the module is loaded.
  • You can open command prompt and run "GoogleHashUpdater.exe" to confirm it's working. If it crashes, make sure you have Logging Enabled. Once you tell it to close program it will spit out an error of what is missing or erroring.
Once a user changes their password it will update the “hashedPassword” attribute for that user. Also the GoogleHashUpdater should go update the user too. (We aren’t using that yet, a few bugs still with that)
Currently we are syncing passwords nightly, users login via Single Sign-on (CAS by Jasig) so passwords aren’t too important at the moment, only for IMAP and Mobile Syncing.

Install on all Domain Controllers or it won’t work properly.

I hope this helps those who have been contacting me. I'm glad the solution was an easy fix. Let me know if you have anymore questions.


  1. Mike a couple comments:


    2) I don't see you mention the x64 .dll to place anywhere. I put both the GoogleHashUpdater.exe and GoogleHashUpdater.dll in the C:\PropgramData directory.
    INI line reads => processPath=C:\programdata\GoogleHashUpdater.exe

    3) I have no API libraries installed in the \windows\assembly folder. These are now \windows

    Here are the last few lines from the HashingPasswordFilter.log following a restart.

    Here's log entries from one 08 DC the other one I tested this on still is not starting (no log file?)

    [2011/11/11 01:15:11:546]:Starting HashingPasswordFilter
    [2011/11/11 01:15:11:546]:HashingPasswordFilter initialized
    [2011/11/11 01:47:45:921]:Starting HashingPasswordFilter
    [2011/11/11 01:47:45:953]:HashingPasswordFilter initialized
    [2011/11/17 05:44:57:828]:Starting HashingPasswordFilter
    [2011/11/17 05:44:57:859]:HashingPasswordFilter initialized

    thanks again.

    1. Machine Learning Projects for Final Year machine learning projects for final year

      Deep Learning Projects assist final year students with improving your applied Deep Learning skills rapidly while allowing you to investigate an intriguing point. Furthermore, you can include Deep Learning projects for final year into your portfolio, making it simpler to get a vocation, discover cool profession openings, and Deep Learning Projects for Final Year even arrange a more significant compensation.

      Python Training in Chennai Python Training in Chennai Angular Training Project Centers in Chennai

  2. I'm using the x64 HashingPasswordFilter.dll in the tutorial

    1) No problem.

    2) Copy “HashingPasswordFilter.dll” into C:\Windows
    If your processPath is C:\Program Data\GoogleHashUpdater.exe, then "GoogleHashUpdater.exe" should in C:\Program Data

    3) API Libraries should be placed in C:\Windows as you stated

    According to the Log you provided, the dll is loaded and running. Did you try to reset a user password? Once you reset a password it should comeback with "Reset password for *username*", then some Google Update entry.

  3. Sorry to be a hassle on this one - You're referencing \Program Data in the INI and C:\ path.

    I only find %SystemDrive%\ProgramData (NO SPACE)

    As a result, I am using the \ProgramData VS. \Program Data in my INI.

    do you concur that there should be no SPACE between \ProgramData?

  4. %SystemDrive%\ProgramData <-- This is correct, I'll correct my post.

    So no SPACE is correct

  5. Mike,

    I see you have "very important" next to the Google Data API api. I had already downloaded and installed Are you saying this won't work with the 1.9 release?

  6. In my initial test, 1.9 would not work. If you use the updater works properly.

  7. I'm at the point where the hashedPassword DLL is creating hashes and inserting them into the hashedPassword attribute for my users, but the Google Apps API is failing (even after downgrading to I've taken a look at the credentials on for the google apps admin in my hashedpassword ini, and it has the ability to manage my domain. Any ideas where to look?

  8. Enable Debugging

    Enable Logging for Debugging

    HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Fusion
    DWORD "EnableLog" = 1

    Open the Command Prompt, Drag the Updater executable in to the CMD, press enter. Close Crash window, and the CMD should show an error.

  9. Mike,

    Just a follow up - turns out my problem on Google Apps Updater was an incorrect google domain in my INI file. I never could get the trick of dragging the updater to the cmd window to work. But I did figure it out, nonetheless. Works great.

  10. Mike,
    Great post is there anything else you need to do with the hashedPassword attribute?
    Do you need check Index this Attribute or Replicate this attribute to the Global Catalog?

  11. The only thing I have checked is "Attribute is active". I do not have "Index this Attribute" or "Replicate this attribute" checked.

  12. Mike, do you know what would cause this error?

    [2012/03/26 20:18:24:734]:Starting HashingPasswordFilter
    [2012/03/26 20:18:24:750]:HashingPasswordFilter initialized
    [2012/03/26 20:21:44:718]:Setting write permission for user
    [2012/03/26 20:21:44:781]:Write permission for user set
    [2012/03/26 20:21:44:812]:Error during the modification of the entry with dn= CN=Test User,OU=Teachers,DC=sau3,DC=org: Object Class Violation
    [2012/03/26 20:21:44:812]:Change failed for user "tuser"

    It happens on 32 and 64 bit DCs all setup the same way you have in your article...

    1. Self-solved. I forgot to add the hashedPassword attribute to the user class. This is done through Active Directory Schema Editor. You go to classes, select 'user' go to Attributes, hit Add..., and select hashedPassword.


  13. This article was written by a real thinking writer. I agree many of the with the solid points made by the writer. I’ll be back. Download Free Software For Locking Files For PC - Don't Waste materials Time Looking, Read through About Cellular Desktops About this web page how to password protect photo gallery in ipad

  14. Hey there! I've been reading your weblog for a while now and finally got the courage to go ahead and give you a shout out from New Caney Texas! Just wanted to say keep up the fantastic work! Navigate to this website: How To Lock Files The Spartan Way

  15. Great post, and great website. Thanks for the information! google ads

  16. Hard to ignore such an amazing article like this. You really amazed me with your writing talent. Thank you for sharing again.


    Feel free to visit my blog :

  17. Nice to be visiting your blog again. it has been months for me. Well this article that i’ve been waited for so long. I need this article to complete my assignment in the college. and it has same topic with your article. Thanks. great share
    Feel free to visit my blog :일본야동

  18. Thanks For Sharing Such An Interesting Article, It Is Really Worthy To Read. I Have Subscribed To You And From Now On I'll Check Your Profile Daily For Interesting Stuffs.
    Feel free to visit my blog : 국산야동

  19. I must thank you for the efforts you’ve put in writing this blog. I am hoping to view the same high-grade blog posts from you later on as well. In fact, your creative writing abilities has inspired me to get my very own blog now ?? Thank you for the auspicious writeup.
    Feel free to visit my blog : 일본야동


  20. Your article has proven useful to me. It’s very informative and you are obviously very knowledgeable in this area. You have opened my eyes to varying views on this topic with interesting and solid content.
    Feel free to visit my blog : 야설

  21. Hello there! Quick question that’s completely off topic.
    Do you know how to make your site mobile friendly? My website looks weird when viewing from my iphone.
    I’m trying to find a template or plugin that might
    be able to resolve this issue. If you have any recommendations, please share.
    Thank you!