SPUserUtil (a.k.a the little tool that went BOOM!)

I’ve decided that I’m not going to put much more effort into the 2.5 incarnation of SPUserUtil for reasons I’ll explain in a moment.

What I will be doing over the next few days is the following:

Updating it to utilize a resource file for syntax like the changes just made in SPSiteManager.

  • Finish implementing the –usermask option (This is helpful in scanning your SharePoint server for a specific user, and makes it easier than generating an entire map file then searching through the data)
  • Finish the –adping switch for user deletion
    • This extension to the –deletecollection operation (Deleting a batch of users from the entire farm) will do a ping on the user to see if they exist in AD (i.e, if the user is deleted from AD, purge the user from SharePoint), and then if the user cannot be found it will be removed.  
    • I decided to do a ping type option, because there could be a network hiccup when we tried to query for the user, and I didn’t want it just purging the user when the user really still exists, we just could not get the users information in a timely fashion.
    • By default, SPUserUtil will attempt to lookup the user 3 times before purging. This ping count is configurable as well.
  • Other additions to this version include
    • A –portalmigrate only switch (In case the portal portion of the migration failed but the web ACL migration worked, you can pick up and just do the portal piece once you have corrected the problem in your environment) The currently released version will always try to do the web ACL part first, in which case, if there is a problem with the portal side, it would fail and stop. More on this later
    • Inclusion of the AD lookup quick fix as noted here: https://blogs.msdn.com/krichie/archive/2006/03/09/546911.aspx
  • Updating the documentation to include this, as well as a couple more scenarios into the doc as described in the following articles:

Extra effort into this incarnation of SPUserUtil will cease due to the following reasons.

  • I have seen a major rise in the number of requests sent out internally on migrations recently.
    • I’m working on a complete end-to-end training course on user migrations and SharePoint. I’ll be basing it on the 2.5 version.
  • I need to ship an update to the Utility Suite J  It’s taking too long J
  • This functionality really belongs in SPSiteManager now. Its architecture is much more suited to easily add this functionality into it, but that’s not going to happen for the 2.5 release of the Utility Suite.
  • There is work going on that I can’t detail too much right now, but it will be incorporating the functionality of SPSiteManager, SPUserUtil, and other very popular tools.

 - Keith