-
Markus has put together a great set of example PowerShell scripts which automate many tasks in FIM. Check them out today in the Scriptbox:
http://social.technet.microsoft.com/Forums/en-US/ilm2/thread/807617bc-b560-4cbe-a137-b9f338bfbd8e
-
Check out another useful tweak from Paolo with the unsupported web service client. Paolo adds another strongly-typed class to the client:
https://espace.cern.ch/idm/Lists/Posts/Post.aspx?ID=14
-
Paolo at Cern has been using the unsupported client and contributing back to the community with bug fixes. It's always exciting to see developer adoption of our platform!
http://social.technet.microsoft.com/Forums/en-US/ilm2/thread/ffc16720-0dfb-4131-b676-9225f15b4f72?prof=required
-
Many thanks to The IDA Guys for getting together an unsupported client for RC1. We in the product group are deeply grateful for the great work the field do in extending the value of FIM for our customers.
http://blogs.technet.com/idaguys/archive/2009/10/04/fim-2010-rc1-resource-management-client-sample-announcement.aspx
-
A colleague on the product team recently joined the ranks of bloggers in the Identity Management community. Please welcome Darryl, and I look forward to his insights on FIM!
http://blogs.msdn.com/darrylru/default.aspx
-
Check out the exciting announcement:
MSFT Identity and Access news- Forefront Identity Manager RC1 and ADFS 2.0 SAML interoperability
-
Interesting topics from a new entry in the identity management blogging community:
http://www.idmcrisis.com/
-
This is a friendly reminder that The IDA Guys have some great content to check out. For example,
http://blogs.technet.com/idaguys/archive/2009/07/29/manageability-for-identity-and-access-management-solutions.aspx
-
A recent conversation with a customer reminded me about Markus and Ahmad’s “Greatest Hits” on the TechNet forums:
-
This post is a reminder that we have no change in status to report with respect to dates, etc. The previous post is still accurate:
-
I was catching up with my blog roll and saw that Joe Zamora at Ensynch put together a nifty little app to query the FIM Service. I recommend checking it out!
http://c--shark.blogspot.com/2009/07/auditing-with-fim-query-tool.html
-
As a small part of the the announcement about Office 2010 Technical Preview, Microsoft published the Office 2010 protocol documents. A small and dedicated group of us worked hard and long for these past months to release documents related to FIM’s protocols on time. Of particular interest to this audience may be the FIM web service protocol document.
The protocol documents are part of Microsoft’s earnest commitment to interoperability. More information about this program can be found here.
-
I’ve been meaning to post some of Richard’s excellent desktop wallpapers for Forefront Identity Manager 2010.
Direct Link: http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=imexsamples&DownloadId=6543
-
I am catching up on my blog roll, and I would like to shout out to a relatively new blog in the IDA space: The IDA Guys.
+1 on "Never say it will only take Five Minutes" -- the only task that takes 5 minutes is the one you don't do ...
-
Leading announcement: I appreciate the feedback I’ve gotten from some of you about the API of the new client. One piece of key feedback I want very much to incorporate is how we can unify accessing single-valued and multi-valued attributes. Please send any additional comments my way.
For this week’s post we see the benefits of promoted properties and transactions. The full source code is available on MSDN code gallery.
Example 1: Create a Named Group
In this example we create a new object and pass it to the client to be created on the server.
public Guid CreateGroup()
{
RmGroup newGroup = new RmGroup();
newGroup.DisplayName = "My New Group";
// Demonstrate accessing a non-promoted attribute
newGroup[RmGroup.AttributeNames.MembershipAddWorkflow].Value = "OwnerApproval";
// Any user object's ObjectId
newGroup.Owner = this.OwnerObjectId;
return this.client.Create(newGroup);
}
Now let’s add some users to the group.
Example 2: Add members to Group
In this example we demonstrate using a transaction to track our changes to the group object. To add a member to a group simply add another reference to the ExplicitMember attribute. The public client exposes the ExplicitMember as List<Guid>, and in this example we add another Guid. Once all of the changes are complete, we accept the changes and send the transaction to the client. The client transforms the changes into da:ModifyRequest/da:Change elements and sends them over the wire.
public void AddUsers(Guid groupId)
{
RmGroup group = this.client.Get(groupId) as RmGroup;
RmResourceTransaction transaction = new RmResourceTransaction(group);
transaction.BeginChanges();
int numberAdded = 0;
foreach(RmResource resource in this.client.Enumerate("/Person[Department='Sales']"))
{
RmPerson person = resource as RmPerson;
if(person != null)
{
numberAdded++;
group.ExplicitMember.Add(person.ObjectID);
}
}
Assert.IsTrue(numberAdded >0);
transaction.AcceptChanges();
Assert.IsTrue(this.client.Put(transaction));
}
We successfully created a group and added users to it programmatically.