Logo SharePoint Thoughts   Downloads   About   Up to Bluedog Limited
SharePoint User Utility 2.1 is now complete!
Posted on 4/18/2005 3:57 AM by Keith Richie
Some of you may have alread found my posting on my personal blog at http://blogs.msdn.com/krichie but after discussions, we feel that posting this at SharePoint Thoughts may reach a wider audience, so...Without further ado.
 
The SharePoint User Utility 2.1 is now complete!
The purpose of the SharePoint User Utilities (WSSUserUtil and SPSUserUtil) is to assist SharePoint administrators with performing user maintenance activities for SharePoint Products and Technologies (which includes Windows SharePoint Services 2.0 and SharePoint Portal Server 2003)
 
New and Improved Features
New! -  100% Full Fidelity User Migrations using the new MigrateUser() APIs
 
New! - Update feature to synchronize existing SharePoint user Display Name and Email Address with current values in Active Directory, or values in mapping file
 
New! - Rich XML export of User Security settings for complete site collections in WSS and Portal Server areas
 
New! - Interface matches familiar STSADM syntax
 
New! - “Add” feature to add users en-masse to webs, entire web hierarchies, complete site collections.
 
Improved - Security Analysis
 
Improved - “Clone” account settings. (MySite relocation to new owner, alerts remapping [Both WSS and Portal])
 
Improved - Delete feature can delete users on targeted webs, or automate deletion from complete site collections based on map file.
 
Common use scenarios
 
  • True User Domain Migrations fixup in SharePoint using the MigrateUser() API set
  • Web relocation within site collections
    • Preserve security information via analysis mode when using SMIGRATE to export webs
    • Re-apply security information via “Add” mode after using SMIGRATE to import the web.
  • Transfer of ownership from one user to the other (Using the new MigrateUser() API)
  • Cloning security information for SharePoint users
    • Consider the scenario, where “John Doe” has joined “Mary Jane” in the Content Authoring group at a company.   John needs to have permissions applied to match Mary exactly.
      • Run analysis mode for Mary
      • Use resulting map file and web manifest file to apply these permissions on all sites/webs./lists/doc libs for John to match

All this and more with just 3 easy monthly payments of $99.98!!

Ok, just kidding...It's still free of course, and the source code is completely available with this version as well.   A temporary download location is available at http://www.indieopolis.net/SharePoint/Examples/SPUserUtil.zip
 
So, a bit of a teaser on the new functionality :)
 
Modes of Operation Summary

One or more of the following operations can be used to assist you with complex user maintenance.  The tool has the following primary modes of operation as follows:
 
Analysis
When using these utilities in Analyze mode, the resulting data can be used to prepare for user migrations, user updates, or as a template for other operations and scenarios.  The tool will create User and Web analysis data in convenient XML format  (See SPUserUtil XML DTD)
 
Migrating
With this release of the tool set, we now have a new API built into the product that allows customers to have 100% full fidelity migration success.  The SPUserUtil suite of tools is not even necessary to perform user migrations now, but can aid in generating and automating the migration process
 
Adding and Updating
The Add operations allow you to add users en-masse.  SPUserUtil assists you with automating user additions and permissioning your site collections, webs, and portals in one quick and easy invocation. 
 
Windows SharePoint Services give users the ability to utilize completely different Display Names and Email Addresses on separate site collections, thus if changes occur to your account in Active Directory, these settings are not automatically updated in SharePoint.  Some customers have requested the ability to update users Display Names and Email Addresses for their SharePoint sites automatically when this information changes in Active Directory, regardless of the users preferences due to corporate requirements.  You can also easily restamp email addresses, and display names for specific users with the SPUserUtil suite.
 
Use the add mode to also re-permission webs in which you have smigrated (Export/Import) a web or web hierarchy to a new location in the site collections web hierarchy, or if you need to move web hierarchies to a completely new site collection; on the same virtual server; a different virtual server on the same machine; or a completely different machine.
 
Cloning
Cloning allows you to “Clone” one users set of permissions for other users.  For example, a user joins an Authoring group for a specific portal.  All these users share the same set of roles, yet they are permissioned individually on the sites and areas.  Cross Site Groups are probably the best mechanism to support this, but the need to do this across site collections is still a daunting task.  With cloning, this is now easy. 
 
Note: Currently the SPUserUtil suite of tools does not have a method for actually cloning Site Groups and Cross Site Groups.  This is in the works for the next release.
 
Deleting
Use SPUserUtil to automate user cleanup on site collections, or to remove previously “Cloned” accounts from your portals and site collections
 
Building the tools
The tool suite is no longer released in binary form.  Instead, the source is provided as is, and with instructions to build the binaries.  More details in the next post
 
Quick Migration Scenario
Once you have built the tools, here is a quick walk through of a migration scenario.  We’ll use this scenario as a jumping point into further details on the operations and layout of the user and webs manifest files.
 
Contoso becomes RXStream
 
Our good friends at Contoso were acquired by RXStream.  As part of the merger, Contoso servers/users and services are being relocated into the RXStream enterprise.  All users were migrated to the RXStream domain, and the Contoso portal was restored onto a server in the RXStream domain.
 
To use the SPUserUtil tool suite to quickly automate the updates to all the users to successfully migrate the old Contoso user permissions, perform the following steps.
 
  • Analyze current user information for the Portal and Sites
    • spsuserutil -o analyze -url http://rxstream01 -r -newdomain rxstream -usermap c:\portalusers.xml
  • Analyze current group information for the Portal and Sites
    • spsuserutil -o analyze -url http://rxstream01 -r -newdomain rxstream -usermap c:\portalgroups.xml -dgo
  • Migrate the user information for the users
    • spsuserutil -o migrate -url http://rxstream01 -usermap c:\portalusers.xml -ignoresidhistory
  • Clone the Security Group information
  • Re-index to update security in your indexes

The tools documentation is very detailed, so we'll cover the operations in more detail by covering some common scenarios in future posts.

 - Keith Richie

 
 
re: SharePoint User Utility 2.1 is now complete!
I tried to install this on my sharepoint site but i can't install. it gives me error message.
 
'Microsoft.SharePoint.Administration.SPGlobalAdmin' does not contail a definition for 'MigrateUserAccount'
 
I'm using a WSS and i want to migrate my site to other server. I already migrated my site but the users doesn't included in my migration...
 
any help is very much appreciated!
 
Regards,
 
Russell
Russell Abrogena @ 5/18/2005 12:22 AM
re: SharePoint User Utility 2.1 is now complete!
The documentation covers this.
It's because you don't have the hotfixes installed that implement the new Migrate APIs.
 
You have two choices
1) Edit the BuildWSS.CMD and BuildSPS.CMD files to remove the /define:__MIGRATE_API section as noted in the SPUserUtil.doc
2) Get the hotfixes and install them on your server.
 
This is all covered in the SPUserUtil.doc, and the hotfixes are only needed if you want to use the -o migrate option.
Keith Richie @ 5/18/2005 7:22 AM
re: SharePoint User Utility 2.1 is now complete!
Hello,
Very interested to test the tool but it appears the link http://www.indieopolis.net/SharePoint/Examples/SPUserUtil.zip is broken. I receive a 404 error.
Can you please check ?
Thnak you.
Thierry from Belgium
Thierry Masson @ 5/26/2005 4:43 AM
re: SharePoint User Utility 2.1 is now complete!
Is the link to the source code broken? I can't seem to download :(
bigghost @ 5/27/2005 12:06 PM
re: SharePoint User Utility 2.1 is now complete!
It's now part of the SharePoint Utility Suite at http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a=724
I'll update this posting as well
Keith Richie @ 5/27/2005 2:58 PM
re: SharePoint User Utility 2.1 is now complete!
I want to use the tool to perform the function of "100% Full Fidelity User Migrations using the new MigrateUser() APIs ".
 
I ran the tool on my server but really didn't get anywhere and what is ment by "SPUserUtil suite of tools is not even necessary to perform user migrations now" 
 
Any help is appreciated.
T.D. @ 11/23/2005 12:09 PM
re: SharePoint User Utility 2.1 is now complete!
T.D.
 
   "I ran the tool on my server but really didn't get anywhere"
 
Uh, Ok... what did you actually run? Analyze, Migrate, Clone, etc?
 
   "and what is ment by "SPUserUtil suite of tools is not even
    necessary to perform user migrations now" 
 
In the early days, it was one of the only solutions to "clone" your security information when the account was migrated around in the domain/forest or between domains, forests, etc.  With the new MigrateAPI set provided by the product group, it's not "Necassary" to use SPUserUtil to migrate users.  BUT, that means you have to do a two step process for every single user over and over again for all your users using STSADM -o migrateuser and then custom code to call the Portal Server MigrateUser API for the portal side of the migration.  Then do that for every user :)
 
SPUserUtil automates doing the migrations for masses of users or your entire farm in a few simple calls
 
Keith Richie @ 11/23/2005 2:07 PM
Sharepoint user info sync
New! Update feature to synchronize existing SharePoint user Display Name and Email Address with current values in Active Directory, or values in mapping file
Does this do the user info update on the individual sites? Ala the notorious "Jane Smith to Jane Doe" example where the user profile is updated on AD import but displayed name on sites remains Smith?
Or does this just sync the SPS user profile with AD so that you don't have to do a full/incremental import to update Name and Email?
Eric Wilson @ 12/1/2005 1:59 PM
re: SharePoint User Utility 2.1 is now complete!
It updates from AD for the user ACL information on the webs.
Not the Profile Import information.  You still need to do an incremental update on your profiles to pick up that information.
 
HTH
 
Keith
Keith Richie @ 12/1/2005 6:00 PM
re: SharePoint User Utility 2.1 is now complete!
For using this utility you need install sp2 for sps (wss) first. There are added new classes for migration users in this service pack.
Jantcha @ 3/1/2006 2:09 AM
re: SharePoint User Utility 2.1 is now complete!
While updating the users information from Active-Directory, it is terminating. On further checking it i found it is termination if it encounters a user which is present on site but deleted from domain. Now, is there any way to log the account which is having issue in a log file and continue with next user on the site?
Nishant Rakesh @ 3/7/2006 2:51 PM
re: SharePoint User Utility 2.1 is now complete!
Sorry if this is a stupid question, but I can't figure it out.
 
We have a Portal, and we have WSS subsites.  The SPSUserUtil update works great for the WSS subsites, pulling information from AD.   No problems.  It does NOT, however, make any changes to the PORTAL side of it.  In the Portal, there is also "User Information" separate from the Profile information, under Site Settings > Manage Security and Additional Settings > Show User Information.
 
We have determined that THIS is where it is pulling the email address for alerts.  NOT from the Profile.  I have yet to understand this, but here is what is happening:
 
We have nightly scheduled updates for the PROFILES from AD.  That is working fine and populating the Email address correctly in the PROFILE.
 
As each user accesses the portal, their USER INFORMATION is added.  This is separate from the profile.  For some reason I don't understand, when this happens, it does NOT copy the email address.  That is blank.
 
I am trying to run this utility to update their USER INFORMATION and add the email address so that alerts will work.  It does update sub-sites just beautifully, but does not make any changes under the portal.
 
Am I missing a switch or something???
Chris @ 4/4/2006 9:47 AM
re: additional information
Further to my previous post, the syntax I am using is:
 
SPSUserUtil -o analyze -url http://myserver -usermap users.xml -asu -ac
 
then
 
SPSUserUtil -o update -url http://myserver -usermap users.xml -ac -adu
 
Chris @ 4/4/2006 10:18 AM
When all else fails, read the directions....
OK, I have finally paid close attention to the documentation and found this under "Known Issues":
 
• When using the –ac argument for the analyze operation with the SPS build of the tool, it will actually skip over the portal itself, and only collect information on all other site collections.
o To work around this, run it again without the –ac option, and target the portal directly.  You can then run the tool in two passes for all other operations (One for the portal specifically, one for the other collections), or create a merged combination of both manifest files
So when I changed the update syntax to:
 
SPSUserUtil -o analyze -url http://myserver -usermap users.xml -asu
 
and
 
SPSUserUtil -o update -url http://myserver -usermap users.xml -adu
 
It worked like a charm.
 
Thanks!!
Chris @ 4/4/2006 10:34 AM
re: SharePoint User Utility 2.1 is now complete!
Please make sure you have installed SharePoint Portal Service Pack 2 before building this utility
Noel Dsouza @ 9/27/2006 12:42 PM
COM Exception 0x80005000
Hi,
 
I'm trying to use this utility to migrate accounts from one domain to another and whilst the WSS migration works fine the SPS migration fails with the COM Exception 0x80005000 as shown below.
 
Can anyone shed any light on what this could be.
 
Thanks
 
Pete
 
 
******Log file output******:
SPSuserutil.exe -o migrate -url http://liveserver -usermap c:\UserMapSPSUsersPeter.xml -verbose -log
 
SPUserUtil Version 2.5.2508.17531
Copyright (c) 2004 Microsoft Corporation. All Rights Reserved
Reading user map: c:\UserMapSPSUsersPeter.xml
Adding user x\Peter to user map.
Aquiring portal context for: http://liveserver/
 Comparing to: http://liveserver/
===========================
Migrating x\peter to y\peter
===========================
 - Migrating WSS Security
 - Completed WSS Security migration
 - Migrating Portal Information for x\peter to y\peter
!----->WARNING!!!!! Failed trying to migrate user
!----->WARNING!!!!! ignoresidhistory=False
!----->WARNING!!!!! Unknown error (0x80005000)
Pete W. @ 11/14/2006 3:42 AM
re: SharePoint User Utility 2.1 is now complete!
This sounds like either:
a) You have not installed SPS SP2 which is necassary to support the Portal side of the migration or
b) The upgrade had a problem when deploying SP2.
 
If (b), look in the LOGS folder, and you should see a SPUserUtil.log file and I bet you might find something similar to this:
 
================================
00001656 UNK 00000000 00000A44 MigrateAccount: an exception occurred while migrating 'x\user' to 'y\user'.  The exception message was 'Error migrating area contacts'<BR>                                                                 
00001823 UNK 00000000 00000A44 System.Data.SqlClient.SqlException: Could not find stored procedure 'dbo.sps_hMigrateAreaContactSids'.
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Microsoft.SharePoint.Portal.Data.a.c(SqlCommand A_0, Boolean
================================
 
With SP2, it’s part of the upgrade process in which it updates the stored procedures

If you look in your event logs, you’ll probably find an Event 601 indicating not all portal databases were upgraded for whatever reason
See KB http://support.microsoft.com/?id=907308 for instructions on how to bit flip SPSAdmin into rerunning again. (Of course, after you determine what prevented it from running in the first place)
 
The Event (If I remember properly) is just an "Informational" event, and does not scream out at you that it had a problem updating your portal databases.

Please check and see if this is your issue.
Also, I'll be updating my blog (http://blogs.msdn.com/krichie ) in the SPUserUtil category with this information, because I've had quite a few customers note this being a problem .
 
 - Keith Richie
Keith Richie @ 11/16/2006 11:24 AM
re: SharePoint User Utility 2.1 is now complete!
The most likely reason that these stored procedures (sps_hMigrateAreaContactSids, sps_hMigratePersonListingSids) are not available is that the SITE database that contains the Portal site was originally created on SPS SP1 and then restored into a SP2 environment. The stored procedures are only created when you create a new portal on SP2. You can find the stored procedures in the portal site database when you create a new portal on your SPS2003 SP2 environment.
 
Jeroen @ 6/28/2007 11:42 AM
re: SharePoint User Utility 2.1 is now complete!
In fact, there are 4 stored procedures that need to be added to the portal databases when the portal was created prior to SP2 installation:
 
Profile database:
* Orgle_UpdateOrgleRulesWithMigratedAccounts
* profile_UpdateUserProfileSID
 
Portal site database:
* sps_hMigrateAreaContactSids
* sps_hMigratePersonListingSids
 
Jeroen Struik @ 6/28/2007 12:06 PM
re: SharePoint User Utility 2.1 is now complete!
I see a lot of talk regarding spuserutil byt keith richie but cannot seem to find a working download location.
 
Where can we download latest?
Angel50 @ 1/27/2009 9:05 AM
RSS feed
Microsoft Certified Master
MVP Logo
Follow me on Twitter!
Keyword Search
 
View by category
 

Disclaimer:
The contents of this site represent thoughts and opinions of the authors , not those of anyone else - such as past, present and future employers.  This a forum of the exchange of ideas centered on SharePoint technologies.  It is not a support channel.  :)

Copyright © 2004-2010 Maurice Prather, Inc. All rights reserved.