none
Completed-Transient-Object and FIM powershell module RRS feed

  • Question

  • Hi,
    I'm writing a script to check and fix errors during FIM DirSync.
    One case I'm trying to manage is error reporting "completed-transient-object".
    I've downloaded FIM powershell module from https://fimpowershellmodule.codeplex.com/ and using these cmdlets I'm able to retrieve all information I need on management agents etc...
    Does anyone has used these module to parse this kind of error?
    How can I search for transient object in the connector space using powershell?
    FIM 2010 on Windows 2008 R2.
    Thanks !
    Tuesday, September 2, 2014 1:58 PM

Answers

All replies

  • 1) Let's review the meaning of Transient

    2) those commandlets are wrappers around the WMI calls to the FIM Sync engine, so let's peek under the hood

    3) other ways to get the data

    1) Transient

    When an object is imported to the connector space that has the same distinguished name attribute as an existing connector space object but a different anchor attribute, the existing connector space object is marked as transient. If more objects are imported with the same distinguished name and a different anchor attribute, each one will become transient. Only the last object imported with that distinguished name will be non-transient. Objects marked as transient remain in the connector space until they are updated with a new distinguished name, or are deleted from the connector space during a full import. In this last case, FIM assumes that because the object does not exist in the connected data source, it was deleted, therefore it will be deleted in the connector space.

    http://technet.microsoft.com/en-us/library/jj590171(v=ws.10).aspx

    2) Wrapper around WMI

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms697847(v=vs.100).aspx

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms698762(v=vs.100).aspx

    The PowerShell calls are wrappers around WMI. The above links show the WMI call and the data that is returned. The transient object should show up in the list of errors. I believe it will be in the Discovery Errors

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms696558(v=vs.100).aspx

    I believe that the correct commandlet to run is the Get-RunHistoryDetailErrors

    https://fimpowershellmodule.codeplex.com/wikipage?title=Get%20Run%20History%20Errors&referringTitle=Documentation

    3) Other Methods

    Aside from PowerShell you could make the WMI queries yourself, or go the unsupported approach of querying the database. In this case you should be able to get what you need from the PowerShell call and searching through the results.


    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

    • Marked as answer by OttobreRosso Thursday, September 11, 2014 1:33 PM
    Tuesday, September 2, 2014 3:28 PM
  • Hello David,
    thank you for your explanation!
    Currently I use WMI query and XML parsing to manage FIM errors, I'll better investigate to search, find, and correct errors due to transient object like you suggest.

    Thanks again!

    Corrado

    Thursday, September 11, 2014 1:32 PM