FIM Schema
Hi,
Please could someone post the default FIM schema - or let us know how to view it.
We have looked at this document, but this was not clear enough for us (http://msdn.microsoft.com/en-us/library/ee652305.aspx)
Thank you
July 14th, 2010 10:23am
If you want the schema as an xsd file, you can download and build the
FIM 2010 Resource Management Client and then run this program (please note that you will have to create and configure an app.config file for it like in the examples):
using System.IO;
using System.ServiceModel.Channels;
using System.Xml;
using Microsoft.ResourceManagement.Client.WsTransfer;
class Program {
static void Main(string[] args) {
MexClient mexClient = new MexClient();
// get the schema
Message getSchemaRequest = Message.CreateMessage(
MessageVersion.Default,
"http://schemas.xmlsoap.org/ws/2004/09/transfer/Get");
Message getSchemaResponse = mexClient.Get(getSchemaRequest);
// select the response body and return it
XmlDocument doc = new XmlDocument();
doc.LoadXml(getSchemaResponse.ToString());
XmlNamespaceManager mgr = new XmlNamespaceManager(doc.NameTable);
mgr.AddNamespace("s", "http://www.w3.org/2003/05/soap-envelope");
XmlNode body = doc.SelectSingleNode("/s:Envelope/s:Body", mgr);
string schema = body.InnerXml;
// write the schema to a file
StreamWriter writer = new StreamWriter("fim-schema.xml", false);
writer.Write(schema);
writer.Close();
}
}
Paolo Tedesco - http://cern.ch/idm
Free Windows Admin Tool Kit Click here and download it now
July 14th, 2010 10:58am
By the way, what do you need the schema for? If you just need to inspect object definitions (class, attributes and bindings) maybe you could do so with a PowerShell script using the FimAutomation snap-in.
If you provide more details about what you are trying to accomplish we might check if the PowerShell approach is feasible...
Cheers,
PaoloPaolo Tedesco - http://cern.ch/idm
July 14th, 2010 11:01am
What exactly are you trying to achieve?
Do you wish to view and explore the FIM schema, to see which objects and attributes are available by default?
Or do you need an export of the schema? (In that case Paolo's reply will help.)
Please explain.
If you wish to view it, as you mentioned in the initial post, you could use the FIM 2010 portal interface.
Did you check these documents?
- Getting started:
Introduction to Custom Resource and Attribute Management
- Technical Concepts:
Understanding Custom Resource and Attribute Management
HTH,
Peter
Peter Geelen - Sr. Consultant IDA (http://www.fim2010.be)
[If a post helps to resolve your issue, please click the "Mark as Answer" or "Helpful" button at the top of that post. By marking a post as Answered or Helpful, you help others find
the answer faster.]
Free Windows Admin Tool Kit Click here and download it now
July 14th, 2010 11:04am
By the way, what do you need the schema for? If you just need to inspect object definitions (class, attributes and bindings) maybe you could do so with a PowerShell script using the FimAutomation snap-in.
By the way++, parts of this are already included in
FIMOV.
Cheers,
MarkusMarkus Vilcinskas, Knowledge Engineer, Microsoft Corporation
July 14th, 2010 12:02pm
What exactly are you trying to achieve?
Do you wish to view and explore the FIM schema, to see which objects and attributes are available by default?
Yes, that is exactly it - view the metaverse objects and attributes to see what we can match them with in the other systems.
thanks
Free Windows Admin Tool Kit Click here and download it now
July 14th, 2010 1:01pm
The FIM portal has a schema administration page, which should allow you to get an object's attributes; go to the "Bindings" page and query only for the bindings where the bound object type is of a certain class.
If, instead, you want the attributes list as text, here is a simple PS script to get you started:
# get-object-attributes.ps1
param(
$typeName="Person"
)
Add-PSSnapin FIMAutomation -ErrorAction SilentlyContinue
function GetValue($exportObject,[string] $name) {
$attribute = $exportObject.ResourceManagementObject.ResourceManagementAttributes | Where-Object {$_.AttributeName -eq $name}
if ($attribute -ne $null) {
if ($attribute.IsMultiValue) {
$attribute.Values
} else {
$attribute.Value
}
}
}
$attributes = Export-FIMConfig -CustomConfig "/BindingDescription[BoundObjectType=/ObjectTypeDescription[Name='$typeName']]/BoundAttributeType" -OnlyBaseResources
foreach ($attribute in $attributes) {
$displayName = GetValue $attribute "DisplayName"
$dataType = GetValue $attribute "DataType"
"$displayName ($dataType)"
}
Cheers,
PaoloPaolo Tedesco - http://cern.ch/idm
July 14th, 2010 1:24pm
If, instead, you want the attributes list as text, here is a simple PS script to get you started:
You might want to think about adding this as separate post to the FIM ScriptBox.
Also, if someone has the time to do this, this is a perfect candidate for another documenter...
Cheers,
MarkusMarkus Vilcinskas, Knowledge Engineer, Microsoft Corporation
Free Windows Admin Tool Kit Click here and download it now
July 14th, 2010 1:29pm
Hi Markus,
good suggestion, I'll polish it a little and post it separately.
Cheers,
PaoloPaolo Tedesco - http://cern.ch/idm
July 14th, 2010 1:30pm


