Windows 8 DP Bug: Overwriting Credentials when in HomeGroup

Well, it’s been almost a week with Windows 8 Developer Preview. I installed it on a brand new, purchased just for this purpose, Dell Inspiron Duo netbook. As expected, installation was quick and easy. Network setup came up and then I made a call, which revealed this very interesting bug in the Developer Preview version.

Then I decided to join my machine in my HomeGroup. My HomeGroup consists of few workstations and my Windows Home Server 2011. WHS, of course, has most of the data.

Immediately after joining, I wanted to see the shares on my network. Obviously, that could not be done with my current, Windows 8 credentials, since they were with my Windows Passport (WHS does not recognize Windows Passport). I had to enter an additional credentials, but I could not see how, initially. In Win7, if a login fails, I was presented with a dialog, where I could put different credentials. For some reason (maybe even by design), Windows 8 did not show me such dialog, it directly popped “Access Denied” kind of message.

I asked in the Windows Developer Preview forums. And I got my answer there: the Credentials Manager seemed to be the key to my success. In the Credentials Manager I’d be able to put credentials on per-server base, which credentials later on will be used to access the specified server.

I put my correct credentials there, and retried. Nope. Does not work.

Then I dug a bit more. Tried other different things (verified once again that I do have access from Win7 machine). Still nothing. Finally it enlightened me. I restarted my explorer and somehow automagically the credentials worked and I was presented with the contents of the share. At that point the Credentials Manager looked like this:

Correct Credentials

I was glad. Then I restarted and… the problem came back. “Access Denied” kind of message, yuck!

I started the Credentials Manager and I was quite surprised to see this:

Credential after Login

As you can see, my previous credentials were replaced by the default HomeGroupUser$ system-wide share, which of course did not had access to that private share, available only for my user and not for my whole Home Group.

I fixed the credentials again, it worked. Then I logged out, logged in and… it again replaced the credentials.

So here is the bug title

When joined in Home Group, Windows 8 Developer Preview incorrectly replaces any custom credentials with the default, HomeGroupUser$ credentials.

Steps to repro

  • Windows Home Server 2011 might be a prerequisite, can’t confirm that at the moment, but the problem was found in a setup with Windows Home Server 2011.
  • Create share on the Home Server and set special permissions to that share. Disable access to anyone, but a custom Windows Home Server user.
  • On Windows Developer Preview, login using Windows Live based login
  • Using the Credentials Manager, set custom access privileges for that server/share combination.
  • Verify that the credentials are working
  • Log off, log on with the previous credentials
  • Try to access the same share. Access fails with “Access Denied” error message.
  • Open the Credentials Manager and verify what are the access credentials for the specified server/share. The access credentials are reset.

Workaround

    If the machine is disjoined from the Home Group, the bug cannot be reproduced.

    Conclusion

    The workaround is good for me at this point. I disjoined the machine from the Home Group and I’m cool. But if this bug confirms, it’s a must-fix. So far I’ll do the only thing I could: will report it. And then we’ll see.

    Prior publishing this, I tried to locate the official feedback page, so I can post the link there too. It seems there’s no such page right now, but I keep searching. If you know it, I’ll appreciate telling me.

One thought on “Windows 8 DP Bug: Overwriting Credentials when in HomeGroup

  1. I’m actually hitting this on Win7. There’s another workaround:

    * Use the same account login/password on the client and server so that you don’t need any credentials in the credential store.

    * Create a scheduled task that deletes the MYSERVER\HomeGroupUser$ from the credential store. I created an .exe that calls the Win32 API:
    ::CredDelete(“MYSERVER\\HomeGroupUser$”, CRED_TYPE_DOMAIN_PASSWORD, 0);
    Once this user is deleted, Windows will fall back to connecting using your local username/password on the client.

Leave a Reply

Theme: Overlay by Kaira Extra Text