An Introduction and a Plan

Welcome to the Forefront Identity Manager Powershell Extensibility blog. My name is Billy Kwan and I am the developer for the FIMAutomation Powershell tools included as part of FIM 2010. I’ve been with the Identity Management team for about a year and half now developing features such as the web service, query, and manageability (as a basic).

Since Powershell is one of the many extensibility points of FIM 2010, I’d like to create this blog to highlight the capabilities of this tool beyond what is documented in the upcoming SDK. While the configuration migration is primarily geared towards moving configuration from one system to another, we’ve made changes to the tool over the course of several release candidates to accommodate extensibility scenarios.

I will post at the rate of 1 to 2 posts per week. If there is a specific scenario you would like me to talk about, please contact me via the email link.

I’ll be covering the topics in the following order:

1) An explanation of how each cmdlet works

a. Export-FIMConfig

b. Join-FIMConfig

c. Compare-FIMConfig

d. Import-FIMConfig

2) Overview of the FIMAutomation object model

a. ExportObject

b. MatchObject

c. ImportObject

3) Using FIMAutomation as a client

a. …in Powershell

b. …in managed code

4) Reporting

5) Troubleshooting errors

6) Advanced topics

a. Parallelized import

b. Reuse old join criteria

c. Creating new users without sync

d. Group migration

e. Batch enabling scenarios

A couple of caveats before I begin:

1) All posts here on this blog are provided “as is”. This means these posts are not the official voice of the product team and hence unsupported. I will try my best address your questions but there’s no guarantee that the content posted here will be applicable to your deployments.

2) This is not a conduit for support. For product issues, please use the Connect site or contact your Microsoft representative.

3) The official product documentation is fully authoritative. If there’s a conflict between the posts and the official documentation, you should follow the official documentation. Do let me know if there are conflicts.

4) Lastly, we do not endorse any linked content on this blog. We are not responsible for the content contained in those links.