Acknowledgements

Special thanks to the following people for reviewing this document and providing valuable feedback:

Markus Vilcinskas, Microsoft Corp.

Ahmad Abdel-wahed, Microsoft Corp.

Femila Anilkumar, Microsoft Corp.

Credits

This Wiki articles is an extract and updated version of a
post on the ILM forum. The post has been updated with the latest product versions.

Abstract

Whether you’re a first time user or a long-time expert, when you post a question to a forum, you expect an answer that is quick, to-the-point, and preferably customized to your needs.

But in lots of cases it actually takes a while (meaning additional questions and answers back and forth) before the community actually can get to the root cause of the issue.

I would like to provide you with practical hints and tips, and background information of them, to get the maximum result from your postings on the forum, with the minimum of effort.

If you ask the right question, the right way, you’ll get your answer much faster.

Introduction

What do you expect if you post a question on a forum? A quick answer, solving the issue you’re struggling with, in a timely fashion? However, the reality looks often different:

Most of questions posted on the forum require some knowledge of your environment. To understand your question, people need background information.

In many cases the initial question does not provide sufficient data to start helping.

What's the most efficient way to allow the community to help you?

The key to the quick solution is how you present the question.

In this article, I will give you suggestions and recommendations that will help you to get the most out of this forum.

Gathering the right data

As a first step, you should gather all data that is related to your question. What the right data is depends on the type of answer you expect. A general, more high-level question in conjunction with the architecture and the design requires a different approach
than a practical question to troubleshoot an issue. When troubleshooting your setup:

Take time to gather detailed data before you post

Provide concise, basic information about your environment

Describe error conditions in detail

Even for more general architectural questions, take a moment and ask yourself:

What is the situation you are in now?

Where did you start from?

What are you trying to accomplish?

Do you have examples to help outline what you are aiming at?

Important data components

In most cases, there are some core components you should address in your initial question. These components include:

You should include information about these components in all posts that are related to troubleshooting.

Retrieving the ILM/MIM build version

The build version of the platform is really essential, as specific builds solve specific known issues (or cause specific issues for the pessimists among us.).

Just an illustration: the Microsoft Help and Support site is one of the sources that provides hotfixes and services packs.

If you check for the ILM/MIM hotfixes and service packs, you’ll immediately notice the build numbers.

Most of these articles also provide detailed information which issues are fixed.

The version number is pretty important and also easy to retrieve.

To get the version number, perform the following steps:

Open the ILM/MIM Identity Managerli>

To open the About Identity Manager dialog, click About in the Help menu.

The following screenshots show examples for these steps.

Carefully check the license type which you used to install your FIM/MIM with. It represents an important data point in the context of upgrading your system, as certain upgrade paths are not supported.

(Reference: FIM/MIM FAQ)

The kind of server (development, test or production) you’re working with influences the approach to troubleshooting.

For example, on a development server, it usually doesn’t hurt to take drastic measures, like completely deleting data, cleaning connector spaces or cleaning the metaverse and start all over again.

However, in production, deleting a connector space with 100K or more objects shouldn’t happen without planning.

If your audience is aware of your server type, you will get better suited troubleshooting suggestions.

SQL Server related configuration data

As the backend for the managed data, SQL server plays an essential role in your deployment.

This is why you should include some information about your SQL server configuration into your post.

When you review some of the posts on this forum, you will find many questions that are related to the performance of an environment.

For example, using ILM with a remote SQL server has a significant impact on the overall performance of a deployed solution.

Another reason to include information about your SQL setup is network and server security.

A configuration with a remote SQL server requires a slightly different approach, in comparison with SQL installed on the ILM server.

Typical SQL server parameters are:

Remote connections

SQL server build

SQL server type

SQL security permissions

When you post a question, at a minimum, provide these SQL server parameters:

What is the SQL Server build version?

How is SQL installed: Locally on the ILM server or remotely?

License type: MSDN, volume, evaluation, production,…

Management agent related configuration

Management agents are used to exchange data between ILM and connected data sources. The type of a management agent used in your environment has a big impact on the response you get. When posting a question, you should address the following questions about
your management agents:

What are the data sources ILM is connected to?

What MAs have you configured?

What 3rd party MAs, XMAs have you installed?

What is the object count in the MAs?

What is the object count in the MV?

Information about your management agent configuration helps to get a global picture of the setup. Again, the management agent configuration influences the kind of approach to take for a specific configuration.

If you get an error when configuring a MA, verify that the version of your data source is supported. Check the FIM/MIM FAQ for more information, first.

The MV and CS object count is a practical indicator for the system load.

The ratio of the CS objects and the MV objects provides an overview of the join and projection rules.

Error codes and error conditions

Error codes play an essential role in a troubleshooting scenario. However, in many posts I have seen, people tend to provide incomplete information about the errors that are documented by a system. In conjunction with error codes, you should follow the following
guidelines:

Always include the exact error messages you get from the system.

Drill down to the detailed content of the messages.

Check the event viewer for related messages.

Review logs created by extensions (if applicable).

Provide log information details (verbose logging).

This is the easy part. Just make sure you catch enough details:

Copy and paste the error messages in your post.

Error codes, specific messages allow you to get results quickly.

Note

Additionally, this is exact the information you need to provide to Microsoft Product Support Services, in case you need official support.

Troubleshooting rules extensions

Information on configuration circumstances

In the previous section I’ve discussed components strictly related to the configuration basics of ILM/MIM components, which you can retrieve in real-time.

It’s clear that the complete ILM infrastructure exists of different parts, each depending on each other: the ILM application, the operating system, the SQL server, the .NET framework, the Visual Studio extensions, and more … It’s a complex balance, even
a small change in one of these components, might cause trouble.

Ideally you manage the complete ILM infrastructure yourself. But in my experience, this is rarely the case, as most live server setups are managed by a group of people. And, not every member of the team knows the in and outs of every part.

So, when your ILM system starts behaving badly, just suddenly or intermittently, while it has been in operational mode for quite a while, it’s not always easy to determine the root cause.

When you’re troubleshooting your ILM/MIM setup, also take a wider look on the technical infrastructure. I can guarantee it is worthwhile to log the changes you make on your system configuration from the very start. Additionally, make sure the events and
errors are logged accurately.

Change logs and events logs allow you to answer the following list of questions:

Has there been a change to the system configuration recently, like an update/upgrade, hotfixes,...?

You should post this kind of information in your initial post, as it is very helpful.

Optional data parameters

Another important type of information you should provide in your post, is NOT of a technical kind.

It’s not about the FIM/MIM configuration, neither.

It concerns the actions you have done when troubleshooting, before you posted your question.

What kind of steps have you already done to get an answer?

Which posts did you already look at?

Did you already install certain hotfixes?

Which run profiles did you run?

…

Note

This kind of questions should allow the community to spend time on making progress instead of replying to questions already addressed previously.

System information you should not show at all

It might be obvious, but it wouldn’t be the first time someone posted personal, secret, identifiable data on the web. It would not take too much effort to use it maliciously.

Make sure you mask:

Passwords and secrets

Personal identifiable information

Live machine and domain info

Service Account names

IP addressing

…

Architecture and design questions

The forum is an excellent resource if you just need some assistance solving a problem on architectural level. The following list of hints and questions should allow you to provide the basics in your post:

Provide some basic data on your setup.

What did you implement already?

Describe what you actually aiming at. What are you trying to achieve?

Provide as much detail as possible to make your case with examples and/or (anonymized) screenshots.

Summary

When troubleshooting your setup:

Take time to gather sufficient and detailed info.

Provide basic information on your environment.

Be specific, describe the error conditions in detail.

When you need help or an insight on a design issue:

Provide some basic data on your setup.

Describe what you actually aiming at. What are you trying to achieve?

In both cases provide as much detail as possible to make your case.

Providing examples or (a link to) screenshots, help to understand.

Check list

The check list summarizes the topics I have discussed in this article and should help you to make sure that you include all details that are relevant to your issue.

1. Basic Server info (general)

Results / notes / remarks

q

- FIM/MIM build version

.............................................

q

- SQL Server build version

.............................................

q

- SQL installed locally or remotely?

.............................................

q

- License type (MSDN, eval, production, …)

.............................................

2. Specific server info (details on configuration)

q

- Which MA's configured?

.............................................

q

- MA & MV object count?

.............................................

q

- Particular attributes, attribute flows, extensions?

.............................................

q

- Provide code bits of your extensions

(when applicable)

.............................................

.............................................

.............................................

3. Error conditions

.............................................

q

- Provide
exact error codes*

.............................................

q

- Drill down to the
detailed content of the error message*

.............................................

.............................................

q

- Check the
event viewer

.............................................

q

- If applicable, check logs created by extensions or services (e.g. PCNS)

.............................................

.............................................

*(HINT: copy/paste info into post)

4. Circumstances & particular details

q

- Any particular configuration on your setup?

.............................................

q

- Particular conditions or features?

.............................................

q

- Has the system
changed recently? Like update/upgrade, hotfixes,...?

.............................................

.............................................

q

- When exactly does the error condition occur?

.............................................

q

- Are you able to
reproduce the error condition?

.............................................

q

- Is the error occurring intermittently?

.............................................

5. What actions have you already performed?

q

- Have you already followed certain procedures?

.............................................

q

- Any articles or posts you looked at?

.............................................

q

- Results achieved so far? Details?

.............................................

Downloads

This article and the check list are also available for download, for offline use.