Cleanup User Profiles excluded from import

Hey guys!
since weeks I got messed up with user profiles in MOSS2010.
Initially we have setup AD synchroization from whole AD. Some tests were done and numerous OUs were excluded from the sync connection.
Hence thousands of profiles should be deleted from SharePoint, but still kept in AD.
SharePoint has moved them to "Profiles Missing from Import" which was a first milestone. However, we use the profiles in organization webparts and the "should be-" deleted profiles still appear in those webparts.
We were waiting more than 14 days for automatical deletion which doesn´t took any affect.
MySite cleanup Job and
User Profile Change Cleanup Job have been executed by schedule and manualla - accounts still exist
Full sync has been executed - accounts still exist.
I have executed the well known PowerShell script to delete NonImportetObjects
Set-SPProfileServiceApplication $upa -GetNonImportedObjects $true
But I get only five profiles as result. On SharePoint CA I have thousands of profiles on "Profiles Missing from Import". So I guess the execution of
Set-SPProfileServiceApplication $upa -PurgeNonImportedObjects $true
wont help me out in this case.
Due to the large amount of profiles, a manual deletion is not a suitable solution.
Do you have any idea how to fix this?

Just one quick check, did you start user Profile service after OUs exclusion in Sync connection ? if not then please restart the service and perform Full Sync.
Run below script on SQL server to check all users marked for deletion, these users will be picked up by "MY Site clean up job" for deletion:
1. Script to get list of all user which are inactive and marked in "Profile missing", update profile DB Name :
SELECT *  FROM [User Profile Service Application_ProfileDB_02f7d99cc26542978de8627838c980b8].[dbo].[UserProfile_Full] with (nolock)  where bDeleted = 1GO
2. Script to check if sites marked as deletion, update profile DB name;
SELECT *  FROM [User Profile Service Application_ProfileDB_02f7d99cc26542978de8627838c980b8].[dbo].[MySiteDeletionStatus]GO
Thanks, ShankarSingh

Similar Messages

  • Retrieving Webcenter User Profile information from portlet programmaticaly

    Hi guys,
    I'm triing to retrieve WC user profile information programmatically from a jsr 286 portlet but:
    ADFContext.getCurrent().getSecurityContext().getUserName(); ----> always return anonymous
    ADFContext.getCurrent().getSecurityContext().isAuthenticated() ----> always return false
    (i'm obviously authenticated on webcenter with my profile)
    Anyone knows what the problem is or how to retrieve webcenter user profile information from within a portlet?
    Thank you.

    thank you for the reply, but that issue seems not resolved.
    I hope there are other ways to retrieve user information.
    Anyone knows if there is a way to retrieve programmatically user profile from a jsr286 portlet inside webcenter?
    Edit:
    i've tried passing this parameter to the portlet : #{webCenterProfile[securityContext.userName].userName}
    I can retrieve from the request object and the username is correct, the problem is that i need the whole profile (i have some logic that are dependant on user email, lastname etc), and adding all profile attributes as parameter seems to me not the correct solution.
    I need a way to access the user profile directly from the portlet.
    Edited by: ZOLTAN on Jun 22, 2011 5:56 AM

  • We are using SharePoint 2010 server with service pack 1 want to remove/delete old user profiles & site from server

    Hi Team,
    We are using SharePoint 2010 server with service pack 1, we want to remove/delete old user profiles, access & site from server
    is there any script or feature available using that we can only remove dactivated/deleted/old user profiles, access & site.
    Thanks
    NPratik

    Take a look at Metalogix ControlPoint, which will compare user accounts on SharePoint to Active Directory and remove accounts that no longer exist in AD (or are disabled).
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Accessing Portal User profile info from report

    Once the user logs into portal, I would like to access some of the user profile information (personal or organizational details). I need to find the stored value of the employee number, e_mail and department. This is needed to restrict the information that will be returned to the user in portal reports.
    ie. Access the portal users department and only show them information fo that specific department. If I can access I can store the value in a session variable or cookie.

    Just have a look at <portal_schema>.wwsec_person$
    There is also an API <portal_schema>.wwctx_api.get_user to get the user currently logged in.
    Thanx,
    Chetan.

  • After a UPSA connection edit, all my user profiles are "missing from import"

    Hi there,
    I've got a problem with my User Profile Service Application. I edited my existing connection to add some new OU containers to the list, after the networks team had done some
    restructuring to reflect an organizational change. Then I ran a Full Synchronization. But now all of my user profiles show up under the "Missing from Import" list. I still have 943 profiles in SharePoint, and not surprisingly, people search isn't
    working. I suspect that I did something wrong in the process of selecting the Users OU containers in the AD tree (in Populate Containers), but I cannot see what, since I replicated the selections that had been made for an unchanged department, to
    the ones that had been reorganized.
    Any help appreciated.
    Tom
    SharePoint Systems Officer, Capital Regional District, BC, Canada

    Hi  Tom ,
    According to your description, my understanding is that all the user profiles are showing up under "Profiles missing from import" list after you edited the existing User Profile Synchronization
    Connection.
    For your issue, it can be caused by that your User Profile Synchronization Connection is unable to connect to  your AD. Please make sure  the account used to connect to Active Directory to import
    profiles has access to the Organizational Unit you are importing from. By default this account is the Default Content Access account. And the Default Content Access account  must be a domain user account and it must have read access to external or secure
    content sources that you want to crawl by using this account.
    Then you need to check if the “Profile Synchronization” job status is “succeed”.
    Also please check the “Sync filter” for the service, and make sure the account are not include in the Exclusion Filter for Users.
    For a workaround, you can just delete the existing connection , recreate it and perform a full synchronization.
    Thanks,
    Eric
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support,
    contact [email protected]
    Eric Tao
    TechNet Community Support

  • Not able to import User Profile Property via BDC Connection

    I want to fill some of the user profile properties via BDC Connection. I already have created more than 50 user profiles which I imported from AD. Now, in order to import profiles properties using BDC, I performed below steps:
    a) Ensured Business Data Connectivity and Secure Store are running and used account has Full permission on these services.
    b) Created an external content type using SharePoint Designer and created an external list to ensure that data is available:
    Set email field as identifier, which is one of the columns in SQL table and is a primary key.
    Created Read Item and Read List operations on above ECT.
    c) Checked the presence of above ECT in BDC service and ensured it has all necessary permissions i.e. Edit, Execute etc.
    d) Configure a new synchronization connection in User profile Service by selecting the same ECT. Here I chose to connect 1:1 mapping and picked up WorkEmail property to return items.
    e) Mapped one of the custom property with one of the fields of SQL Server. Here, I ensured they both have same type.
    f) Ran Full Synchronize after above steps. On checked, I do not find any data in the mapped properties.
    Below are the traces of LOGS:
    Profile sync step BusinessConnection (stage BusinessDataCatalogFullImport) finished successfully. 8ecffe9c-6d0a-e0e8-ec25-eb7a5f1c1215
    04/21/2015 12:37:00.68  OWSTIMER.EXE (0x337C)                    0x02DC SharePoint Portal Server       User Profiles                
     ac4iu Medium   Profile sync step BusinessConnection (stage BusinessDataCatalogFullSync) started execution. 
    04/21/2015 12:37:00.68  OWSTIMER.EXE (0x337C)                    0x4CCC SharePoint Foundation          Topology                     
     8xqz Medium   Updating SPPersistedObject UserProfileImportJob Name=UserProfileServiceApplication_ProfileImportJob. Version: 2294209 Ensure: False, HashCode: 36728399, Id: 4f037df6-d339-4b5a-8892-ef3699c16b20, Stack:    at
    Microsoft.SharePoint.Administration.SPJobDefinition.Update()     at Microsoft.Office.Server.UserProfiles.UserProfileImportJob.SaveStatus()     at Microsoft.Office.Server.UserProfiles.UserProfileImportJob.Execute()    
    at Microsoft.Office.Server.Administration.UserProfileApplicationJob.Execute(SPJobState jobState)     at Microsoft.SharePoint.Administration.SPTimerJobInvokeInternal.Invoke(SPJobDefinition jd, Guid targetInstanceId, Boolean isTimerService,
    Int32& result)     at Microsoft.SharePoint.Administration.SPTimerJobInvoke.Invoke(TimerJobExecuteData& data, Int32& result)   8ecffe9c-6d0a-e0e8-ec25-eb7a5f1c1215
    04/21/2015 12:37:01.70  OWSTIMER.EXE (0x337C)                    0x4CCC SharePoint Portal Server       User Profiles                
     ac4iq Medium   Profile sync step BusinessConnection (stage BusinessDataCatalogFullSync) finished successfully. 8ecffe9c-6d0a-e0e8-ec25-eb7a5f1c1215
    04/21/2015 12:37:01.70  OWSTIMER.EXE (0x337C)                    0x4CCC SharePoint Foundation          Topology                     
     8xqz Medium   Updating SPPersistedObject UserProfileImportJob Name=UserProfileServiceApplication_ProfileImportJob. Version: 2294211 Ensure: False, HashCode: 36728399, Id: 4f037df6-d339-4b5a-8892-ef3699c16b20, Stack:    at
    Microsoft.SharePoint.Administration.SPJobDefinition.Update()     at Microsoft.Office.Server.UserProfiles.UserProfileImportJob.SaveStatus()     at Microsoft.Office.Server.UserProfiles.UserProfileImportJob.Execute()    
    at Microsoft.Office.Server.Administration.UserProfileApplicationJob.Execute(SPJobState jobState)     at Microsoft.SharePoint.Administration.SPTimerJobInvokeInternal.Invoke(SPJobDefinition jd, Guid targetInstanceId, Boolean isTimerService,
    Int32& result)     at Microsoft.SharePoint.Administration.SPTimerJobInvoke.Invoke(TimerJobExecuteData& data, Int32& result)   8ecffe9c-6d0a-e0e8-ec25-eb7a5f1c1215
    04/21/2015 12:37:02.53  OWSTIMER.EXE (0x337C)                    0x319C SharePoint Foundation          Monitoring                   
     nasq Medium   Entering monitored scope (Timer Job job-upgrade-sites). Parent No 9f354308-7b18-40f3-80d6-c7d0616cd9e5
    04/21/2015 12:37:02.53  OWSTIMER.EXE (0x337C)                    0x319C SharePoint Foundation          Logging
    Correlation Data       xmnv Medium   Name=Timer Job job-upgrade-sites a0cffe9c-7d80-e0e8-ec25-e024bd692f28
    04/21/2015 12:37:02.67  OWSTIMER.EXE (0x337C)                    0x319C SharePoint Foundation          Monitoring                   
     b4ly Medium   Leaving Monitored Scope (Timer Job job-upgrade-sites). Execution Time=136.402252241556 a0cffe9c-7d80-e0e8-ec25-e024bd692f28
    04/21/2015 12:37:04.94  w3wp.exe (0x4440)                        0x4070 SharePoint Portal Server       Runtime                      
     8gp7 Medium   Topology cache updated. (AppDomain: /LM/W3SVC/1712947452/ROOT-1-130740700225995467) 
    04/21/2015 12:37:05.00  OWSTIMER.EXE (0x337C)                    0x1FA0 SharePoint Foundation          Monitoring                   
     aeh57 Medium   Sql Ring buffer status eventsPerSec = ,processingTime=0,totalEventsProcessed=0,eventCount=0,droppedCount=0,memoryUsed=0 
    04/21/2015 12:37:05.52  w3wp.exe (0x4440)                        0x3DD8 SharePoint Foundation        
     Topology                       e5mc Medium   WcfSendRequest: RemoteAddress: 'http://172.20.21.163:32843/af95f58c149b4b61b13c0d0250479beb/MetadataWebService.svc'
    Channel: 'Microsoft.SharePoint.Taxonomy.IMetadataWebServiceApplication' Action: 'http://schemas.microsoft.com/sharepoint/taxonomy/soap/IDataAccessReadOnly/GetChanges2' MessageId: 'urn:uuid:324f52f2-8c3a-49e3-9d2c-6119776db97b' 08d6992a-9413-4d09-b8f9-bcfb08266cc7
    04/21/2015 12:37:05.52  w3wp.exe (0x4848)                        0x3D98 SharePoint Foundation        
     Monitoring                     nasq Medium   Entering monitored scope (ExecuteWcfServerOperation). Parent No 
    04/21/2015 12:37:05.52  w3wp.exe (0x4848)                        0x3D98 SharePoint Foundation        
     Topology                       e5mb Medium   WcfReceiveRequest: LocalAddress: 'http://ispantest.domainname.local:32843/af95f58c149b4b61b13c0d0250479beb/MetadataWebService.svc'
    Channel: 'System.ServiceModel.Channels.ServiceChannel' Action: 'http://schemas.microsoft.com/sharepoint/taxonomy/soap/IDataAccessReadOnly/GetChanges2' MessageId: 'urn:uuid:324f52f2-8c3a-49e3-9d2c-6119776db97b' 08d6992a-9413-4d09-b8f9-bcfb08266cc7
    04/21/2015 12:37:05.52  w3wp.exe (0x4848)                        0x3D98 SharePoint Server            
     Taxonomy                       fuc5 Medium   MetadataWebServiceApplication.GetChanges called on 'Managed Metadata Service' starting. 08d6992a-9413-4d09-b8f9-bcfb08266cc7
    04/21/2015 12:37:05.53  w3wp.exe (0x4848)                        0x3D98 SharePoint Server            
     Taxonomy                       fuc6 Medium   MetadataWebServiceApplication.GetChanges called on 'Managed Metadata Service' completed. 08d6992a-9413-4d09-b8f9-bcfb08266cc7
    04/21/2015 12:37:05.53  w3wp.exe (0x4848)                        0x3D98 SharePoint Foundation        
     Monitoring                     b4ly Medium   Leaving Monitored Scope (ExecuteWcfServerOperation). Execution Time=2.03964470344695 08d6992a-9413-4d09-b8f9-bcfb08266cc7
    04/21/2015 12:37:05.53  w3wp.exe (0x4440)                        0x3DD8 SharePoint Foundation        
     General                        aipzw High     An exception occurred while writing a service call usage
    entry.  Exception details: System.ObjectDisposedException: Safe handle has been closed     at
    System.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean& success)     at Microsoft.Win32.Win32Native.GetTokenInformation(SafeTokenHandle TokenHandle, UInt32 TokenInformationClass, SafeLocalAllocHandle TokenInformation,
    UInt32 TokenInformationLength, UInt32& ReturnLength)     at System.Security.Principal.WindowsIdentity.GetTokenInformation(SafeTokenHandle tokenHandle, TokenInformationClass tokenInformationClass)     at System.Security.Principal.WindowsIdentity.get_User()    
    at System.Security.Principal.WindowsIdentity.GetName()     at System.Security.Principal.WindowsIdentity.get_Name()     at Microsoft.SharePoint.Utilities.SPUtili... 08d6992a-9413-4d09-b8f9-bcfb08266cc7

    Thanks for the very clear answer back. You're a star. Much appreciated and better to know where you stand directly. Have called the helpdesk and are willing to solve and take this one back in, although it will hurt. The macBook Pro continues to be out of reach economically, so it would need to be the white macBook...
    Just wanted to check some last items before making final decisions as I am checking an alternative workaround
    - my camcorder supports recording on memory stick which can then be read into iMovie without problem. Any idea if memory stick is lower in resolution as normal DV tape recording? If this is comparable I can choose to from now on switch to memory stick. When I record on the stick it is then recognised as MOV.
    - is there any other (non apple made) OSX software on the market to facilitate only the USB driven capturing? Hence did any other SW supplier plug this hole? The old windows pc has proven that the camera streams images via the USB port (hence don't at all understand why iMovie cannot just support capturing via USB streaming...!!!!) and I understand it is more that iMovie doesn't support capturing images via USB, but does anybody else at least for the capturing bit?
    - You read about Firewire - USB adapters/hubs/convertors. It is however never clear if it would solve this issue. Dead-end street or an option?
    - I can capture my archive of old tapes on my old PC and then put them into my Mac. However the capturing SW makes one large file of it and no event is split. Any idea if on import iMovie could automatically split this into different events (based on date or start/stop?)
    - final question: does iMovie when capturing video from tapebased camcorder automatically split events based on date or start/stop? Would be silly to make switch and then still find out I need to manually make the cuts.
    Very grateful for your support. Just a couple of days left to make final decision...

  • Failed to Upgrade User Profile from Sharepoint 2010 to Sharepoint 2013

    I have upgraded the MMS service successfully. I tried to upgrade the user profile service from SharePoint 2010 to SharePoint 2013 farm using PowerShell script.
    $applicationPool = New-SPServiceApplicationPool -Name "User Profile App Pool" -Account "Domain\accountname"
    $upa = New-SPProfileServiceApplication -Name 'User Profile Service Application' -ApplicationPool $applicationPool -ProfileDBName 'SharePoint_ProfileDB' -SocialDBName 'SharePoint_SocialDB' -ProfileSyncDBName 'SharePoint_SyncDB'
    Error in powersehell
    New-SPProfileServiceApplication : Action 15.0.42.0 of
    Microsoft.Office.Server.Upgrade.ProfileDatabaseSequence failed.
    At line:1 char:8
    + $upa = New-SPProfileServiceApplication -Name 'User Profile Service
    Application'  ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ~~~
        + CategoryInfo          : InvalidData: (Microsoft.Offic...viceApplication:
       SPCmdletNewProfileServiceApplication) [New-SPProfileServiceApplication], S
      PUpgradeException
        + FullyQualifiedErrorId : Microsoft.Office.Server.UserProfiles.PowerShell.
       SPCmdletNewProfileServiceApplication
    ULS Log
    PartitionPropertiesCache.RefreshPartitionProperties: Encountered error: System.InvalidOperationException: Operation is not valid due to the current state of the object.   
     at Microsoft.Office.Server.Administration.UserProfileApplication.PartitionPropertiesCache.get_SqlSession()   
     at Microsoft.Office.Server.Administration.UserProfileApplication.PartitionPropertiesCache.RefreshPartitionProperties()
    Can anyone explain, why I am getting this error.   Thanks. 

    Hi Rashid,
    Before Creating the Service Application, User Profile Service should be started as Central Administration -> Manage Services on server -> Start User Profile Service.
    After the serivce is started, then test again, compare the result.
    Also, you can upgrade User Profile service as the following article:
    http://somethingaboutsharepoint.blogspot.com/2013/04/sharepoint-user-profile-service.html
    In addition, here are two similar posts for this issue, please check if they are useful for you:
    http://blogs.technet.com/b/saantil/archive/2013/03/31/sp-2013-error-when-upgrading-the-user-profile-service-application.aspx
    http://blogs.architectingconnectedsystems.com/blogs/cjg/archive/2014/12/10/Action-15.0.14.0-of-Microsoft.Office.Server.Upgrade.ProfileDatabaseSequence-failed.aspx
    Best Regards,
    Wendy
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • To find out the list of user profiles marked for deletion using powershell or C# for SharePoint 2010

    I have Disabled the MysiteCleanup timer Job and disabled few user profile accounts in AD.  Then in SharePoint user profile service, ran the User profile full synchronise job.
    I am able to find the marked for deletion records from the table (UserProfile_Full) in SQL server and also in the Manage User profile menu of the central admin under "Profile missing from import"
    view.  But  am not getting these records, If I execute the  below powershell command.
    $upa = Get-spserviceapplication -name 'User Profile Service Application'
    Set-SPProfileServiceApplication $upa -GetNonImportedObjects $true
    This command shows only the system account and not the accounts, which are marked for deletion .
    Please suggest how to get this result.
    Thanks & Regards,
    Yoga

    What result do you get hen use use type below in powershell
    $upa

  • User Profiles - MVP Advice Needed

    Hi
    I'm looking for some guidance around how to/best practice to complete full-cycle synchronization of user profile properties.
    Oracle HR is the source of truth for people related data. We run a synchronization to Active Directory of the people data from Oracle every 3 hours.
    SharePoint imports the user profile properties from the AD attributes using the User Profile Synchronization service (not AD Import), including some usage of the extensionAttributeN. User profiles properties are setup to use both OOTB and custom
    properties.
    It is now a requirement to allow SharePoint users to edit/manage a number of their profile properties through the profile edit feature in My Sites along with SharePoint only profile properties. The edited properties would be both OOTB SharePoint and some
    custom properties The edited properties that originated in Oracle would need to be synchronized back to Oracle in some manner. 
    So my question is, what options do I have? We're trying to force configurable solutions where possible over custom coding, though it's highly unlikely this is configurable, though I honestly do not know.
    All the back end processes outside of SharePoint for persisting data into Oracle are catered for via WCF, it's the how and what's the best practice at the SharePoint end got me stumped. A queue of some description - database preferably maybe.
    How would you approach this requirement?
    I'd appreciate any advice or pointers you can give me.
    Kind regards,
    Lee

    Hi Pavel
    I greatly appreciate your guidance and taking the time to respond.
    I do have an understanding of what is proposed.
    As all properties are imported from AD, I cannot update these to be used to export to Oracle any changes the user makes. I can add new properties specific for allowing the updates to be persisted to Oracle, these would not be displayed except in edit profile.
    With this scenario, there is an obvious disconnect between the imported and exported property values and is really just a form for updating Oracle, blank for initial load and holding the updated values if previous used. I was hoping the properties for exporting
    could be populated with the values of the corresponding imported properties when loading in the edit profile, otherwise null values or incorrect values could be persisted when not expected, though a null/empty value would be valid if a user wanted to clear
    a specific property - remove a phone number for example.
    Do you have any thoughts on how to handle this disconnect?
    Kind regards,
    Lee

  • It is Possible to Migrate Local User Profile to Roaming Profile Using USMT?

    Dear All,
    1st, I'm following guide at http://support.microsoft.com/kb/142682 to copy user profiles to another user, but the problem is the 'Copy to' button is not active (grey). I try
    using 3rd party tools, still no change.
    2nd, I try to transfer local profile on the same machine and different user using Windows Easy Transfer, it's work and all of data has been restore to a new user. But not all App Settings is restored, when I open Outlook 2010 and Windows
    Live Mail, there's need to enter password again. That is not problem for me.
    3rd, After migrate/transfer (2nd step) I want to migrate from local profile to roaming profile, but user profile setting on local profile is not copied to roaming profile, such as Email setting need to create new account but all data is
    not problem, because I have already configure on ADUC and GPMC.
    My question is:
    1. How to copy or move all Application settings on AppData Local folder to roaming profile?
    2. How about USMT, it is possible to migrate user profile settings from local to roaming? if is the best tools, how to do this? 
    Please, advice...
    Thanks,
    Hendra

    First, I dont understand why you're using the copy profile method. I'll make the assumption that you have a domain user account that you you need it's files and settings moving to another machine.
    In that scenario then there's a simple guide here:
    Migrate User Accounts
    For Roaming Profiles and Redirected folders; you can follow the
    Infrastructure Planning and Design (IPD) Guide for Windows User State Virtualization (USV).
    It sounds like a mouthfull but it actually makes the whole process easy. There's also a video
    here.
    /Andrew
    Blog: http://scriptimus.wordpress.com

  • User Profile Syncrhonization Scheduling twice a day

    Client wants to schedule User Profile Synchronization from AD scheduling twice a day at 12.00 AM and 12.00 PM which includes any update in the AD photos also. How can I achieve this ?

    You cannot set multiple single run schedules for timer jobs within SharePoint. You can only do one of the following:
    Run every X minute
    Run between X and N minute every hour
    Run daily [between times]
    Run weekly [between days/times]
    Run monthly [days/times]
    There is nothing in CA that will allow you to input 'run at noon and midnight', so the other option is to control it via PowerShell/Task Scheduler.
    Trevor Seward
    Follow or contact me at...
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Display thumbnail view of user profile photo in UIview

    I am developing an application where i have to access user profile data from server in XML format, which contains user profile image url also. My problem is that i have to display the photos in a grid like format on the view controller (eg 4 images in a column and 5 rows i.e 20 images) and when a user clicks on the photo he will be displayed with next screen containing profile detail information. Well I am new, please help.

    canitnow wrote:
    >
    >
    > Is there anyway to display a Flash Library in a
    thumbnail view?
    > thanks
    No there is no such option.
    Best Regards
    Urami
    !!!!!!! Merry Christmas !!!!!!!
    Happy New Year
    <urami>
    If you want to mail me - DO NOT LAUGH AT MY ADDRESS
    </urami>

  • Reorder User Profile properties in SharePoint 2013.

    Hi, I have created custom user profile properties in SharePoint 2013 under User Profile Service Application, now I want to change the order of properties as well as also want to move OOTB properties and custom properties from one section to another section.
    Is there any Power Shell command available to move properties between sections?
    Regards,    

    Hi Prakash,
    Use the script in this blog to retrive user profile properties from a certain section.
    http://stevemannspath.blogspot.in/2013/05/sharepoint-20102013-using-powershell-to.html
    # Dynamic Settings
    $mySiteUrl = "http://mysite.company.net"
    $findProperty = "PictureUrl"
    Next, we needed to establish the server context:
    # Obtain Context based on site
    $mySiteHostSite = Get-SPSite $mySiteUrl
    $mySiteHostWeb = $mySiteHostSite.OpenWeb()
    $context = Get-SPServiceContext $mySiteHostSite
    From the context we can instantiate a ProfileManager object and retrieve all of the SharePoint User Profiles:
    # Obtain Profiles from the Profile Manager
    $profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
    $AllProfiles = $profileManager.GetEnumerator()
    $outputCollection = @()
    Next, we loop through the profiles and retrieve the account name (for identification purposes) and the property we are interested in finding:
    # Loop through profiles and retrieve the desired property
    foreach ($profile in $AllProfiles)
    $output = New-Object System.Object
    $output | Add-Member -type NoteProperty -Name AccountName -Value $profile["AccountName"].ToString()
    $output | Add-Member -type NoteProperty -Name $findProperty -Value $profile[$findProperty]
    $outputCollection += $output
    Finally, we list out the collection items that do not have a value for the property (ie. null):
    # List all Accounts that do not contain the property
    $outputCollection | Where-Object {[bool]$_.($findProperty) -ne $true}
    FULL SCRIPT
    # Dynamic Settings
    $mySiteUrl = "http://mysite.company.net"
    $findProperty = "PictureUrl"
    Write-Host "Beginning Processing--`n"
    # Obtain Context based on site
    $mySiteHostSite = Get-SPSite $mySiteUrl
    $mySiteHostWeb = $mySiteHostSite.OpenWeb()
    $context = Get-SPServiceContext $mySiteHostSite
    # Obtain Profiles from the Profile Manager
    $profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
    $AllProfiles = $profileManager.GetEnumerator()
    $outputCollection = @()
    # Loop through profiles and retrieve the desired property
    foreach ($profile in $AllProfiles)
    $output = New-Object System.Object
    $output | Add-Member -type NoteProperty -Name AccountName -Value $profile["AccountName"].ToString()
    $output | Add-Member -type NoteProperty -Name $findProperty -Value $profile[$findProperty]
    $outputCollection += $output
    # List all Accounts that do not contain the property
    $outputCollection | Where-Object {[bool]$_.($findProperty) -ne $true}
    In this blog, we can refer the script to create new section and new properties to this section.
    http://sergioblogs.blog.co.uk/2013/01/08/powershellscript-to-add-new-user-profile-properties-from-the-term-store-15407371/
    # PowerShell Script to Add New User Profile Properties from the Term Store
    # Get parameters
    $mySiteWebApp = Read-Host "Please enter the MySite Web Application URL"
    $termStoreSrvApp = Read-Host "Please enter the Term Store Service Application name"
    # Add SharePoint DLLs
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Sharepoint.Administration")
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Sharepoint.Taxonomy")
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server")
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles")
    # Get site collection for MySite
    #$sitecollection = Get-SPSite | Where-Object {$_.Url -eq "http://yourMySiteHostURL"}
    $sitecollection = Get-SPSite | Where-Object {$_.Url -eq $mySiteWebApp}
    if($sitecollection -ne $null) {
    # Get the taxonomy session
    $taxSession = Get-SPTaxonomySession -site $sitecollection
    # Get the term store - you will need to amend the value for the correct name of your MMS Name
    #$termStore = $taxSession.TermStores["Managed Metadata Service"]
    $termStore = $taxSession.TermStores[$termStoreSrvApp]
    if($termStore -ne $null) {
    # Get the term store group for Swisslo
    $termStoreGroup = $termStore.Groups["Name of Term Store"]
    # Get the term sets - Preset with examples for terms (Customer, Function, IndustrySegment, Language, Location, Organization), amend as required
    $termSetCustomer = $termStoreGroup.TermSets["Customer"]
    $termSetFunction = $termStoreGroup.TermSets["Function"]
    $termSetIndustrySegment = $termStoreGroup.TermSets["Industry Segment"]
    $termSetLanguage = $termStoreGroup.TermSets["Language"]
    $termSetLocation = $termStoreGroup.TermSets["Location"]
    $termSetOrganization = $termStoreGroup.TermSets["Organization"]
    # Get the user profile app - change UPS Name as required
    $serviceApplication = Get-SPServiceApplication | ?{$_.TypeName -eq "User Profile Service Application"}
    $serviceContext = [Microsoft.SharePoint.SPServiceContext]::GetContext($serviceApplication.ServiceApplicationProxyGroup, [Microsoft.SharePoint.SPSiteSubscriptionIdentifier]::Default)
    $userProfileConfigManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager $serviceContext
    $userProfilePropertyManager = $userProfileConfigManager.ProfilePropertyManager
    $userProfileTypeProperties = $userProfilePropertyManager.GetProfileTypeProperties([Microsoft.Office.Server.UserProfiles.ProfileType]::User)
    $userProfileSubTypeManager = [Microsoft.Office.Server.UserProfiles.ProfileSubTypeManager]::Get($serviceContext)
    $userProfile = $userProfileSubTypeManager.GetProfileSubtype([Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::GetDefaultProfileName([Microsoft.Office.Server.UserProfiles.ProfileType]::User))
    $userProfileProperties = $userProfile.Properties
    $ps = $userProfileSubTypeManager.GetProfileSubtype([Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::GetDefaultProfileName([Microsoft.Office.Server.UserProfiles.ProfileType]::User))
    $pspm = $ps.Properties
    #Create new section in User Profiles - set the 'Name of the Section' throughout next chunk of code
    Write-Host "Creating new section for 'Name of Section'...."
    $allEntries = $userProfileConfigManager.GetPropertiesWithSection();
    $sectionExists =$false
    foreach ($temp in $allEntries) {
    if($temp.Name -eq "Name of Section") {
    Write-Host "Section for 'Name of Section' already exists.";
    $sectionExists = $true;
    $section = $temp
    if ($sectionExists -ne $true){
    $section = $allEntries.Create($true);
    $section.Name = "Name of Section";
    $section.ChoiceType = [Microsoft.Office.Server.UserProfiles.ChoiceTypes]::Off;
    $section.DisplayName = "Name of Section"
    $section.Commit();
    Write-Host "Section 'Name of Section' created"
    Write-Host "Creating new properties...."
    $Privacy = "public"
    $PrivacyPolicy = "OptIn"
    $coreProperties = $userProfilePropertyManager.GetCoreProperties()
    # Setting Custom Properties below, amend names as you did above to match your fields
    # Set new Custom Property for "Customer"
    $PropertyName = "SLCustomer"
    $PropertyDisplayName = "Customer"
    $newProperty = $coreProperties.Create($false)
    $newProperty.Name = $PropertyName
    $newProperty.DisplayName = $PropertyDisplayName
    $newProperty.Type = "string"
    $newProperty.Length = "50"
    $newProperty.IsMultivalued = $true
    $newProperty.TermSet = $termSetCustomer
    # Add the new property
    $coreProperties.Add($newProperty)
    $profileTypeProp = $userProfileTypeProperties.Create($newProperty)
    $profileTypeProp.IsVisibleOnEditor = $true
    $profileTypeProp.IsVisibleOnViewer = $true
    $userProfileTypeProperties.Add($profileTypeProp)
    $profileSubTypeProp = $pspm.Create($profileTypeProp);
    $profileSubTypeProp.IsUserEditable = $true
    $profileSubTypeProp.DefaultPrivacy = $Privacy
    $profileSubTypeProp.AllowPolicyOverride
    $pspm.Add($profileSubTypeProp);
    # Set new Custom Property for "Function"
    $PropertyName = "SLFunction"
    $PropertyDisplayName = "Function"
    $newProperty = $coreProperties.Create($false)
    $newProperty.Name = $PropertyName
    $newProperty.DisplayName = $PropertyDisplayName
    $newProperty.Type = "string"
    $newProperty.Length = "50"
    $newProperty.IsMultivalued = $true
    $newProperty.TermSet = $termSetFunction
    # Add the new property
    $coreProperties.Add($newProperty)
    $profileTypeProp = $userProfileTypeProperties.Create($newProperty)
    $profileTypeProp.IsVisibleOnEditor = $true
    $profileTypeProp.IsVisibleOnViewer = $true
    $userProfileTypeProperties.Add($profileTypeProp)
    $profileSubTypeProp = $pspm.Create($profileTypeProp);
    $profileSubTypeProp.IsUserEditable = $true
    $profileSubTypeProp.DefaultPrivacy = $Privacy
    $profileSubTypeProp.AllowPolicyOverride
    $pspm.Add($profileSubTypeProp);
    # Set new Custom Property for "Industry Segment"
    $PropertyName = "SLIndustrySegment"
    $PropertyDisplayName = "Industry Segment"
    $newProperty = $coreProperties.Create($false)
    $newProperty.Name = $PropertyName
    $newProperty.DisplayName = $PropertyDisplayName
    $newProperty.Type = "string"
    $newProperty.Length = "50"
    $newProperty.IsMultivalued = $true
    $newProperty.TermSet = $termSetIndustrySegment
    # Add the new property
    $coreProperties.Add($newProperty)
    $profileTypeProp = $userProfileTypeProperties.Create($newProperty)
    $profileTypeProp.IsVisibleOnEditor = $true
    $profileTypeProp.IsVisibleOnViewer = $true
    $userProfileTypeProperties.Add($profileTypeProp)
    $profileSubTypeProp = $pspm.Create($profileTypeProp);
    $profileSubTypeProp.IsUserEditable = $true
    $profileSubTypeProp.DefaultPrivacy = $Privacy
    $profileSubTypeProp.AllowPolicyOverride
    $pspm.Add($profileSubTypeProp);
    # Set new Custom Property for "Language"
    $PropertyName = "SLLanguage"
    $PropertyDisplayName = "Language"
    $newProperty = $coreProperties.Create($false)
    $newProperty.Name = $PropertyName
    $newProperty.DisplayName = $PropertyDisplayName
    $newProperty.Type = "string"
    $newProperty.Length = "50"
    $newProperty.IsMultivalued = $true
    $newProperty.TermSet = $termSetLanguage
    # Add the new property
    $coreProperties.Add($newProperty)
    $profileTypeProp = $userProfileTypeProperties.Create($newProperty)
    $profileTypeProp.IsVisibleOnEditor = $true
    $profileTypeProp.IsVisibleOnViewer = $true
    $userProfileTypeProperties.Add($profileTypeProp)
    $profileSubTypeProp = $pspm.Create($profileTypeProp);
    $profileSubTypeProp.IsUserEditable = $true
    $profileSubTypeProp.DefaultPrivacy = $Privacy
    $profileSubTypeProp.AllowPolicyOverride
    $pspm.Add($profileSubTypeProp);
    # Set new Custom Property for "Location"
    $PropertyName = "SLLocation"
    $PropertyDisplayName = "Location"
    $newProperty = $coreProperties.Create($false)
    $newProperty.Name = $PropertyName
    $newProperty.DisplayName = $PropertyDisplayName
    $newProperty.Type = "string"
    $newProperty.Length = "50"
    $newProperty.IsMultivalued = $true
    $newProperty.TermSet = $termSetLocation
    # Add the new property
    $coreProperties.Add($newProperty)
    $profileTypeProp = $userProfileTypeProperties.Create($newProperty)
    $profileTypeProp.IsVisibleOnEditor = $true
    $profileTypeProp.IsVisibleOnViewer = $true
    $userProfileTypeProperties.Add($profileTypeProp)
    $profileSubTypeProp = $pspm.Create($profileTypeProp);
    $profileSubTypeProp.IsUserEditable = $true
    $profileSubTypeProp.DefaultPrivacy = $Privacy
    $profileSubTypeProp.AllowPolicyOverride
    $pspm.Add($profileSubTypeProp);
    # Set new Custom Property for "Organization"
    $PropertyName = "SLOrganization"
    $PropertyDisplayName = "Organization"
    $newProperty = $coreProperties.Create($false)
    $newProperty.Name = $PropertyName
    $newProperty.DisplayName = $PropertyDisplayName
    $newProperty.Type = "string"
    $newProperty.Length = "50"
    $newProperty.IsMultivalued = $true
    $newProperty.TermSet = $termSetOrganization
    # Add the new property
    $coreProperties.Add($newProperty)
    $profileTypeProp = $userProfileTypeProperties.Create($newProperty)
    $profileTypeProp.IsVisibleOnEditor = $true
    $profileTypeProp.IsVisibleOnViewer = $true
    $userProfileTypeProperties.Add($profileTypeProp)
    $profileSubTypeProp = $pspm.Create($profileTypeProp);
    $profileSubTypeProp.IsUserEditable = $true
    $profileSubTypeProp.DefaultPrivacy = $Privacy
    $profileSubTypeProp.AllowPolicyOverride
    $pspm.Add($profileSubTypeProp);
    Write-Host "Completed"
    } else {
    #Termstore not found
    Write-Host "Unable to connect to term store"
    } else {
    Write-Host "Unable to connect to MySite Web Application"
    Need more effort to change this code to work for your requirement.
    Thanks & Regards,
    Emir
    Emir Liu
    TechNet Community Support

  • Set User Profile Picture with CMD

    Can we set the an user profile picture from a shared folder (\\SERVER\UserPictures\%USERNAME%.jpg) via CMD? How to do that?
    Thanks in advance.

    Hi
    I have been struggling with the same problem for a couple of days now. I thought I had it figured out by creating an "accountpicture-ms" file on my own computer and coping it to
    %appdata%\Microsoft\Windows\AccountPictures and set the value of the file in: "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AccountPicture\SourceId" but as it is already stated above that does not do it.
    After doing some registry monitoring when clicking on the "accountpicture-ms" file, that does set the profile picture correct, I noticed some activity in a hidden folder named:
    C:\Users\Public\AccountPictures\S-1-5-21-933334596-4129812972-2891473731-1001
    (The last part of this dir should be changed with the unique GUID you got for your user)
    In that folder I found 5 versions of my profile pictures in jpg format, that is created when setting the profile pictures.
    The Operation does also set 5 Registry Keys here:
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\5-21-933334596-4129812972-2891473731-1001\
    The keys are:
    Image40
    Image96
    Image200
    Image240
    Image448
    The keys are pointing to the 5 jpg files mentioned above. I have not yet tested if this does the trick, but I will post my script here, if I get it to work..!
    Thomas | MCP | http://www.techwork.dk

  • Importing user profiles from Exchange server 2010

    Recently our org moved from exchange 2003 to exchange 2010. after the move we suddenly have all the distribution list not available in user profiles. groups like
    #HR_ALL and #RESEARCH_ALL are not found in our user profile store anymore after latest crawl
    At this point I am confused if I as SharePoint Admin needs to change something in profile import connection or is it something by default in Exchange 2010 security model that blocks distribution lists from crawling. No changes are made to default content
    access account since early 2008 when we implemented MOSS 2007.
    btw, just an FYI, even when i tried to use "#HR_ALL" in my outlook it gave me "You do not have permission to sent to this account" message .Though i am not not sure if this
    was always the expected behavior or due to recent changes.
    new to every thing

    Hi Adil Baig,
    i checked with our exchange team, seems there are differences in exchange 2003 to 2010, for example, 
    starting exchange 2007, the distribution list, need to be set to universal group, if you put as non-universal group then there should be no email enabled.
    or if you upgrade from the previous version of exchange then the non-universal group may be added.
    more detail for this : 
    http://technet.microsoft.com/en-us/library/40300ed4-85a5-463d-bb3a-cf787bd44e9d(v=exchg.141).aspx
    if from the exchange part is done, then you may continue to the sharepoint 2007, SSP settings to import them again, http://wss-moss.blogspot.in/2008/07/blog-post.html
    as i know, sharepoint may not take the distribution list as save enough because there is no security enabled, usually it take grouptype: security.
    Regards,
    Aries
    Microsoft Online Community Support
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

Maybe you are looking for