Deleting orphaned FIM MA CS objects

Has anyone ever found that they needed to do this, but couldn't afford to delete the entire FIM MA CS to achieve this outcome?
In my case I have a sync design which imports entitlement objects from two separate HR sources into FIM, but had the object deletion and FIM MA deprovisioning rules set incorrectly resulting in orphaned objects in the FIM MA when the source (projecting) MA
object was deleted.  I have since corrected the rules, but had a few hundred bogus entitlement objects to delete out of FIM ... and wasn't prepared to work through the FIM Metaverse and manually disconnect each one ... and with no guarantee that I had
solved my design problem yet, there was a chance they would come back again anyhow.
So I needed to come up with a clever way of deleting these, and resorted to an old fashioned provisioning MVExtension to achieve this.  Here is the code snippet for my Provision method:
        void IMVSynchronization.Provision (MVEntry mventry)
            // disconnect any orphaned entitlements (this should be unnecessary
if we can work out what is generating them)
            if (mventry.ObjectType.Equals(Properties.Settings.Default.EntitlementMVObjectName)
                && mventry.ConnectedMAs.Count.Equals(1))
                ConnectedMA fimMA = mventry.ConnectedMAs[Properties.Settings.Default.FIMMAName];
                if (fimMA.Connectors.Count.Equals(1))
                    mventry.ConnectedMAs.DeprovisionAll();
What I want to know is how others have approached this problem themselves.  I don't know if I really want to leave my MVExtension wired up forever, and am thinking there's probably a better way.  I can already hear Carol asking "why wouldn't you just
use a PowerShell script?", and I can see how I might be able to copy the table results of an MV query from the Identity Manager into the clipboard, and paste it into a CSV, then process the CSV ... but there may not always be an easy way of identifying these
objects with such a query (although there probably is!).
Any other ideas people?
Thanks.
Bob Bradley (FIMBob @ http://thefimteam.com/) ... now using Event Broker 3.0 @ http://www.fimeventbroker.com/ for just-in-time delivery of FIM 2010 policy via the sync engine

I accidently provisioned a few hundred objects into the FIM connector space, however they were never actually provisioned to the FIM portal due to attribute violation.  Long story short, these objects had nothing to match on aside from their guid.  So
what I did was:
Use PowerShell to find the CS DN of each orphaned object (link)
Correlate these DNs to MV IDs
Export the MV IDs to a csv file
Create a tab-delimited MA, with a simple join rule - to join on this MV ID
Configure deletion rule to delete MV object when <new MA> object was deleted
Run a full import and sync (this joins to all the orphaned objects)
Delete the <new MA> CS and then the MA itself.  This removes the orphaned objects per the deletion rule in #5.  
sample code:
#Import the FimSyncPowerShellModule Module
ipmo FimSyncPowerShellModule
$maNAME = 'Contoso FIMMA'
#Get the last export run
$LastExportRun = (Get-MIIS_RunHistory -MaName $maNAME -RunProfile 'Export')[0]
#Get error objects from last export run (adjust your filter as needed...)
$errorObjects = $LastExportRun | Get-RunHistoryDetailErrors | ? {($_.dn -ne $null) -and ($_.ErrorType -eq 'failed-creation-via-web-services')}
#Build the custom Output Object
$outputFile = @()
$errorObjects | % {
$TmpCSObject = Get-MIIS_CSObject -ManagementAgent $maNAME -DN $_.DN
[xml]$UserXML = $TmpCSObject.UnappliedExportHologram
$MyObject = New-Object PSObject -Property @{
MVObjectID = (Select-Xml -Xml $UserXML -XPath "/entry/attr" | select -expand node | ? {$_.name -eq 'MVObjectID'}).value
$outputFile += $MyObject
#Output to file
$outputFile | Export-Csv -NoTypeInformation $env:USERPROFILE\desktop\Deletions.csv
See Wiki for latest updates:
http://social.technet.microsoft.com/wiki/contents/articles/25249.deleting-orphaned-fim-ma-cs-objects.aspx
Mike Crowley | MVP
My Blog --
Planet Technologies

Similar Messages

  • How to delete Integration scenario or XI Objects permanently

    Dear XI experts
    I’d like to delete Integration scenarios or XI Objects that I created from Integration Builder.
    http://static.flickr.com/43/117549573_30c76b7c0b_o.jpg
    They go to the lists under Change List.
    I misunderstood if I click on “Reject Change” it can be deleted permanently.
    But in fact, it goes back to the list under “Scenario” tab.
    So I found Once I created them, I cannot delete them.
    http://static.flickr.com/49/117549572_3a26138b0a_o.jpg
    Probably, I can’t find any information how to delete Integration scenario or XI Objects permanently.
    If you give me any hints, I will appreciate you.
    Thanks,
    David

    Delete object!
    http://static.flickr.com/35/117570416_69ecd78655_o.jpg
    Confirm the object is deleted from the list.
    http://static.flickr.com/47/117570417_542075e7b4_o.jpg
    Activate the change list.
    http://static.flickr.com/47/117570418_9a415336dc_o.jpg
    Select the object to activate ( delete permanently) from change list
    http://static.flickr.com/38/117570419_8f03e54a8b_o.jpg
    Confirm “it’s gone”.
    http://static.flickr.com/47/117570417_542075e7b4_o.jpg
    [my mistake]
    I tried to find the solution from context menu such as “reject change”.
    The meaning of “activate change list” is  …. …..
    <b>Thanks a lot my boss! Vijaya.</b>
    Regards,
    david

  • Delete modifiable transport with locked objects (SE10)

    Dear Forum,
    I have a request from a developer who wishes to have a transport deleted from SE10. the transport is in status modifiable, but it has locked objects. So when i try to delete the transport the system warns me that "Request/task XXXK900962 cannot be deleted because it contains locked objects".
    What is the "SAP Best Practice" way to get rid of this transport? Please explain in detail.
    Any input will be greatly appreciated!
    Thanks in advance,
    Kind Regards,
    Soren

    Hello Eric,
    I am facing an issue after deleting a repair object in the task.
    I could not add this entry in the task as it is not allowing. The object type is as below
    R3TR MCIN S901 (Its a change to info structure from SPRO - IMG activity)
    Now when I want to change the object, it is giving error.
    When I want to add same obj in the repair task manually it is not allowing.
    Can you please give me any suggestion.
    I believe as you said, when I delete a locked object, the traces that the object has been changed are deleted and hence it is giving the error.
    Is there any way to manually restore the object?
    Can I add the object using TR_APPEND_TO_COMM_OBJS_KEYS?
    Regards,
    Pratyusha

  • Cant delete orphaned content type, it says : "The content type is part of an application feature."

    I created site from existing site template that previous vendor working with company created. I could figure that they saved site as template and when you do that sharepoint creates sandboxed solution. When I create site based on that template, it adds orphaned
    content type and when I try to delete it, it gives error : "The content type is part of an application feature.".
    I looked on internet but solutions dont seem to fit in my scenario.
    Following are possible solutions I read on net.
    1) Deactivate feature that has content type and all dependencies for content type and then delete content type --- In my case there is no feature in feature galary that you can deactivate as it is part of site template.
    2)Get the WSP and edit in visual studio, I am working on client machine and I do not have access to sharepoint server. When I try to create new visual studio project with "Import sharepoint solution package", it says Sharepoint server is not installed
    on this computer. I tried to get Microsoft.Sharepoint dll from Microsoft virtual lab but I can only work on web client and windows client doesnt work. Web client is not letting me copy files into my local desktop.
    Any suggestions ? I just need to take that content type out and generate WSP and upload it back
    Dhaval Raval

    Below is how I recreated problem , my findings and solution to this problem (Everything is done through Sharepoint UI)
    Problem :
    Create site and create custom content type using sharepoint UI.
    Save site as template.
    Use above template to create new site.
    New site contains orphaned content type, when you try to delete that unnecessary content type sharepoint gives error: The content type is part of an application feature. Sharepoint will not let you delete this content type.
    Delete original site from which template was created.
    Findings:
    When you save site as template, sharepoint creates and activates Sandboxed solution in solution gallery of Root Site.
    Sandbox solution has same name that you gave when saving site as template.
    Activation of Sandboxed solution adds feature having name of original site from which template was created, and this is Site Collection Feature. I could not find any site feature for it and also I could not find any site feature for custom content type
    as well. I think when you create content type through Sharepoint UI, it doesnt create site feature for that.
    Deactivating site collection feature for that site template doesn't let you delete that orphaned content type from newly created site.
    Solution:
    If you deactivate Sandboxed solution from Solutions gallery, it will remove corresponding site collection feature as well as that orphaned content type from site. Reactivating that solution doesn't add orphaned content type back to newly created site.
    Above process only deletes orphaned content type from newly created existing site but you will have same problem when you create more new sites from that site template.
    I would say once your problem is fixed with deleting content type, solution is to replace site template. In this way newly created sites wont have same problem again.
    Dhaval Raval

  • Delete Orphaned Preferences Files?

    In OS 7, 8 and 9 I routinely deleted orphaned Preferences. Is this procedure valid in OSX? I have 22 orphaned Preference files in iMac and 4 in MacBook.

    Yes, it's valid in OS X.

  • Finding Delete statement issued in particular object

    Dear All,
    Please let me know how to find what are all the delete statement issued against a object in oracle. some one is deleted some data from one table i want to find when the delete statement fired in my schema.
    With Regards
    Ramesh

    you have audit turn on right? there should be a report for DML in audit vault.

  • Delete orphaned objects in Prod system

    Hi all,
    When our BW landscape was set up years ago, some test source systems were created (along with DataSources etc) in the BW DEV system and migrated into QAS and PROD.  The source system in DEV was deleted long ago, but there are remnants still left in our PROD system.
    Since PROD is locked to any changes and Source Systems are not transportable anyways, I believe the only way to delete the objects in PROD is to have our BASIS team unlock the system and then delete the source system which should also delete any objects associated with it.
    Just wondering if there any other options to remove the old objects from PROD, or if opening the system and deleting is the best way to go?  Many of those were created as 3.x versions, and I am preparing for an eventual upgrade to our 7.1 system.  Therefore, I am trying to eliminate or update any of these old 3.x objects to prevent any issues during upgrade.
    Thanks!
    Darryl

    Hi Erica,
    The best option to make the production and quality system in sync is to copy the Production system into the Quality system. Your basis team can do this. In this case, both the Production and the Quality system will be in sync and the development system will remain the same to update the the quality system at some later stage.
    Hope this helps...

  • How can I delete orphan files from my itunes library all at once?

    My itunes library has 0ver 200k files and about 30,000 were on an external drive that crashed leaving me with 30,000 orphan files that I want to delete from the library. Too many to delete one by one, how can I either sort them by this field to select all with shift click or is there a script to delete them?
    Fausto

    AAC is Advanced Audio Coding.  Basically it's a format that sounds better than MP3 but doesn't take up as much space as a lossless format (like you'd have on a CD).  More than likely you've had that encoding turned on when you ripped your music into itunes (it's the default encoder).  Therefore your LG phone won't play them.
    You need to turn off the AAC format by going to the iTunes menu, Preferences, General (at the top), then clicking the "Import Preferences" button.  Change the AAC Encoder to MP3 Encoder.  After that you'll have to make MP3 copies of your songs by right clicking them and selecting "Create MP3 Version."  You'll get a copy of the song that should transfer to your SD card and have MP3 encoding.  Hopefully your phone will play that.

  • How to delete orphaned events in Calendar?

    OK, so I'm pulling my hair out on this one: I discovered today that my wife's birthday anniversary event got duplicated 3369 times in my iPad calendar...
    I'm grateful for the reminder, but 3369 times is a bit too much.
    Ruling out my wife's unlikely hacking of my calendar, the culprit is probably an automatic sync with my Google calendar gone awry. Lesson learned, don't sync with Google calendar, fine, but these events cause the loading of the calendar to be super slow and I don't want to imagine what's going to happen in 10 days when the reminders for these events are going to be shown...
    So how to I remove these events from my Calendar?
    Going through them one by one is not an option, and anyhow, I have tried to delete one, it won't go away.
    Delete the calendar they belong to? Great idea, except they don't belong to any calendar, despite what Calendar tells me in the detail of one event. Which is probably the reason why I can't delete them manually in the first place. I have verified this by writing a small app that finds those event in the calendar: the calendar property of the EKEvent is nil.
    I have tried to delete them in my app ([store removeEvent:event span:EKSpanThisEvent commit:YES error:&error]), I get this error:
    Failed to remove: Error Domain=EKErrorDomain Code=1 "No calendar has been set."
    (Note that I did call [store requestAccessToEntityType: completion:] to authorize my app to modify the calendar).
    I figured it had something to do with the event not being in a calendar, so I have tried to assign them to a calendar in my app, it doesn't work, they remain orphaned.
    I have disabled sync with Google and iCloud.
    I have tried to delete my iCloud account on the iPad: I get an endless spinning wheel that forces me to kill the Calendar app.
    The only thing I haven't tried yet is restoring my device, but then, what if the backup contains those events?
    An idea? Anybody?
    Thanks

    goto calendar> look for the event you entered> edit event (upper rt corner)> scroll down> Delete event

  • Deletion and creation of Configuration Objects using JAVA Transports

    Hi Guys
    I hope you guys can help me make some sense out this situation.
    We have 2 systems in the QA Landscape which shares the Integration Server, Lets call it SYS.A1 and SYS.A2. In the SLD both SYS.A1 and SYS.A2 have the transport track pointing to SYS.PROD as the Production Environment. In QA env. we have 2 receiver determination for these 2 systems. This means in the PROD Environment we will have One object(Receiver Determination) which represents connections from these 2 systems in the QA Environment. (In prod we have one system which represents both the system in QA).
    Recently there was a transport that came in from the QA env to PROD which contained a deletion of the receiver determination for SYS.A1 and modification of receiver determination for SYS.A2. So by the end of the transport we expected to see a modified receiver determination for the PROD environment, but what we found was the object that was there in PROD was deleted and nothing was modified.
    So Can you please tell me what the transport sequence is? is there a priority given to deletion over creation? Or is there some kind of versioning applied for Directory Object transport?
    I read from the forum that there is some sort of versioning applied on repository transport.. is it the same case here??? Any help in explaining this would be much appreciated.
    Thanks & Regards
    Prav

    I have to remove the monthly spread sheet every time
    and create a new spread sheet while executing the
    code. The problem is when I run the code the records
    inserted into same spread sheet along with the
    previous records. So I need to delete the excel file
    and create new one. I am using POI to create the
    spread sheet. ICan anyone help me on this? I am
    posting the code below.I don't think I want to read all that code. If you want to replace the data, you can remove the sheet and create a new one with the same name. HSSFWorkBook has methods removeSheetAt() and createSheet().

  • Deleting mailbox without removing user object? Exchange 2010

    In Exchange 2010, How can I delete a mailbox but keep the User Object since this user still access the network??

    Caution: Horror story ahead:
    Yeah, well, the earlier bits of Exchange 2010 don't let you remove Exchange without first removing the mailbox from the mailbox database... this is according to MSFT documentation.  So I highlighted all the users at a customer's 130 user site and clicked
    remove.  S.O.A.B.!!!!  Only to find out one of the other senior techs did the same thing at a 10 user site but didn't tell anybody.
    The worst thing here is that there were no backups of AD.  We were able to restore the deleted user accounts via the aduser tool from sysinternals, but it only got the sam name and the SID, no group memberships, no passwords, not even first name, lastname
    or UPN.  Since AD comes with the recycle bin disabled (dumb because you don't know you have to enable it until you need it.) and the new Windows Server Backup doesn't let you take system state backups without lots of hassle dedicating drives and backup
    locations, we found ourselves royally um... humped.  Still dealing with the after math after restoring the objects for over 6 hours.
    Thanks for the egg on my face MSFT!

  • Mass deletion of batches - SAP Archiving Object MM_SPSTOCK

    __SAP Archiving Object MM_SPSTOCK (Batches and Special Stocks)__
    Would like to know if there is any standard program or report available through which the batches (to be deleted) can be set with a deletion flag. We are in the process of implementing the archiving object MM_SPSTOCK and the batches have not been flagged. There is no pre-processing job for MM_SPSTOCK that can be used to set the deletion flag for all eligible batches.
    This object MM_SPSTOCK does not have any date or selection criteria for the write job. All batches with set deletion flag will be archived/deleted.
    We are in the process of implementing LO_CHVW (Batch where-used data) for which imlementing MM_SPSTOCK is a pre-requisite.
    Would appreciate any leads around this. Any other suggestions around the MM_SPSTOCK & LO_CHVW will be great.
    Thanks
    Sam

    I am basically looking for a method (program / report) through which mass deletion flag can be set for eligible batches prior to using MM_SPSTOCK archiving object to archving / deleting the batches.
    Thanks
    Sam

  • How To Delete a row from view object

    Hi
    I have a table whose data is populated based on the view object... and for each row i have a delete icon...
    when i press on this delete icon i want to delete that particular row from the view object only..but not from the data
    base..please help me in this issue
    Thanks

    Hi,
    as per krishna priya says u can delete .
    -----1st one thing let me know vo is eo based .???.
    If not here is the sample code to delete a row not from the data base.:
    public void Deleterow(OAPageContext pageContext, OAWebBean webBean,String prjid)
    int idtodelete;
    int fetchedrowcount;
    Number prjojectid;
    RowSetIterator deleteIter;
    prjidtodelete=Integer.parseInt(prjid);
    OADBTransaction tr = getOADBTransaction();
    ProjectsVORowImpl row=null;
    ProjectsVOImpl vo= getProjectsVO1();
    fetchedrowcount=vo.getRowCount();
    deleteIter = vo.createRowSetIterator("deleteIter");
    deleteIter.setRangeStart(0);
    deleteIter.setRangeSize(fetchedrowcount);
    for(int i=0;i<fetchedrowcount;i++)
    row= (ProjectsVORowImpl)deleteIter.getRowAtRangeIndex(i);
    prjojectid=(Number)row.getAttribute("ProjectId");
    if (prjojectid.compareTo(prjidtodelete)==0)
    row.remove();
    break;
    deleteIter.closeRowSetIterator();
    Regards
    Meher Irk
    Edited by: Meher Irk on Nov 2, 2010 12:42 AM

  • How can delete annual values of Control Objects (FMAVCR01)?

    I have run OBR1 and OBR2 for deleting transaction data and master data. They are already deleted successfully. When I display the annual values of Control Objects with transaction FMAVCR01, It shows the commitment item values which are used in the FB01, their document number, consumed amount. I want to delete consumed amounts of commitment items.
    Wbr.
    İlker...
    Ankara,Turkey
    Edited by: ilker kkeci on Jan 13, 2012 4:04 PM

    Hi,
    The more correct report would be RFFMDLFM, as RFFMDLFI deletes only actuals but not the commitments from FM.
    Regards,
    Eli
    P.S. To be excuted only in 'sandbox'/test systems!

  • How to delete design time & configuration time objects permanently

    Hi All,
    how to delete the design time objects & configuration objects permanently, because i have created some objects repeatedly in different scenarios. there was some confliction, that's why i am going to delete the objects. Is it possible, if yes revert back to me asap.
    Thanks & Regards,
    Nag.

    hi,
    Check tis for how to delete IR objects.
    /people/siva.maranani/blog/2005/05/22/how-to-delete-software-component-from-integration-builder
    and to delete it from ID delete it from the OBjects TAb.
    Activate the change list.
    Sachin

Maybe you are looking for

  • Link to Web Analyzer from rsrt or query designer does not work.

    If I start with the transaction RSRT a query in the Java Web would get the following error message: Java Runtime Error But if I had started earlier browser, the portal there is no problem. Is this a SSO problem? The same problem I have when I would r

  • Absolutely regretting paying $200 for this program

    I've haven't done web designed in a long while I was told this was the best program for mac. I used dreamweaver in school 10 years ago. It functioned a lot like Front Page and a couple other html script builds I'd used at the time. Basic html was eas

  • Ess error & unable to create new user

    hi gurus... i new to portal and i m facing problem in ess and user creation ... 1 .)   my ess is showing the following error Service cannot be reached What has happened? URL http://wind:8000/webdynpro/dispatcher/sap.com/pcui_gp~xssutils/XssMenu call

  • Directory object on $APPLCSF/$APPLOUT

    Hi, My requirement is to fetch a xml file from concurrent program output directory $APPLCSF/$APPLOUT and update some tables based on it. In order to read the file I need to have a directory object created on the same. Can I create a directory object

  • Authorizing MBA when authorizations are used up

    I bought a MBA a month ago before leaving on a trip to India. I am in rural India now. I updated OS software and now am getting a message that my laptop is not authorized. I cannot authorize it or deauthorize it and apparently cannot deauthorize othe