joeware - never stop exploring... :)

Information about joeware mixed with wild and crazy opinions...

Learning something new… Auth restoring a user to original domain after being moved to a different domain.

by @ 8:38 pm on 9/28/2006. Filed under tech

I don’t do a whole lot of playing with AD Backup/Restore ops and authoritative restores, I am a big fan of building systems such that they don’t allow people to delete objects accidentally in the first place. However, I have been working on a project that has as a portion of the work some user migrations within a forest. One of the things we need to account for is the case where we move a user and for some reason or other they have some app that just absolutely not work once they are moved; we need to put the user back exactly as they were before…

Again I don’t play with auth restores and I never have tried to auth restore a user who has been moved across domains. So here is what I did…

  1. Create two domains D1 and D2
  2. Create in D1 an OU structure of accounts/incoming
  3. Create in D2 an OU structure of accounts/migrate
  4. Create 20 users in D2 in the migrate OU
  5. Backup systemstate on D1 and D2
  6. Use ADMT or AdMod to crossdom move 10 users from D2/accounts/migrate to D1/accounts/incoming
  7. Verify LCS/Exchange/etc works normally
  8. Delete 5 of the migrated users
  9. Come up in DSRM on D2
  10. Restore systemstate
  11. auth restore the 5 users that were deleted
  12. Reboot D2 DC.

What happened? Users were there when the system first came up, as soon as it started replicating they disappeared… Seems AD was smart enough to realize that the users I auth restored existed as tombstones in D1 which means duplicate GUIDs and to protect itself it zilched out the auth restored user objects. I had no idea that would happen. Actually I had no idea what would happen so I was wide open to anything it might do from refusing to replicate to asking me to somehow straighten out the conflict.

 

So from that I quickly came up with a strategy, instead of deleting the object in D1 and auth restoring, migrate the users back to the original domain (again ADMT or AdMod should work for a simple cross dom move) and then auth restore them. If you have gotten stuck in the spot already then you need to undelete the objects on D1 and then migrate them back and auth restore them.

 

  joe

Rating 3.00 out of 5

3 Responses to “Learning something new… Auth restoring a user to original domain after being moved to a different domain.”

  1. We have a (very complicated) mechanism that deals with this. This is an explicitly tested and coded scenario, and quite frankly it’s what makes cross-domain move SO hard.

  2. joe says:

    Cool thanks for the info Eric.

  3. Chris Macaulay (MSFT) says:

    This is a particularly nasty issue. Rollback for intraforest is not auth-restore, but re-migrate from target->source. If you delete the objects in target, then restore in source, they just get deleted 🙂

[joeware – never stop exploring… :) is proudly powered by WordPress.]