<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>missmiis</title>
	
	<link>http://www.wapshere.com/missmiis</link>
	<description>Adventures in identity management</description>
	<lastBuildDate>Fri, 03 Feb 2012 20:41:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/missmiis" /><feedburner:info uri="missmiis" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>RCDC Variables, and using them to scope a ListView or IdentityPicker</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/ClKU0zOVEEY/rcdc-variables-and-using-them-to-scope-a-listview-or-identitypicker</link>
		<comments>http://www.wapshere.com/missmiis/rcdc-variables-and-using-them-to-scope-a-listview-or-identitypicker#comments</comments>
		<pubDate>Fri, 03 Feb 2012 12:10:58 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[FIM 2010 R2]]></category>
		<category><![CDATA[RCDC]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1913</guid>
		<description><![CDATA[I don&#8217;t know how many times I&#8217;ve used the RCDC documentation, but somehow never noticed the bit on Environment Variables. Today however I was looking for a way to restrict the scope of a UocListView or UocIdentityPicker based on properties of the user being edited &#8211; and it turns out that you can reference any [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know how many times I&#8217;ve used the <a href="http://technet.microsoft.com/en-us/library/ee534918(WS.10).aspx">RCDC documentation</a>, but somehow never noticed the bit on Environment Variables. Today however I was looking for a way to restrict the scope of a UocListView or UocIdentityPicker based on properties of the user being edited &#8211; and it turns out that you can reference any properties of the object using %Attribute<em>_AttributeName</em>%, then use it in a filter!</p>
<p><span id="more-1913"></span></p>
<p>My goal was to restrict available roles based on a user&#8217;s EmployeeType. My &#8220;Role&#8221; objects have an attribute called &#8220;SubType&#8221; which matches the EmployeeType.  All I have to do is filter with an xpath query that references &#8216;%Attribute_EmployeeType%&#8217;. The same filter works for a UocListView too.</p>
<pre>&lt;my:Control my:Name="Role" my:TypeName="UocIdentityPicker" my:Caption="{Binding Source=schema, Path=Role.DisplayName}" my:Description="{Binding Source=schema, Path=Role.Description}"&gt;
	&lt;my:Properties&gt;
		&lt;my:Property my:Name="Required" my:Value="false"/&gt;
		&lt;my:Property my:Name="Mode" my:Value="SingleResult"/&gt;
		&lt;my:Property my:Name="ObjectTypes" my:Value="Role"/&gt;
		&lt;my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName"/&gt;
		&lt;my:Property my:Name="AttributesToSearch" my:Value="DisplayName"/&gt;
		<strong>&lt;my:Property my:Name="Filter" my:Value="/Role[SubType = '%Attribute_EmployeeType%']"/&gt;</strong>
		&lt;my:Property my:Name="ResultObjectType" my:Value="Role"/&gt;
		&lt;my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Role, Mode=TwoWay}"/&gt;
		&lt;my:Property my:Name="ListViewTitle" my:Value="Available Roles"/&gt;
		&lt;my:Property my:Name="PreviewTitle" my:Value="Selected Roles"/&gt;
		&lt;my:Property my:Name="MainSearchScreenText" my:Value="Search"/&gt;
	&lt;/my:Properties&gt;
&lt;/my:Control&gt;</pre>
<p>The other thing I figured out is that it is possible to pass an attribute value in the UsageKeywords property. This is an alternative method to the for UocIdentityPicker and displays the Search Scopes that have the specifed Usage Keyword.</p>
<pre>               &lt;my:Property my:Name="UsageKeywords" my:Value="%Attribute_EmployeeType%"/&gt;</pre>
<p>Note: as pointed out by Eugene below this an Edit-RCDC function only as it uses the attribute value already committed to the object. We still wait in hope for a way to dynamically scope choices based on other values chosen in the current form&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/rcdc-variables-and-using-them-to-scope-a-listview-or-identitypicker/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/rcdc-variables-and-using-them-to-scope-a-listview-or-identitypicker</feedburner:origLink></item>
		<item>
		<title>Authorization after an Action</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/XVOnr9cjxP4/authorization-after-an-action</link>
		<comments>http://www.wapshere.com/missmiis/authorization-after-an-action#comments</comments>
		<pubDate>Mon, 16 Jan 2012 12:16:41 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[FIM 2010]]></category>
		<category><![CDATA[FIM 2010 R2]]></category>
		<category><![CDATA[MPR]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[Sets]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1875</guid>
		<description><![CDATA[Something that has come up from time to time on the FIM forum is the need to trigger an AuthZ workflow based on some change made by an Action workflow (or by the Sync Service). This is not possible in the FIM Service today and I don&#8217;t see any evidence that it will be possible in the [...]]]></description>
			<content:encoded><![CDATA[<p>Something that has come up from time to time on the FIM forum is the need to trigger an AuthZ workflow based on some change made by an Action workflow (or by the Sync Service). This is not possible in the FIM Service today and I don&#8217;t see any evidence that it will be possible in the future either &#8211; I guess it must mess up the workflow processing on some fundamental level.</p>
<p>The gereral consensus on the forum has been that you need to start a new request from outside the Portal &#8211; perhaps by using a powershell script. This new request can then follow the full AuthN -&gt; AuthZ -&gt; Action progression. But how to trigger it?</p>
<p>I have now worked through this idea and it&#8217;s working, though did need quite a few policy objects in the Portal as well as the script.</p>
<p><span id="more-1875"></span></p>
<h2>The problem I needed to solve</h2>
<p>Users need to be able to request access to a system and the access must be approved.</p>
<p>To simplify the user creation process in the Portal I want to include the option to request access on the user create form, but I don&#8217;t want an approval holding up creation of the person object. The person should be created and <em>then </em>the approval should kick off.</p>
<p>In fact it&#8217;s not just for convenience - the administrators of the target system need forewarning that an approved access request is coming. So they should receive info about the new person via the Sync Service, and they should also receive info about the access <em>request</em>. Later on when the request is approved they will of course get to see that as well.</p>
<h2>Here&#8217;s what it looks like</h2>
<p>So here&#8217;s what the end result is looking like in my lab. Notice I&#8217;ve pasted over some of the text as this is a customer lab with some real names in it (not Elvis obv).</p>
<p>I should also add I was aiming to solve this using <em>out of the box functionality only</em>. I could perhaps do something more elegant with custom workflows &#8211; but I&#8217;m sure my client is not the only one who prefers to avoid that.</p>
<table border="1">
<tbody>
<tr>
<td>I added an extra tab to the User Create form where the access request is made. The tab also appears on the User Edit form so you can equally request access for an already existing user.</td>
<td> <a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/01-request1.jpg"><img class="alignnone size-full wp-image-1892" title="01 request" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/01-request1.jpg" alt="" width="246" height="133" /></a></td>
</tr>
<tr>
<td>The user is created straight away and without any approval. If I go check the Access Requests tab now I can see the access was requested, and who did it.</td>
<td> <a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/02-request-status1.jpg"><img class="alignnone size-full wp-image-1893" title="02 request status" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/02-request-status1.jpg" alt="" width="346" height="140" /></a></td>
</tr>
<tr>
<td>I then have a bit of powershell magic going on in the background. This script:</p>
<ul>
<li>detects the request,</li>
<li>sets another attribute (&#8220;AccessApproved&#8221;) that has an Approval AuthZ workflow associated with it, and</li>
<li>changes the request status to &#8220;Manager approval requested&#8221;.</li>
</ul>
</td>
<td> <a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/03-approval-pendin.jpg"><img class="alignnone size-full wp-image-1903" title="03 approval pendin" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/03-approval-pendin.jpg" alt="" width="342" height="148" /></a></td>
</tr>
<tr>
<td>The user&#8217;s manager receives the Approval request, which they can approve in the FIM Portal or using the Outlook client, if installed.</td>
<td> <a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/04-approve.jpg"><img class="alignnone size-full wp-image-1879" title="04 approve" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/04-approve.jpg" alt="" width="365" height="103" /></a></td>
</tr>
<tr>
<td>Now when the person&#8217;s details are checked we see their Approved status. The Sync Service does whatever needs to be done with this information.</td>
<td> <a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/05-approved-statu.jpg"><img class="alignnone size-full wp-image-1898" title="05 approved statu" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/05-approved-statu.jpg" alt="" width="333" height="107" /></a></td>
</tr>
</tbody>
</table>
<h2>FIM Policy Objects</h2>
<p>I had to create quite a few policy objects to support all of this.</p>
<h3>Powershell User</h3>
<p>I created a dedicated user account to run the powershell script. I explicitly blocked this user from the &#8220;All People&#8221; set so it wouldn&#8217;t accidentally trigger other workflows.</p>
<h3>Schema</h3>
<p>I now have three attributes to handle the request:</p>
<ul>
<li>AccessRequested (boolean)</li>
<li>AccessRequestStatus (indexed string)</li>
<li>AccessApproved (boolean)</li>
</ul>
<h3>Sets</h3>
<p>I created the following Sets:</p>
<ul>
<li>&#8220;Access Requested&#8221;: users where &#8220;AccessRequested&#8221; is true.</li>
<li>&#8220;Access Approved&#8221;: users where &#8220;AccessApproved&#8221; is true.</li>
<li>&#8220;Access Requested and Not Approved&#8221;: user in &#8220;Access Requested&#8221; and not in &#8220;Access Approved&#8221;. I use this to display the request status at this point.</li>
<li>&#8220;Access Request Ready&#8221;: the state the user should be in for an access request to make sense. In my case the user is not a member of the Approved or Requested sets, but they are a member of the &#8220;All People with a Manager&#8221; set.</li>
</ul>
<h3>Workflows</h3>
<p>I have one AuthZ workflow:</p>
<ul>
<li>&#8220;Request Approval&#8221;: triggers an Approval process when the &#8220;AccessApproved&#8221; flag is set by the powershell script.</li>
</ul>
<p>And two Action workflows:</p>
<ul>
<li>&#8220;Set Access Status&#8221;: uses the Function Evaluator to write &#8220;Requested by [//Requestor/DisplayName]&#8221; into the &#8220;AccessRequestStatus&#8221; attribute.</li>
<li>&#8220;Clear Access Request&#8221;: uses the Function Evaluator to set &#8220;AccessRequested&#8221; to &#8220;false&#8221;, and clear the &#8220;AccessReqeustStatus&#8221;. This is run after the approval and clears the request, whether it was approved or rejected.</li>
</ul>
<p>Additionally I changed the workflow I run whenever a new user transitions in to the All People set, that sets a few default values. When working with booleans in the Portal it is always better if they have a value &#8211; null booleans have a habit of setting themselves to &#8216;false&#8217; when an object is edited &#8211; sometimes resulting in &#8220;Access Denied&#8221; messages. So to this workflow I add:</p>
<ul>
<li>AccessRequested = IIF(IsPresent(AccessRequested),AccessRequested,&#8217;false&#8217;)</li>
<li>AccessApproved = &#8216;false&#8217;</li>
</ul>
<h3>MPRs</h3>
<p>&#8220;All People may request access&#8221;:</p>
<ul>
<li>Modify, Create and Read to attributes &#8220;AccessRequested&#8221; and &#8220;AccessRequestStatus&#8221;,</li>
<li>Set before &#8220;Access Request Ready&#8221;; set after &#8220;Access Requested&#8221;,</li>
<li>Action WF &#8220;Set Access Status&#8221;.</li>
</ul>
<p>&#8220;All People may read pending access request status&#8221;:</p>
<ul>
<li>Read attributes &#8220;AccessRequested&#8221; and &#8220;AccessRequestStatus&#8221;,</li>
<li>Target set &#8220;Access Requested and Not Approved&#8221;.</li>
</ul>
<p>&#8220;All People may read approved request status&#8221;:</p>
<ul>
<li>Read attribute &#8220;AccessApproved&#8221;,</li>
<li>Target set &#8220;Access Approved&#8221;.</li>
</ul>
<p>&#8220;Powershell user can trigger Access Approval&#8221;:</p>
<ul>
<li>Read and Modify attribute &#8220;AccessApproved&#8221;,</li>
<li>Set before &#8220;Access Requested&#8221;, set after &#8220;All People&#8221;,</li>
<li>AuthZ WF &#8220;Request Approval&#8221;,</li>
<li>Action WF &#8220;Clear Access Request&#8221;.</li>
</ul>
<p>&#8220;Powershell user may set Access Request details&#8221;:</p>
<ul>
<li>Read and Modify attributes &#8220;AccessRequested&#8221;, &#8220;AccessApproved&#8221; and &#8220;AccessRequestStatus&#8221;,</li>
<li>Target set &#8220;All People&#8221;.</li>
</ul>
<h3>RCDC</h3>
<p>I modified the User Create and User Edit RCDCs to include the new fields. It is important to include the &#8220;my:Rights&#8221; parameter to allow the MPRs to display and hide the fields appropriately.</p>
<h3>Email Templates</h3>
<p>I also created some specific email templates for the Approval workflow. It is quite handy to include the AccessRequestStatus attribute in the template as it includes the name of the person who made the original request. This is something you would have with a direct approval, but is lost by having the powershell user trigger the approval.</p>
<h2>Powershell Script</h2>
<p>The powershell script is run under the special user account I created for it and sync&#8217;d to the Portal. It should run on a regular schedule in the background.</p>
<pre>if(@(get-pssnapin | where-object {$_.Name -eq "FIMAutomation"} ).count -eq 0) {add-pssnapin FIMAutomation}
$DefaultUri = "http://localhost:5725"

function ModifyImportObject
{
    PARAM([string]$TargetIdentifier, $ObjectType = "Resource")
    END
    {
        $importObject = New-Object Microsoft.ResourceManagement.Automation.ObjectModel.ImportObject
        $importObject.ObjectType = $ObjectType
        $importObject.TargetObjectIdentifier = $TargetIdentifier
        $importObject.SourceObjectIdentifier = $TargetIdentifier
        $importObject.State = 1 # Put
        $importObject
    }
}

function AddImportChangeToImportObject
{
    PARAM($ImportChange, $ImportObject)
    END
    {
        if ($ImportObject.Changes -eq $null)
        {
            $ImportObject.Changes = (,$ImportChange)
        }
        else
        {
            $ImportObject.Changes += $ImportChange
        }
    }
}

function CreateImportChange
{
    PARAM($AttributeName, $AttributeValue, $Operation)
    END
    {
        $importChange = New-Object Microsoft.ResourceManagement.Automation.ObjectModel.ImportChange
        $importChange.Operation = $Operation
        $importChange.AttributeName = $AttributeName
        $importChange.AttributeValue = $AttributeValue
        $importChange.FullyResolved = 1
        $importChange.Locale = "Invariant"
        $importChange
    }
}

function SetSingleValue
{
    PARAM($ImportObject, $AttributeName, $NewAttributeValue, $FullyResolved=1)
    END
    {
        $ImportChange = CreateImportChange -AttributeName $AttributeName -AttributeValue $NewAttributeValue -Operation 1
        $ImportChange.FullyResolved = $FullyResolved
        AddImportChangeToImportObject $ImportChange $ImportObject
    }
}

function ConvertResourceToHashtable
{
    PARAM([Microsoft.ResourceManagement.Automation.ObjectModel.ExportObject]$ExportObject)
    END
    {
        $hashtable = @{"ObjectID" = "Not found"}
        foreach($attribute in $exportObject.ResourceManagementObject.ResourceManagementAttributes)
        {
            if ($attribute.IsMultiValue -eq 1)
            {
                $hashtable[$attribute.AttributeName] = $attribute.Values
            }
            else
            {
                $hashtable[$attribute.AttributeName] = $attribute.Value
            }
        }
        $hashtable
    }
}

# Find users with the trigger attribute set
$objects = export-fimconfig -customconfig ("/Person[AccessRequestStatus != 'Manager approval requested']")

# Referenced objects also returned so make sure we get one with the attribute set
foreach ($object in $objects)
{
  $hash = ConvertResourceToHashtable -exportobject $object
  if ($hash.Contains('AccessRequestStatus'))
  {
    $hash

    $importObject = ModifyImportObject -TargetIdentifier $hash.Item('ObjectID') -objecttype $hash.Item('ObjectType')
    $importChanges = SetSingleValue -importobject $importObject -attributename 'AccessApproved' -newattributevalue $true
    import-fimconfig -importObject $importObject

    $importObject = ModifyImportObject -TargetIdentifier $hash.Item('ObjectID') -objecttype $hash.Item('ObjectType')
    $importChanges = SetSingleValue -importobject $importObject -attributename 'AccessRequestStatus' -newattributevalue 'Manager approval requested'
    import-fimconfig -importObject $importObject

  }
}</pre>
<h2>And if you want to do this more than once?</h2>
<p>I&#8217;ve shown you how to triger an authorization following a completed action, using a powershell script and a whole bunch of policy objects. In my case I actually have two types of access to request and there may be more in the future. However I couldn&#8217;t find a suitable way to roll them all into the one set of policy objects. Using a multi-value attribute to send messages to the powershell script was briefly appealing, but I had to forget it due to limitations with FIM xpath and the Function Evaluator. So for this approach, the answer for multiple request requirements is to replicate the whole system of policy objects for each case.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/authorization-after-an-action/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/authorization-after-an-action</feedburner:origLink></item>
		<item>
		<title>Installing Reporting for FIM R2 RC</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/evrEnkz7H5Q/installing-reporting-for-fim-r2</link>
		<comments>http://www.wapshere.com/missmiis/installing-reporting-for-fim-r2#comments</comments>
		<pubDate>Sun, 08 Jan 2012 05:11:13 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[FIM 2010 R2]]></category>
		<category><![CDATA[Reporting]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1831</guid>
		<description><![CDATA[I have just installed the reporting for FIM R2 RC and generated my first reports. Though when I say &#8220;just&#8221; read that as &#8220;spent two days on it and reinstalled twice&#8221;. However it is now working (yay! Was it worth it? Not sure yet!) and here&#8217;s my write-up.
You should also refer to the following documents from [...]]]></description>
			<content:encoded><![CDATA[<p>I have just installed the reporting for FIM R2 RC and generated my first reports. Though when I say &#8220;just&#8221; read that as &#8220;spent two days on it and reinstalled twice&#8221;. However it is now working (yay! Was it worth it? Not sure yet!) and here&#8217;s my write-up.</p>
<p>You should also refer to the following documents from the FIM R2 media:</p>
<ul>
<li>Test Lab Guide: Demonstrating Forefront Identity Manager 2010 R2 Beta Reporting</li>
<li>Test Lab Guide: Installing Forefront Identity Manager 2010 R2 Release Candidate</li>
</ul>
<p><span id="more-1831"></span></p>
<h3>Servers</h3>
<p>Here&#8217;s what I&#8217;ve installed into my lab:</p>
<table border="1">
<tbody>
<tr>
<td><strong>Server</strong></td>
<td><strong>Software</strong></td>
<td><strong>Comments</strong></td>
</tr>
<tr>
<td>DC</td>
<td>
<ul>
<li>Windows Server 2008r2 Standard</li>
<li>Exchange 2010</li>
</ul>
</td>
<td></td>
</tr>
<tr>
<td>FIM</td>
<td>
<ul>
<li>Windows Server 2008r2 Standard</li>
<li>SQL 2008r2</li>
<li>Sharepoint 2010 Foundation</li>
<li>FIM 2010 R2 &#8211; Sync and Portal</li>
<li>System Center Service Manager</li>
</ul>
</td>
<td>Two named instances of SQL:- FIM (Database)- SCDW (Database, Reporting)</td>
</tr>
<tr>
<td>Data Warehouse</td>
<td>
<ul>
<li>Windows Server 2008r2 Standard</li>
<li>System Center Data Warehouse Manager</li>
</ul>
</td>
<td>SCDW Manager cannot be installed on the same server as SCSM.</td>
</tr>
</tbody>
</table>
<h3>PreReqs</h3>
<p>I&#8217;ll assume you already have SQL installed. I created seperate instances for FIM and System Center.</p>
<ul>
<li>The instance for SC needs Database, Full Text Indexing and Reporting Services.</li>
<li>If you use the default collation you get a warning during installation about multi-lingual environments, so if this is an issue you will need to install with a suitable collation.</li>
</ul>
<p>The FIM Service and Portal may already be installed, but you should not yet have installed the Reporting component.</p>
<p>I also disabled all the Windows Firewalls just to get it working. I&#8217;ll look into what ports I need to open up when I switch them back on later.</p>
<h3>Install SCSM</h3>
<p>Install System Center Service Manager on the FIM server. (Note: I don&#8217;t know that it needs to be on the FIM server &#8211; that&#8217;s just how it is in my lab).</p>
<table border="1">
<tbody>
<tr>
<td>Configure the Service Manager database</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCSM-1.jpg"><img class="alignnone size-medium wp-image-1833" title="Install SCSM 1" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCSM-1-300x144.jpg" alt="" width="300" /></a></td>
</tr>
<tr>
<td>Configure the management group:</p>
<ul>
<li>Pick a suitable name for the management group  &#8211; this is some kind of system center thing and I used the name of the company (changed in the picture here to something generic).</li>
<li>For the administrators group I added FIMSyncAdmins because it&#8217;s a lab and I was feeling lazy and it&#8217;s just being installed for FIM. Obviously IRL you would create a dedicated group.</li>
</ul>
</td>
<td> <a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCSM-2.jpg"><img class="alignnone size-medium wp-image-1834" title="Install SCSM 2" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCSM-2-300x153.jpg" alt="" width="300" height="153" /></a></td>
</tr>
<tr>
<td>The following two screens ask you to select accounts for service and for the workflow account. I left both on the default of Local System.There was something about the workflow account needing to be an email-enabled domain account if you want to send reports by email later on, but that&#8217;s a nicety I can come back to later.</td>
<td> <a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCSM-3.jpg"><img class="alignnone size-medium wp-image-1835" title="Install SCSM 3" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCSM-3-300x120.jpg" alt="" width="300" height="120" /></a></td>
</tr>
</tbody>
</table>
<p>After completing these options you should be able to proceed with the installation.</p>
<h3>Install SCDW</h3>
<p>Install System Center Data Warehouse Management Server onto its dedicated (or at least, seperate) server.</p>
<table border="1">
<tbody>
<tr>
<td>Straight off you may see a couple of warnings.</p>
<ul>
<li>The 8GB seems excessive for a lab. My server has 4GB configured and I&#8217;ve not seen it go above 2GB usage.</li>
<li>The message about the hotfix may be ignored for Win2008r2. I downloaded and tried to install the patch several times and was always told that the hotfix was not applicable to my system. So eventually I googled it and, sure enough, you don&#8217;t need it on R2, even though it warns you about it!</li>
</ul>
</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-1-warnings.jpg"><img class="alignnone size-medium wp-image-1836" title="Install SCDW 1 warnings" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-1-warnings-300x115.jpg" alt="" width="300" height="115" /></a></td>
</tr>
<tr>
<td>Configure the databases &#8211; Click &#8220;Staging and Configuration&#8221; and &#8220;Data Mart&#8221; in turn and point it at the SQL server and instance &#8211; in my case hosted on the FIM server.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-3-server.jpg"><img class="alignnone size-medium wp-image-1837" title="Install SCDW 3 server" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-3-server-300x193.jpg" alt="" width="300" height="193" /></a></td>
</tr>
<tr>
<td>Here for the name I just added &#8220;FIM&#8221; after the &#8220;DW_&#8221; that was already there. And as above I was lazy and reused the FIMSyncAdmins group.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-4-management-group.jpg"><img class="alignnone size-medium wp-image-1838" title="Install SCDW 4 management group" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-4-management-group-300x149.jpg" alt="" width="300" height="149" /></a></td>
</tr>
<tr>
<td>Set the details of the SQL Reporting Server to be used by SCDW.</p>
<p>I&#8217;ve ticked the box saying I&#8217;ve taken certain manual steps  but actually I haven&#8217;t done it yet so we&#8217;ll go do that now.(Incidentally if you forget these manual steps all the DW Management Packs deploy except for the ones named &#8220;* Report Library&#8221;.)</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-5-plus-extra-manual-steps.jpg"><img class="alignnone size-medium wp-image-1839" title="Install SCDW 5 plus extra manual steps" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-5-plus-extra-manual-steps-300x185.jpg" alt="" width="300" height="185" /></a></td>
</tr>
<tr>
<td>Here&#8217;s the link where the manual steps are described: <a href="http://technet.microsoft.com/en-us/library/ff461215.aspx">http://technet.microsoft.com/en-us/library/ff461215.aspx</a></p>
<p>First you copy the file <strong>Microsoft.EnterpriseManagement.Reporting.Code.dll</strong> from the Prerequisites folder on the System Centre DVD to the ../ReportServer/bin folder relevant to your named instance of SQL (more details about how to find this folder in the technote).</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/manual-change-1.jpg"><img class="alignnone size-medium wp-image-1840" title="manual change 1" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/manual-change-1-300x198.jpg" alt="" width="300" height="198" /></a></td>
</tr>
<tr>
<td>Then there&#8217;s a piece of XML to be pasted into the ../ReportServer/rssrvpolicy.config file. You don&#8217;t need to modify the XML, but you do need to copy it at the same level as the other CodeGroup nodes.</p>
<p>While it doesn&#8217;t say in the technote, there is a comment at the bottom saying you should restart Reporting Services, which sounds pretty sensible.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/manual-change-2.jpg"><img class="alignnone size-medium wp-image-1841" title="manual change 2" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/manual-change-2-300x264.jpg" alt="" width="300" height="264" /></a></td>
</tr>
<tr>
<td>Now back to the SCDW installation &#8211; specify a domain account to run the service. This account needs to be a local Administator on the SCDW server.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-6.jpg"><img class="alignnone size-medium wp-image-1842" title="Install SCDW 6" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-6-300x156.jpg" alt="" width="300" height="156" /></a></td>
</tr>
<tr>
<td>I just used the same account for the reporting account. Again not sure if this is a good or bad idea, but it&#8217;ll do for now.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-7.jpg"><img class="alignnone size-medium wp-image-1843" title="Install SCDW 7" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Install-SCDW-7-300x189.jpg" alt="" width="300" height="189" /></a></td>
</tr>
</tbody>
</table>
<p>Now you should be able to click <strong>Install</strong> and let the installation run.</p>
<h3>Register the DW server with SCSM</h3>
<p>Next you have to register the SC Data Warehouse Management Server with SC System Manager.</p>
<table border="1">
<tbody>
<tr>
<td>Run the System Center Service Manager Console and, on the Administration page, click on &#8220;Register with Service Manager Data Warehouse&#8221;.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Regsiter-DW-0.jpg"><img class="alignnone size-medium wp-image-1844" title="Regsiter DW 0" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Regsiter-DW-0-300x168.jpg" alt="" width="300" height="168" /></a></td>
</tr>
<tr>
<td>Enter the name of the SCDW server.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Regsiter-DW-1.jpg"><img class="alignnone size-medium wp-image-1845" title="Regsiter DW 1" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Regsiter-DW-1-300x141.jpg" alt="" width="300" height="141" /></a></td>
</tr>
<tr>
<td>Here I just accepted the default, even though the accountname doesn&#8217;t look familiar - I guess it maps to the service account because it seems to work.</td>
<td> <a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Regsiter-DW-2.jpg"><img class="alignnone size-medium wp-image-1847" title="Regsiter DW 2" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/Regsiter-DW-2-300x155.jpg" alt="" width="300" height="155" /></a></td>
</tr>
</tbody>
</table>
<p>The last step is just to click <strong>Create</strong> and the registration should complete.</p>
<h3>Wait for the Management Packs to finish deploying</h3>
<p>The first time I installed I had a lot of trouble with DW jobs seemingly never finishing and no data appearing in the reports. So the second time through I made sure each step completed without errors before continuing on.</p>
<p>In the System Center console, if you open Data Warehouse -&gt; Management Packs, you should see a list of Management Packs. Wait until all of them have &#8220;Completed&#8221; as their Deployment Status.</p>
<p>If any come up as &#8220;Failed&#8221; then troubleshoot that before proceeding. Note that when looking for error messages you have to go into the Operations Manager event log on the <strong>Data Warehouse Management Server</strong> - and not the server where you&#8217;re running the console.</p>
<h3>Install the Reporting component of FIM R2</h3>
<p>&nbsp;</p>
<table border="1">
<tbody>
<tr>
<td>If you don&#8217;t yet have the FIM Service and Portal installed, install it now, selecting the FIM Reporting option.If it is already installed, go to Control Panel / Uninstall a Program. Select &#8220;Forefront Identity Manager Service and Portal&#8221; and choose &#8220;Change&#8221;.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/install-portal-1.jpg"><img class="alignnone size-medium wp-image-1848" title="install portal 1" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/install-portal-1-300x214.jpg" alt="" width="300" height="214" /></a></td>
</tr>
<tr>
<td>Enter the name of the server where you installed SCSM (the FIM server in my lab). If you get a warning about a hotfix go and install it.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/install-portal-5.jpg"><img class="alignnone size-medium wp-image-1849" title="install portal 5" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/install-portal-5-300x240.jpg" alt="" width="300" height="240" /></a></td>
</tr>
</tbody>
</table>
<p>Otherwise just configure as appropriate for your environment and complete your Portal re/installation.</p>
<h3>Run the DW Configuration Script</h3>
<p>&nbsp;</p>
<table border="1">
<tbody>
<tr>
<td>There&#8217;s a script in the FIM R2 installation media you need to run to set things up correctly. It&#8217;s called FIMPostInstallScriptsForDataWarehouse.ps1 and you&#8217;ll find it in the &#8220;Data Warehouse Support Scripts&#8221; folder which ius located in FIM_R2_RC_TechNet_Docs.zip (a seperate download to the installtion files).You have to enter the DataWarehouseServerInstance which is actually asking for the SQL instance where the DW databases are - so here I&#8217;ve entered localhost\SCDW.</p>
<p>The FIMServiceAccountName is simple enough &#8211; the account running the FIM Service.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/initial-sync-21.jpg"><img class="alignnone size-medium wp-image-1855" title="initial sync 2" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/initial-sync-21-300x66.jpg" alt="" width="300" height="66" /></a></td>
</tr>
</tbody>
</table>
<h3>Run the FIM powershell cmdlets to create Report objects</h3>
<p>The reporting data is exported by a workflow that is triggered by the creation of Reporting Job objects in the FIM Portal. There are a couple of powershell cmdlets that do this for you.</p>
<table border="1">
<tbody>
<tr>
<td>First run the Start-FIMReportingInitialSync script. If you haven&#8217;t already done so you&#8217;ll need to add the FIMAutomation pssnapin.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/initial-sync-3.jpg"><img class="alignnone size-medium wp-image-1856" title="initial sync 3" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/initial-sync-3-300x44.jpg" alt="" width="300" height="44" /></a></td>
</tr>
<tr>
<td>Now go into the FIM Portal and check the Reporting Job object was created. In Adminstration -&gt; All Resources locate the object class msidmReportingJob. Click on &#8220;Reporting Job&#8221; to view all objects of this type.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/initial-sync-4.jpg"><img class="alignnone size-medium wp-image-1857" title="initial sync 4" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/initial-sync-4-300x76.jpg" alt="" width="300" height="76" /></a></td>
</tr>
<tr>
<td>You should see a job of type &#8220;Initial&#8221;. Open it and check it&#8217;s properties to see the status of the job. First it will be &#8220;Running&#8221; and then &#8220;Completed&#8221;. If the job fails then you will have some troubleshooting to do.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/initial-sync-6.jpg"><img class="alignnone size-medium wp-image-1858" title="initial sync 6" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/initial-sync-6-300x219.jpg" alt="" width="300" height="219" /></a></td>
</tr>
<tr>
<td>Next run the cmdlet Start-FIMReportingIncrementalSync script. This does the same sort of thing - creates a Reporting Job object in the Portal.It is this cmdlet that you will need to schedule to run periodically.</td>
<td><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/partial-sync-1.jpg"><img class="alignnone size-medium wp-image-1859" title="partial sync 1" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/partial-sync-1-300x28.jpg" alt="" width="300" height="28" /></a></td>
</tr>
</tbody>
</table>
<h3>Wait for DW Jobs to complete</h3>
<p>You won&#8217;t see any data in the reports until the following Data Warehouse Jobs have completed:</p>
<ul>
<li>Extract_<em>MyName</em></li>
<li>Transform.Common</li>
<li>Load.Common</li>
</ul>
<p>In the FIM doco there&#8217;s a section showing you how to create a script called ETLScript.ps1 that forces these jobs to run straight away. However in my environment the first two scripts are set, by default, to run every 5 minutes, and the last one runs once an hour. So you can either run the script, or wait an hour or so and then find data in the reports.</p>
<p>I found the following powershell cmdlets useful while I was waiting for the pot to boil. They have to be run on the <strong>SCDW Server</strong>.</p>
<ul>
<li>Get-SCDWJob</li>
<li>Get-SCDWJobModule</li>
<li>Get-SCDWJobSchedule</li>
</ul>
<p>You have to add the pssnapin SMCmdletSnapIn first.</p>
<h3>View Reports</h3>
<p>All going well you should eventually see some data in the reports, which can be viewed in the SC Service Manager Console under Reports.</p>
<p><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/view-report.jpg"><img class="alignnone size-full wp-image-1860" title="view report" src="http://www.wapshere.com/missmiis/wp-content/uploads/2012/01/view-report.jpg" alt="" width="1284" height="577" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/installing-reporting-for-fim-r2/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/installing-reporting-for-fim-r2</feedburner:origLink></item>
		<item>
		<title>Powershell script to generate test users in AD</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/F-zFLLgyvxY/powershell-script-to-generate-test-users-in-ad</link>
		<comments>http://www.wapshere.com/missmiis/powershell-script-to-generate-test-users-in-ad#comments</comments>
		<pubDate>Tue, 03 Jan 2012 00:58:41 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[AD]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1823</guid>
		<description><![CDATA[I needed to set up a test AD with realistic looking test users. This script by Alex Tcherniakhovski was the type of thing I wanted as it starts with lists of OUs, first names and last names and then creates accounts across all OUs listed, and using a random selection of names.
However Alex&#8217;s script uses [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to set up a test AD with realistic looking test users. <a href="http://blogs.msdn.com/b/alextch/archive/2006/09/18/adpopulate.aspx">This script</a> by Alex Tcherniakhovski was the type of thing I wanted as it starts with lists of OUs, first names and last names and then creates accounts across all OUs listed, and using a random selection of names.</p>
<p>However Alex&#8217;s script uses Excel which I don&#8217;t have installed in my lab and don&#8217;t really want. So I&#8217;ve taken his source lists and his concept and written a little powershell script to do much the same thing.</p>
<p>You can download it from <a title="adpopulate.ps1.zip" href="http://http://www.wapshere.com/dl/adpopulate.ps1.zip">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/powershell-script-to-generate-test-users-in-ad/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/powershell-script-to-generate-test-users-in-ad</feedburner:origLink></item>
		<item>
		<title>Annual blag post</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/sUgDs0hhQLA/annual-blag-post</link>
		<comments>http://www.wapshere.com/missmiis/annual-blag-post#comments</comments>
		<pubDate>Mon, 02 Jan 2012 00:54:37 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1818</guid>
		<description><![CDATA[I&#8217;ve received word that I have been awarded the MVP for 2012. I never take this for granted and it always makes me very happy to receive this acknowledgement, so thank you Microsoft and the FIM PG!
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve received word that I have been awarded the MVP for 2012. I never take this for granted and it always makes me very happy to receive this acknowledgement, so thank you Microsoft and the FIM PG!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/annual-blag-post/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/annual-blag-post</feedburner:origLink></item>
		<item>
		<title>Outbound Sync Rule Scope</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/p5UzBKhy1wY/outbound-sync-rule-scope</link>
		<comments>http://www.wapshere.com/missmiis/outbound-sync-rule-scope#comments</comments>
		<pubDate>Mon, 28 Nov 2011 11:56:16 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[FIM 2010]]></category>
		<category><![CDATA[FIM 2010 R2]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1807</guid>
		<description><![CDATA[Just getting started with FIM R2 RC here at the moment &#8211; and the first thing I&#8217;m excited about is outbound Sync Rule scopes!

When creating an Outbound Sync Rule now you are offered the enticing option to use an &#8220;Outbound System Scoping Filter&#8221;:

And now, instead of mucking around with Sets and MPRs, I can set [...]]]></description>
			<content:encoded><![CDATA[<p>Just getting started with FIM R2 RC here at the moment &#8211; and the first thing I&#8217;m excited about is outbound Sync Rule scopes!</p>
<p><span id="more-1807"></span></p>
<p>When creating an Outbound Sync Rule now you are offered the enticing option to use an &#8220;Outbound System Scoping Filter&#8221;:</p>
<p><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2011/11/outscopes1.jpg"><img class="alignnone size-full wp-image-1809" title="outscopes1" src="http://www.wapshere.com/missmiis/wp-content/uploads/2011/11/outscopes1.jpg" alt="" width="721" height="238" /></a></p>
<p>And now, instead of mucking around with Sets and MPRs, I can set a simple rule which says which objects I want this to apply to.</p>
<p><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2011/11/outscopes2.jpg"><img class="alignnone size-full wp-image-1810" title="outscopes2" src="http://www.wapshere.com/missmiis/wp-content/uploads/2011/11/outscopes2.jpg" alt="" width="662" height="189" /></a></p>
<p>And it works!</p>
<p><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2011/11/outscopes3.jpg"><img class="alignnone size-full wp-image-1811" title="outscopes3" src="http://www.wapshere.com/missmiis/wp-content/uploads/2011/11/outscopes3.jpg" alt="" width="747" height="240" /></a></p>
<p>&nbsp;</p>
<p>The other thing that hasn&#8217;t appeared to clutter up my Metaverse is any EREs, though the DREs are still generated.</p>
<p>All up a definite improvement!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/outbound-sync-rule-scope/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/outbound-sync-rule-scope</feedburner:origLink></item>
		<item>
		<title>Don’t use the FIM configuration migration scripts between versions</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/yvAlBBJptXg/dont-use-the-fim-configuration-migration-scripts-between-versions</link>
		<comments>http://www.wapshere.com/missmiis/dont-use-the-fim-configuration-migration-scripts-between-versions#comments</comments>
		<pubDate>Sun, 27 Nov 2011 23:07:37 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[FIM 2010]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1803</guid>
		<description><![CDATA[I&#8217;ve just been installing FIM R2 RC into my lab. Unfortunately I couldn&#8217;t get the portal to upgrade from R2 beta to R2 RC (and to be fair the doco doesn&#8217;t say you should be able to) so had the bright idea of using the migration scripts to do a config comparison between my beta [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just been installing FIM R2 RC into my lab. Unfortunately I couldn&#8217;t get the portal to upgrade from R2 beta to R2 RC (and to be fair the doco doesn&#8217;t say you should be able to) so had the bright idea of using the <a href="http://technet.microsoft.com/en-us/library/ee534906(WS.10).aspx">migration scripts</a> to do a config comparison between my beta and RC environments, and hopefully update the RC lab with my beta lab modifications.</p>
<p>I guess this shows I haven&#8217;t used the migration scripts all that much, because I didn&#8217;t realise they would start deleting all the new schema attributes to do with reporting!</p>
<p>So now I know: don&#8217;t use the FIM migration scripts between versions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/dont-use-the-fim-configuration-migration-scripts-between-versions/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/dont-use-the-fim-configuration-migration-scripts-between-versions</feedburner:origLink></item>
		<item>
		<title>Microsoft.IdentityManagement.SolutionPackUtility.exe crashing FIM</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/34kE1yMuQe0/microsoft-identitymanagement-solutionpackutility-exe-crashing-fim</link>
		<comments>http://www.wapshere.com/missmiis/microsoft-identitymanagement-solutionpackutility-exe-crashing-fim#comments</comments>
		<pubDate>Sun, 20 Nov 2011 22:30:30 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[FIM 2010]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1796</guid>
		<description><![CDATA[Had a weird problem on a dev box. Whenever I launched Synchronization Service Manager, and sometimes even just when opening the properties of a MA, everything would stop while the server seemingly tried to install something in the background. Running taskmgr.exe revealed Microsoft.IdentityManagement.SolutionPackUtility.exe and TrustedInstaller.exe were running.

At first I was just killing these tasks and [...]]]></description>
			<content:encoded><![CDATA[<p>Had a weird problem on a dev box. Whenever I launched Synchronization Service Manager, and sometimes even just when opening the properties of a MA, everything would stop while the server seemingly tried to install something in the background. Running taskmgr.exe revealed Microsoft.IdentityManagement.SolutionPackUtility.exe and TrustedInstaller.exe were running.</p>
<p><span id="more-1796"></span></p>
<p>At first I was just killing these tasks and then the Sync Service Manager would run properly, but then I started working with the Portal as well &#8211; and I noticed that, increasingly, I was getting 503 Service Not Available errors when I tried to access the Portal.</p>
<p>The first couple of times it happened I reinstalled the Portal by using the &#8220;Change&#8221; option in Add/Remove Programs. This got it working again -  but before long I&#8217;d have to restart the Sync Service Manager, I&#8217;d get that whole thing with Microsoft.IdentityManagement.SolutionPackUtility.exe again, and immediately after an inaccessible Portal with 503 errors. Clearly the two problems were linked!</p>
<p>Eventually I solved the problem by reinstalling Sharepoint. I had to completely uninstall WSS <em>and</em> the Windows Internal Database. I then reinstalled WSS and the FIM Service and Portal. I used my original FIMService database so I didn&#8217;t lose any of my work.</p>
<p>I did see <a href="http://social.technet.microsoft.com/wiki/contents/articles/4152.aspx">Tim&#8217;s post on the technet wiki</a> with a similar sounding problem but I didn&#8217;t see the job definition in Sharepoint that he mentions, so it wasn&#8217;t exactly the same root cause.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/microsoft-identitymanagement-solutionpackutility-exe-crashing-fim/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/microsoft-identitymanagement-solutionpackutility-exe-crashing-fim</feedburner:origLink></item>
		<item>
		<title>FIM Portal demo – using FIM to manage BPOS/Office 365</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/-FI1H9SVjcs/fim-portal-demo-using-fim-to-manage-bposoffice-365</link>
		<comments>http://www.wapshere.com/missmiis/fim-portal-demo-using-fim-to-manage-bposoffice-365#comments</comments>
		<pubDate>Sat, 12 Nov 2011 00:38:58 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[BPOS]]></category>
		<category><![CDATA[FIM 2010]]></category>
		<category><![CDATA[Office 365]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1781</guid>
		<description><![CDATA[Regular readers of this blog will know that, a few months ago, I made a big move from Europe back to my native Australia. All our stuff finally turned up a couple of weeks ago, and while looking for something else on a harddrive I came across this recording I made which demonstrates part of [...]]]></description>
			<content:encoded><![CDATA[<p>Regular readers of this blog will know that, a few months ago, I made a big move from Europe back to my native Australia. All our stuff finally turned up a couple of weeks ago, and while looking for something else on a harddrive I came across this recording I made which demonstrates part of the FIM-BPOS solution I worked on in Switzerland.</p>
<p>I made this recording as an emergency backup for a session I gave at <a href="http://www.theexpertsconference.com">TEC</a>, in case of laptop implosion or other unforseen disaster. So it&#8217;s not particularly professional and in fact a bit rubbish in places (there must have been some &#8220;zoom to mouse&#8221; setting so I&#8217;m afraid there&#8217;s a couple of nice long shots of the corner of the screen), however I&#8217;ve decided to share it as an example of some of the useful things you can do with the FIM Portal.<br />
<span id="more-1781"></span></p>
<p>Note also that the demo shows my lab environment, but much the same configuration is currently running in a production environment with over 20,000 user objects being managed, and from what I hear, still going strong several months after I left that part of the world.</p>
<p>(Video: Watch this video on the post page)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/fim-portal-demo-using-fim-to-manage-bposoffice-365/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/fim-portal-demo-using-fim-to-manage-bposoffice-365</feedburner:origLink></item>
		<item>
		<title>200th Post!</title>
		<link>http://feedproxy.google.com/~r/missmiis/~3/G46OSWPcp1k/200th-post</link>
		<comments>http://www.wapshere.com/missmiis/200th-post#comments</comments>
		<pubDate>Mon, 24 Oct 2011 21:02:50 +0000</pubDate>
		<dc:creator>Carol</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.wapshere.com/missmiis/?p=1736</guid>
		<description><![CDATA[Today&#8217;s post is my 200th. As my 100th post slipped by without me noticing I&#8217;m going to give myself a self-indulgent look back over the history of missmiis to celebrate this milestone.

My first post was on the 18th of May 2007. I&#8217;d been working with MIIS for about two years and found it both heavy [...]]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s post is my 200<sup>th</sup>. As my <a href="http://www.wapshere.com/missmiis/connectionchangetime">100<sup>th</sup> post</a> slipped by without me noticing I&#8217;m going to give myself a self-indulgent look back over the history of missmiis to celebrate this milestone.</p>
<p><span id="more-1736"></span></p>
<p>My <a href="http://www.wapshere.com/missmiis/what-i-hope-to-do-with-this-blog">first post</a> was on the 18<sup>th</sup> of May 2007. I&#8217;d been working with MIIS for about two years and found it both heavy going and completely absorbing &#8211; in fact I was obsessed! I was also on the verge of a big move: London to Geneva via 3 months in Australia. I started the blog as a memory-aid for myself, as something that might help my employment prospects in Geneva, and of course with the thought that it might help out others, just as I have always found great tips and explanations on other people&#8217;s blogs.</p>
<p>So, 4½ years in, what can I say about missmiis?</p>
<p><strong>Content</strong></p>
<ul>
<li>I&#8217;ve stuck to my original intention of posting only what I&#8217;ve actually done myself &#8211; with any theorising or speculation noted clearly,</li>
<li>I also try to post only what can&#8217;t easily be found elsewhere &#8211; at least, I couldn&#8217;t find it.</li>
<li>If someone else&#8217;s blog post or forum entry has helped me I acknowledge and link it.</li>
</ul>
<p><strong>Reader Stats</strong></p>
<p>My stats don&#8217;t go back to the very beginning, but I definitely can say readership has climbed steadily, except for the year following the Great ILM2 Delay. You can see pretty clearly when that was from looking at my stats!</p>
<p><a href="http://www.wapshere.com/missmiis/wp-content/uploads/2011/10/month-stats.jpg"><img class="alignnone size-full wp-image-1738" title="month stats" src="http://www.wapshere.com/missmiis/wp-content/uploads/2011/10/month-stats.jpg" alt="" width="946" height="369" /></a></p>
<p><strong>Posts of Note</strong></p>
<ul>
<li><a href="http://www.wapshere.com/missmiis/a-galsync-powershell-script">A GALSync powershell script</a> because it is far and above my most popular posting ever.</li>
<li><a href="http://www.wapshere.com/missmiis/powershell-activity">Powershell Activity</a> because, while no great piece of code, it represents when I finally understood how to develop a custom activity &#8211; the usual minimalist MS documentation having left me mostly in the dark.</li>
<li><a href="http://www.wapshere.com/missmiis/ilm-2-release-date-put-back-a-whole-year">ILM 2 release date put back &#8211; A WHOLE YEAR!</a> This was the post where, without realising it, I &#8220;broke&#8221; the news on the internet. This was actually my most-read post for quite some time, especially considering the readership dive that followed.</li>
<li><a href="http://www.wapshere.com/missmiis/exchange-2007-cross-forest-migration">Exchange 2007 Cross-Forest Migration</a> Up until about 18 months ago I was still working as an Exchange, as well as FIM, consultant. There just wasn&#8217;t enough FIM work to keep me fully occupied (there is now!) This is my most-read Exchange post.</li>
</ul>
<p><strong>What this blog has given me</strong></p>
<ul>
<li>A convenient place to put stuff so I know where to find it,</li>
<li>Speaking opportunites, starting with TechDays Geneva 2008 where I presented ILM 2007,</li>
<li>Three MVP awards,</li>
<li>The chance to meet some great people, and</li>
<li>A <a href="http://www.thefimteam.com">job</a>!</li>
</ul>
<p><strong>And why is the blog still named after an eight year old product?</strong></p>
<p>No reason I should rename my blog every time Microsoft rename their product.</p>
<p>However, even if I don&#8217;t use it, I have permanent dibs on <em>FIM fatale</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wapshere.com/missmiis/200th-post/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.wapshere.com/missmiis/200th-post</feedburner:origLink></item>
	</channel>
</rss>

