This project has moved and is read-only. For the latest updates, please go here.


Save-Resource - Composite Operation


Hi Ryan,

First of all great work!

I Just noticed an issue with "Parallel" switch in "Save-Resource" method. I tried using the switch as below, but client created 30 single requests instead of one composite request.
Save-Resource -Resources $myArray -Parallel
I populated $myArray with 30 new "Person" objects.

Did you observe the same or it's just me?

I have the 1.0.5711.27114 version of the client.

Closed Sep 6, 2015 at 1:43 PM by ryannewington


ryannewington wrote Sep 4, 2015 at 12:40 AM

Hi Aneesh,

-Parallel causes a multithreaded save operation. Drop that switch and you should get a single-threaded composite operation instead.


aneeshnz wrote Sep 4, 2015 at 1:24 AM

Thanks Ryan,

I removed the switch from the "Save-Resource" call, but I still see the standard requests on the FIM Portal, not the composite type one. However, the "Remove-Resource" function works fine, and I can see the "Delete msidmCompositeType" Request on the Portal.


ryannewington wrote Sep 4, 2015 at 2:05 AM

Were you saving new resources, or updating existing ones? The FIM service itself doesn't support composite operations for Create - only update and delete.

The -Parallel switch exists so you can multi-thread create operations to speed up the process. Not as fast as composite, but faster than sending them one at a time.

If it was update requests you were doing, can you send me the code snippet?

aneeshnz wrote Sep 4, 2015 at 2:50 AM

I was trying to save new resources.

I see FIM Service doesn't support composite operations for "create" only "update" and "delete". I will remember that :-)

Thanks Ryan for confirming.


leoerlandsson wrote Nov 23, 2015 at 9:19 AM

I have developed support for Composite Create operations in a fork. It's up to 50 times faster!

See Pull Request here:

aneeshnz wrote Mar 29, 2016 at 2:36 AM

Great stuff. Thanks, Leo!

Composite create operation works fine in MIM (v4.3.2064.0)