locked
Workflow E-Mail not sent when WSS 3.0 site logged on by certain users RRS feed

  • Question

  • I use WSS 3.0 for our Intranet and have created Help Desk Sites for several departments her using the canned Help Desk Application Template.  I have a few users that appears to have their People - User account corrupted.  When the user enters Help Desk tickets, the Help Desk admin and user do not get the associated "Request Entered" and other Three-Part Workflow generated e-mail.  This works for all other users!  From the root site I can Delete User from Site Collection and it removes the users account from the People and Groups: All People area.  What I expect is that when that user enters their next ticket, that WSS pulls in their account fresh from AD.  This does not happen, it resurrects their corrupted People - User account instead and the user and the Help Desk admin do not get the workflow e-mail.  I can not seem to find a way to fix this.  I've read a half dozen discussions on deleting users from site collections and can't seem to find a suitable answer to this issue.  Can anyone out there help me to nuke this persons WSS People account completely or help me fix it?
    Alan-Seattle
    Friday, February 25, 2011 5:20 PM

All replies

  • We had a similar issue where no matter how many times we would delete a user from a site collection, the next time they went there/were added, it would pull their profile with old data (i.e. old title or old name etc), despite their MySites data and profile on server being correct (thus indicating that the profile import was working correctly).  It had to do with an issue where the Content DBs were set to offline (not actually offline but status offline in Central Admin).  Until we put them back online, it would not update the user.  Could it be something as simple as that? 

    Our profiles weren't corrupted though.  I'm just going off what we found when we were trouble shooting, that the content DBs somehow stored the info and no matter now many times we'd nuke the user from the SC, it'd come back wrong.

    Friday, February 25, 2011 6:18 PM
  • Thanks so much for the quick response!  Its been a while since I checked that, so I went to CA - App Mgmt - Content DBs and clicked on the WSS_Content DB that our Intranet site runs off of.  The Database status still says "Ready" (not Offline) with Windows Authentication.  I guess I'll need to dig more into how the AD handshake is really done to fill in the People accounts or maybe try an stsadm command to nuke the users if I can find one.  Thanks for the suggestion, though.  Has anyone else out there seen this issue?
    Alan-Seattle
    Friday, February 25, 2011 7:00 PM
  • Try please, Alan, to add some line feeds and free space into your posts. Having one massive paragraph does not help forum members to understand your problem (and many will simply ignore it if it is virtually unreadable).

    Hint: If the first version looks like these do, you can go in and Edit your post.

    Moderator


    SP 2010 "FAQ" (mainly useful links): http://wssv4faq.mindsharp.com/default.aspx
    WSS3/MOSS FAQ (FAQ and Links) http://wssv3faq.mindsharp.com/default.aspx
    Both also have links to extensive book lists and to (free) on-line chapters
    Friday, February 25, 2011 10:25 PM
  • Hi Alan,

    For refresh user profile issue, please perform a full profile import schedule.
    If the User name and Account name had been modified, we need to run stsadm.exe –o migrateuser –oldlogin <Domain name\Old user name> -newlogin <Domain name\New user name> -ignoresidhistory to update it (Run this command only on user accounts that are in the same domain). Because the profile synchronization timer job does not correctly synchronize the changes in the user name and account name information.
    Refer to this kb.
    http://support.microsoft.com/kb/953131

    Did the workflow a SPD workflow?
    If it is a SharePoint Designer workflow, please ensure you had added admin group in the receiver. And for the corrupted users, please do a profile full import.

    Best regards,
    Emir

    Monday, February 28, 2011 10:12 AM
  • Mike - Sorry about that, I'll try and make my posts more readable from now on. (Mike: This one is fine!)

    Emir - Thank you for your help!  I tried the stsadm command above on 1 of the non-updated user profiles.  The command said it ran successfully, but when going back to All People on the site and refreshing it, it did not appear to update that account.

    After that, in All People, I deleted the user from the Site Collection.  When I tried that stsadm command again, it errored out saying it couldn't find the old user.

    So I've spent the last hour trying to figure out how to perform a full profile import in WSS 3.0.  Every article I've found references doing that from the Central Admin - App Mgmt - Shared Services Admin section.  I have a Sharepoint 2007 book that references that also, but my WSS 3.0 - Central Admin - App Mgmt screen has no Shared Services Admin section. 

    My CA - App Mgmt page only has 5 sections: 1) Sharepoint Web App Mgmt, 2) App Security, 3) Workflow Mgmt, 4) Sharepoint Site Mgmt, and 5) External Service Connections.  Am I missing something on all this?  Any instructions you could pass my way on how I do a full profile import?


    Alan-Seattle
    • Edited by Mike Walsh FIN Monday, February 28, 2011 5:35 PM Mike comment added
    Monday, February 28, 2011 3:31 PM
  • Emir - Missed the last few questions in your reply.  The workflow is a canned Help Desk app template workflow e-mail which I've modified the message sent using SPD.  It works for everyone but these few users with old profiles.  If I can figure out how WSS does profile imports and can update those users, then I will have the answer.
    Alan-Seattle
    Monday, February 28, 2011 4:31 PM
  • Hi Alan,

    Thanks for your reply.

    WSS could not update AD user profile to SharePoint site in CA, because in WSS, we don't have timer job or out of the box feature that makes the synchronization with active directory only in MOSS 2007.

    Please try these steps:
    stsadm.exe -o migrateuser -oldlogin domian\oldusername -newlogin domian\newusername -ignoresidhistory. Run this command for each modified users.
    Go to site action > site settings > People and group > and update problematic users infomation manually.
    Run stsadm.exe -o spsearch -action fullcrawlstart.
    Check the users infomations, did it update successfully?

    And you can try this script in a test environment to delete users from a group, and add the users back to site, check if the users' infomation updated or not.
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.SharePoint;

    namespace DeleteUsers
    {
        class Program
        {
            static void Main(string[] args)
            {
                using (SPSite siteCollection = new SPSite(args[0]))
                {
                    foreach (SPUser muser in siteCollection.RootWeb.SiteUsers)
                    {
                        Console.WriteLine(muser.LoginName);

                        using (SPWeb web = siteCollection.OpenWeb())
                        {
                            SPUser user = web.SiteUsers[muser.LoginName];

                            Console.WriteLine("Current user: " + user.LoginName);

                            try
                            {
                                if (!user.IsDomainGroup && !user.IsSiteAdmin)
                                {
                                    Console.WriteLine("Deleting!");

                                    web.SiteUsers.Remove(user.LoginName);
                                    web.Update();
                                }
                            }
                            catch (Exception ex)
                            {
                                // user not found
                            }
                        }
                    }

                }
            }
        }
    }

    Best regards,
    Emir

    Tuesday, March 1, 2011 1:01 PM
  • Emir - Thanks again for all your help!  I had a feeling that WSS had no easy means to sync with AD, as I could find no documentation anywhere on that.

    Running the stsadm commands on the site did not update the bad users account/profile even after the fullcrawlstart.

    I am not a programmer, so I haven't been able to figure out how to run the code segment you provided.  I'm an IT Manager with a smattering of other IT skills from past experience. 

    I do have SQL Server Mgmt Studio Express installed with Sharepoint on our Intranet server and I know how to do basic T-SQL.  I also have both Visual Studio 2008 on my main PC which I use to modify SSRS reports and Sharepoint Designer 2007 which I use for WSS workflow changes.  I have a Test Sharepoint server and a duplicate of our Intranet site on that server that I use to develop new Sharepoint content for the production Intranet site.

    I assume the database I need to connect to is WSS_Content.  In an attempt to reverse engineer the arguments being passed in, looking at your C# code, am I only passing in a string list of usernames separated by commas?

    What environment would I run this code in and how would I point it to the WSS_Content DB as it's data source?

    I would appreciate any further help you could give me.


    Alan-Seattle
    Tuesday, March 1, 2011 5:04 PM