<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-1242510060581634745</id><updated>2009-11-14T04:18:22.063-08:00</updated><title type="text">identityjunkie.com</title><subtitle type="html">identity management and infosec security related experiences with  a few general ramblings here an there...</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.identityjunkie.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/identityjunkie/girK" type="application/atom+xml" /><feedburner:emailServiceId>identityjunkie/girK</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-7943907491859436589</id><published>2009-11-11T21:08:00.001-08:00</published><updated>2009-11-11T21:08:25.858-08:00</updated><title type="text">Can ADFSv2 Beta2 work with ZXID?</title><content type="html">&lt;p&gt;This week, we configured interoperability with an STS running ZXID for SP-initiated SSO. ZXID is an open source IdM for SAML SSO. It’s basically an Apache httpd auth module for SAML SSO. It uses pure SAML 2.0 and ID-WSF Web Services, and others language bindings supported through SWIG. More on the product can be found here and how it works:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://zxid.org/" target="_blank"&gt;OpenLiberty Secure Identity Web Service&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://zxid.org/html/mod_auth_saml.html" target="_blank"&gt;Apache with mod_auth_saml Receipe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thoughts? Pretty cool…&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-7943907491859436589?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/7943907491859436589/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=7943907491859436589" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/7943907491859436589" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/7943907491859436589" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/NsNv0BiryPc/can-adfsv2-beta2-work-with-zxid.html" title="Can ADFSv2 Beta2 work with ZXID?" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2009/11/can-adfsv2-beta2-work-with-zxid.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-3515337484641731373</id><published>2009-10-16T10:30:00.001-07:00</published><updated>2009-10-16T10:30:03.366-07:00</updated><title type="text">FIM RC1: Access to the requested resource(s) is denied</title><content type="html">&lt;p&gt;A common attribute used in ILM projects is the “Employee Status” attribute. In RC1, this value does not exist for the user resource type within the portal. Additionally, there might be more attributes you need to create and associate with any resource type; therefore, after going through the procedures documented in the “&lt;b&gt;&lt;i&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ee534912(WS.10).aspx"&gt;Introduction to Schema Management&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;” guide, you’ll probably experience the following error when exporting data from the FIM MA:&lt;/p&gt;  &lt;p&gt;&amp;quot;&lt;b&gt;failed-web-motification-error&amp;quot;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Type: Microsoft.ResourceManagement.WebServices.Client.PermissionDeniedException&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Message: Access to the requested resource(s) is denied&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Stack Trace:&amp;#160;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.WebServices.Client.UninitializedResource.PerformUpdate()     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.WebServices.Client.UninitializedResource.Update()      &lt;br /&gt;&amp;#160;&amp;#160; at MIIS.ManagementAgent.RavenMA.ExportObjectModification(DataSourceObject dsObject, SchemaManager schemaManager)      &lt;br /&gt;&amp;#160;&amp;#160; at MIIS.ManagementAgent.RavenMA.Export(DataSourceObject dsObject)&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;As Joe mentions on the &lt;a href="http://social.technet.microsoft.com/Forums/en/ilm2/thread/aa5ac051-8ae4-49ea-abcc-9d7a5890a08b"&gt;forums&lt;/a&gt;, in RC1 the default MPRs list explicit attribute values within the list of resource attributes versus just saying “All Attributes.” Any custom attribute needs to be added in order for the synchronization account to update them during an export procedure. To do so, just add the attribute to the “&lt;b&gt;&lt;u&gt;Synchronization: Synchronization account controls users it synchronizes&lt;/u&gt;&lt;/b&gt;” MRP. Not sure if this is relevant, but I had to cycle my FIM Service for it to apply immediately. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-3515337484641731373?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/3515337484641731373/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=3515337484641731373" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/3515337484641731373" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/3515337484641731373" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/ZaQ0Zy3IJdg/fim-rc1-access-to-requested-resources.html" title="FIM RC1: Access to the requested resource(s) is denied" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2009/10/fim-rc1-access-to-requested-resources.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-5904876343580971784</id><published>2009-09-16T22:23:00.001-07:00</published><updated>2009-09-16T22:23:23.520-07:00</updated><title type="text">Automating MOSS 2007 installs</title><content type="html">&lt;p&gt;Let’s build onto the process described in my last post. This time, let’s look at automating the setup of MOSS 2007. Here is a link which describes the process for&lt;a href="http://blogs.msdn.com/martinkearn/archive/2008/01/14/how-to-create-a-slipstream-installation-for-moss-with-sp1.aspx"&gt; “slipstreaming” the MOSS setup files with SP1&lt;/a&gt;; therefore, I’m going to skip that. Apparently, the Product Group has released a &lt;a href="http://blogs.msdn.com/sharepoint/archive/2008/03/07/moss-2007-with-sp1-slipstream-officeserverwithsp1-exe-released.aspx"&gt;downloadable&lt;/a&gt; version also, so this might be useful for future service packs and updates. &lt;/p&gt;  &lt;p&gt;Depending on where you want to go, if you still need to install SQL…you can bolt this process right on top of the unattended SQL installation procedure. For me, this comes in handy when re-building my farm(s) for development.&lt;/p&gt;  &lt;p&gt;The pre-requisites for installing MOSS 2007 on Windows 2008 are to install the web server role w/ the IIS6 management components. You can do this by using servermanagercmd.exe with the –I switch + the [Web-WebServer] and [Web-Mgmt-Compat] components. For example:&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;font size="2" face="Courier New"&gt;servermanagercmd -i Web-WebServer&lt;/font&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;font size="2" face="Courier New"&gt;servermanagercmd -i Web-Mgmt-Compat&lt;/font&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Assuming SQL is already provisioned and you have a slipstreamed install directory, you can proceed to setup a configuration file for setup. Be sure to install the pre-requisites, then you can proceed to use the /config [path and file name] switch to reference a Config.xml file to setup MOSS 2007. If you’ve slipstreamed your installation files with SP1, the updates will be applied during the installation. Here is the TechNet &lt;a href="http://technet.microsoft.com/en-us/library/cc287749.aspx"&gt;link&lt;/a&gt; on how to use the Config.xml for controlling installs or doing more advanced installations.&lt;/p&gt;  &lt;p&gt;Below is a sample configuration file I use for simple farm installation, using the following syntax:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Courier New"&gt;\\..\...\MOSS2007_FullSP1\x86Setup\setup.exe /config “config.xml”&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="711"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="709"&gt;         &lt;p&gt;&lt;a href="file:///Z:\Source\MOSS2007_FullSP1\x86Setup\config.xml"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;a href="file:///Z:\Source\MOSS2007_FullSP1\x86Setup\config.xml"&gt;&lt;b&gt;&lt;font size="2" face="Verdana"&gt;-&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; &amp;lt;Configuration&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="file:///Z:\Source\MOSS2007_FullSP1\x86Setup\config.xml"&gt;&lt;b&gt;&lt;font size="2" face="Verdana"&gt;-&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; &amp;lt;Package Id=&amp;quot;&lt;b&gt;sts&lt;/b&gt;&amp;quot;&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Setting Id=&amp;quot;&lt;b&gt;LAUNCHEDFROMSETUPSTS&lt;/b&gt;&amp;quot; Value=&amp;quot;&lt;b&gt;Yes&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Setting Id=&amp;quot;&lt;b&gt;REBOOT&lt;/b&gt;&amp;quot; Value=&amp;quot;&lt;b&gt;ReallySuppress&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Setting Id=&amp;quot;&lt;b&gt;SETUPTYPE&lt;/b&gt;&amp;quot; Value=&amp;quot;&lt;b&gt;CLEAN_INSTALL&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;/Package&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="file:///Z:\Source\MOSS2007_FullSP1\x86Setup\config.xml"&gt;&lt;b&gt;&lt;font size="2" face="Verdana"&gt;-&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; &amp;lt;Package Id=&amp;quot;&lt;b&gt;spswfe&lt;/b&gt;&amp;quot;&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Setting Id=&amp;quot;&lt;b&gt;SETUPCALLED&lt;/b&gt;&amp;quot; Value=&amp;quot;&lt;b&gt;1&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Setting Id=&amp;quot;&lt;b&gt;REBOOT&lt;/b&gt;&amp;quot; Value=&amp;quot;&lt;b&gt;ReallySuppress&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Setting Id=&amp;quot;&lt;b&gt;OFFICESERVERPREMIUM&lt;/b&gt;&amp;quot; Value=&amp;quot;&lt;b&gt;1&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;/Package&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;DATADIR Value=&amp;quot;&lt;b&gt;C:\Data&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Logging Type=&amp;quot;&lt;b&gt;verbose&lt;/b&gt;&amp;quot; Path=&amp;quot;&lt;b&gt;%temp%&lt;/b&gt;&amp;quot; Template=&amp;quot;&lt;b&gt;Office Server Setup(*).log&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Display Level=&amp;quot;&lt;b&gt;none&lt;/b&gt;&amp;quot; CompletionNotice=&amp;quot;&lt;b&gt;Yes&lt;/b&gt;&amp;quot; SupressModal=&amp;quot;&lt;b&gt;Yes&lt;/b&gt;&amp;quot; AcceptEULA=&amp;quot;&lt;b&gt;Yes&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;PIDKEY Value=&amp;quot;&lt;b&gt;XXXXX- XXXXX - XXXXX - XXXXX - XXXXX&lt;/b&gt; &amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Setting Id=&amp;quot;&lt;b&gt;SERVERROLE&lt;/b&gt;&amp;quot; Value=&amp;quot;&lt;b&gt;APPLICATION&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;Setting Id=&amp;quot;&lt;b&gt;USINGUIINSTALLMODE&lt;/b&gt;&amp;quot; Value=&amp;quot;&lt;b&gt;0&lt;/b&gt;&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="2" face="Verdana"&gt;&amp;lt;/Configuration&amp;gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-5904876343580971784?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/5904876343580971784/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=5904876343580971784" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/5904876343580971784" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/5904876343580971784" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/a-KrkY_VsdU/automating-moss-2007-installs.html" title="Automating MOSS 2007 installs" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2009/09/automating-moss-2007-installs.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-6907893891368957583</id><published>2009-09-16T22:01:00.001-07:00</published><updated>2009-09-16T22:01:05.556-07:00</updated><title type="text">Automating SQL 2008 w/SP1 installs</title><content type="html">&lt;p&gt;Building customer solutions can require the maintenance of many development environments; therefore, I’d rather not be spending my whole day doing watching the progress bar of some app install. In addition, each development environment may differ slightly in configuration; therefore I need the ability to just point and click for installs, yet I still need to provide the flexibility to change the installation configuration when needed. There are many ways to do this…I know folks that have built elaborate deployment tools that leverage either SQL or XML to get configurations; however here are some ideas for how I do things using syspreped VM images. This process can easily be packaged and integrated into a nice automated build process using something like SCCM.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Slipstreaming Source Installation Binaries: &lt;/b&gt;Installing prerequisite software is a pain, especially if you have to go back around and patch or apply a service pack. As a best practice, it is always best to build using the “most current” advertisements and patches. We all know, applying patches is something that won’t go away, however if I can reduce my deployment time by merging service packs (which always take long), I can make my process more efficient. Here is a post that provides the steps for slipstreaming SQL 2008 with SP1.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/petersad/archive/2009/02/25/sql-server-2008-creating-a-merged-slisptream-drop.aspx"&gt;Creating a merged (slipstreamed) drop containing SQL 2008 + Service Pack 1&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Unattended Installation:&lt;/b&gt; Unattended installations methods provide value from automation, in addition to insuring consistency in the configuration of a system. For example, say I’m deploying across many systems such as a web farm. I’d want the build automated versus going to each machine. SQL 2008 supports unattended installs by using a configuration file. This configuration file provides the ability to deploy SQL throughout the enterprise with the same configurations. Here is the MSDN &lt;a href="http://msdn.microsoft.com/en-us/library/dd239405.aspx"&gt;link&lt;/a&gt; which covers installing SQL using configuration files.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;How To: &lt;/b&gt;Create an installation directory to store the source installation files. Within that directory, you can store any pre-requisites. For example, mine is: &lt;font size="2" face="Courier New"&gt;\\XXX.XXX.XXX.XXX\Source\SQLServer2008Ent_FullSP1\Soruce&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Within the pre-requisites directory (&lt;font size="2" face="Courier New"&gt;\\XXX.XXX.XXX.XXX\Source\SQLServer2008Ent_FullSP1\Pre-Req&lt;/font&gt;), I keep the following support files:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;amp;displaylang=en" target="_blank"&gt;.NET 3.5 SP1 (Full)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://support.microsoft.com/kb/959209" target="_blank"&gt;KB959209&lt;/a&gt; (Updates for .NET 3.5 SP1) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloadS/details.aspx?familyid=5A58B56F-60B6-4412-95B9-54D056D6F9F4&amp;amp;displaylang=en" target="_blank"&gt;Windows 4.5 Installer&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The installation directory (\&lt;font size="2" face="Courier New"&gt;\XXX.XXX.XXX.XXX\Source\SQLServer2008Ent_FullSP1\Setup&lt;/font&gt;) maintains:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Installation Files &lt;/li&gt;    &lt;li&gt;Configuration File (ConfigurationFile.ini)&amp;#160; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The following commands can be wrapped up into a batch file or installation package to be executed by the installation process.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;i&gt;&lt;font size="2" face="Courier New"&gt;dotnetfx35.exe /qb /norestart&lt;/font&gt;&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;i&gt;NDP35SP1-KB958484-x86.exe /q /v /norestart&lt;/i&gt;&lt;/font&gt;&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;i&gt;&lt;font size="2" face="Courier New"&gt;wusa Windows6.0-KB942288-v2-x86.msu /quiet (will require reboot)&lt;/font&gt;&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;&lt;i&gt;&lt;font size="2" face="Courier New"&gt;setup.exe /SQLSVCPASSWORD=&amp;quot;********&amp;quot; /AGTSVCPASSWORD=&amp;quot;********&amp;quot; /ConfigurationFile=&amp;quot;%Path to ConfigurationFile.INI%&amp;quot;&lt;/font&gt;&lt;/i&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-6907893891368957583?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/6907893891368957583/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=6907893891368957583" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6907893891368957583" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6907893891368957583" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/Re-MD9HYveA/automating-sql-2008-wsp1-installs.html" title="Automating SQL 2008 w/SP1 installs" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2009/09/automating-sql-2008-wsp1-installs.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-8908097892699678772</id><published>2009-06-25T09:55:00.001-07:00</published><updated>2009-06-25T09:55:20.451-07:00</updated><title type="text">Transitioning to Geneva Framework and Server</title><content type="html">&lt;p&gt;This week, I’m getting the opportunity to play catch-up and get my feet wet with Geneva. So far, it’s awesome because there is so much material already out! As soon as all my pre-reqs are installed, integration with VS 2008 immediately worked {Per DL “huh, a Beta product working” =-)}! Yep, the option to “Create a new STS project in the current solution” is pretty slick. Developers can begin building an application immediately without having to wait for the IT guy; therefore keeping everything within VS until time to deploy a build.&lt;/p&gt;  &lt;p&gt;If you’ve already played with the federation stuff, I suggest watching Channel 9’s interview with &lt;a href="http://channel9.msdn.com/shows/Identity/Donovan-Follette-on-making-the-shift-from-ADFS-v1-to-Geneva-Server/"&gt;Donovan Follette on making the shift from ADFS v1 to Geneva&lt;/a&gt; and &lt;a href="http://channel9.msdn.com/shows/Identity/Jan-Alexander-on-the-claims-transformation-language-in-Geneva-Server-beta-2/"&gt;Jan Alexander on the claims transformation language in Geneva Server Beta 2&lt;/a&gt;. Both address all the important things you need to know to get started such as the new concepts Geneva introduces and how they relate to the old concepts used in ADFS v1. &lt;/p&gt;  &lt;p&gt;Check it out, the links to Channel 9 are above!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-8908097892699678772?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/8908097892699678772/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=8908097892699678772" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/8908097892699678772" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/8908097892699678772" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/2h-f0R0pwvc/transitioning-to-geneva-framework-and.html" title="Transitioning to Geneva Framework and Server" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2009/06/transitioning-to-geneva-framework-and.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-5272621871059380725</id><published>2009-04-08T00:14:00.001-07:00</published><updated>2009-04-08T00:14:07.174-07:00</updated><title type="text">AD PowerShell Cmdlets &amp; AD WebServices</title><content type="html">&lt;p&gt;New features coming out for Windows Server 2008 R2 that I’m really interested in are the AD PowerShell Cmdlets and AD WebServices. This evening, I happened to stubble on PG’s blog, “Active Directory PowerShell Blog” which provided some valuable info on what’s coming soon! Of course, the first thing I did after reading a the first few posts is begin my download of R2 so I can begin playing with them myself. So much to learn, so little time…&lt;/p&gt;  &lt;p&gt;Let me summarize what’s new:&lt;/p&gt;  &lt;p&gt;Basically, the AD PsH cmdlets will immediately support 4 categories (Account, Topology, DS Object, Providers) for AD administration. Here is a &lt;a href="http://blogs.msdn.com/photos/adpowershell/images/9453590/original.aspx" target="_blank"&gt;link&lt;/a&gt; which breaks down the actual cmdlets. Just with what you see, you can bet there is a lot of opportunity for extensibility (or as they refer to it, “Advanced Functions!”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/photos/adpowershell/images/9453590/original.aspx" target="_blank"&gt;&lt;img height="240" src="http://blogs.msdn.com/photos/adpowershell/images/9453590/original.aspx" width="236" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The next thing is the AD WebServices, which support both ADAM and AD upon installation. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/adpowershell/archive/2009/04/06/active-directory-web-services-overview.aspx" target="_blank"&gt;Active Directory Web Services Overview&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/Windows_Communication_Protocols.zip" target="_blank"&gt;AD WebService Data Model&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here is the link to their blog:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/adpowershell/default.aspx" target="_blank"&gt;Active Directory PowerShell Blog&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-5272621871059380725?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/5272621871059380725/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=5272621871059380725" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/5272621871059380725" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/5272621871059380725" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/GriY-kk5n-I/ad-powershell-cmdlets-ad-webservices.html" title="AD PowerShell Cmdlets &amp;amp; AD WebServices" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2009/04/ad-powershell-cmdlets-ad-webservices.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-350927329211935212</id><published>2009-03-07T17:02:00.001-08:00</published><updated>2009-03-16T23:04:04.746-07:00</updated><title type="text">Using PowerShell and S.DS.AD to create Sites and Service objects</title><content type="html">&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Courier New;"&gt;System.DirectoryServices.ActiveDirectory&lt;/span&gt; (S.DS.AD) is a .NET namespace available for performing common tasks related to Active Directory Domain Services. S.DS.AD differs from S.DS in that it is a pure .NET interface which allows us to extend deeper into DS development. See S.DS.AD Scenarios &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms257190.aspx" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;With PowerShell (PSH), we can leverage the classes in this namespace for common manual tasks that can be scripted. For example, in a migration scenario, managing AD sites and services can be time consuming to set up. Here are some functions I wrote which allow you to automate these process using PSH.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;To do bulk creations of site objects, you would store your configuration in a CSV file and use them as parameters to each PSH function.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Say we need to 1. Create Sites, 2. Create Subnets, 3. Create SiteLinks, and 4. Configure our SiteLinks. Using Excel, you can create 4 CSV source files for each task, then use the &lt;strong&gt;Import-CSV&lt;/strong&gt; and &lt;strong&gt;ForEach-Object&lt;/strong&gt; cmdlets to call each function for each record.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;For example:&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="727" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="725"&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;Import-Csv C:\importFile.csv ForEach-Object {Create-Site $_.SiteName}&lt;br /&gt;Import-Csv C:\importSubnets.txt ForEach-Object {Create-SubNet $_.SubNet $_.SiteName}&lt;br /&gt;Import-Csv C:\importSiteLinks.txt ForEach-Object {Create-SiteLink $_.SiteLinkName $_.Site $_.Cost $_.Interval}&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Here are the PSH functions:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Creating AD Sites&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="724" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="722"&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;Function Create-Site{Param ($siteName)&lt;br /&gt;$forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()&lt;br /&gt;$type = [System.DirectoryServices.ActiveDirectory.DirectoryContextType]"forest"&lt;br /&gt;$contextType = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext($type,$forest)&lt;br /&gt;$site = New-Object System.DirectoryServices.ActiveDirectory.ActiveDirectorySite($contextType,$siteName)&lt;br /&gt;$site.Options = [System.DirectoryServices.ActiveDirectory.ActiveDirectorySiteOptions]::GroupMembershipCachingEnabled&lt;br /&gt;$site.Save()&lt;br /&gt;Write-Host "Creating site object $siteName..." }&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Creating AD Subnets&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="726" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="724"&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;Function Create-SubNet{Param($subNetName,$siteName)&lt;br /&gt;$forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()&lt;br /&gt;$type = [System.DirectoryServices.ActiveDirectory.DirectoryContextType]"forest"&lt;br /&gt;$contextType = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext($type,$forest)&lt;br /&gt;$site = [System.DirectoryServices.ActiveDirectory.ActiveDirectorySite]::FindByName($contextType, $siteName)&lt;br /&gt;$subnet = New-Object System.DirectoryServices.ActiveDirectory.ActiveDirectorySubnet($contextType,$subNetName,$site)&lt;br /&gt;$subnet.Save()&lt;br /&gt;Write-Host "Creating subnet object $subNetName..." }&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Creating AD SiteLinks&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="726" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="724"&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;Function Create-SiteLink{Param($siteLinkName,$siteName,$siteCost,$repInterval)&lt;br /&gt;$forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()&lt;br /&gt;$type = [System.DirectoryServices.ActiveDirectory.DirectoryContextType]"forest"&lt;br /&gt;$contextType = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext($type,$forest)&lt;br /&gt;$trans = [System.DirectoryServices.ActiveDirectory.ActiveDirectoryTransportType]::Rpc&lt;br /&gt;$site = [System.DirectoryServices.ActiveDirectory.ActiveDirectorySite]::FindByName($contextType,$siteName)&lt;br /&gt;$link = New-Object System.DirectoryServices.ActiveDirectory.ActiveDirectorySiteLink($contextType,$siteLinkName,$trans)&lt;br /&gt;$link.Cost = $siteCost&lt;br /&gt;$link.ReplicationInterval = $repInterval&lt;br /&gt;$d = $link.Sites.Add($site)&lt;br /&gt;$link.Save()&lt;br /&gt;Write-Host "Creating siteLink object $siteLinkName..." }&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Adding Sites to a SiteLink&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="2" width="723" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="721"&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;Function Add-SitetoSiteLink{Param($siteName,$siteLinkName)&lt;br /&gt;$forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()&lt;br /&gt;$type = [System.DirectoryServices.ActiveDirectory.DirectoryContextType]"forest"&lt;br /&gt;$contextType = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext($type,$forest)&lt;br /&gt;$site = [System.DirectoryServices.ActiveDirectory.ActiveDirectorySite]::FindByName($contextType,$siteName)&lt;br /&gt;$link = [System.DirectoryServices.ActiveDirectory.ActiveDirectorySiteLink]::FindByName($contextTye,$siteLinkName)&lt;br /&gt;$link.Sites.Add($site)&lt;br /&gt;$link.Save() }&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-350927329211935212?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/350927329211935212/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=350927329211935212" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/350927329211935212" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/350927329211935212" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/Ow15Btc6Bu0/using-powershell-and-sdsad-to-create.html" title="Using PowerShell and S.DS.AD to create Sites and Service objects" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2009/03/using-powershell-and-sdsad-to-create.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-3120681985828554650</id><published>2008-12-17T11:24:00.001-08:00</published><updated>2008-12-17T11:24:57.309-08:00</updated><title type="text">Installing ADAM on Vista SP1</title><content type="html">&lt;p&gt;To date, Microsoft still hasn&amp;#8217;t released an ADAM build for Vista. We&amp;#8217;ve since had to hack our way to get &lt;a href="http://dunnry.com/blog/InstallingADAMOnVista.aspx"&gt;ADAM installed&lt;/a&gt;; however, the release of Vista SP1 presented a new set of obstacles. Basically what you&amp;#8217;ll see is an &amp;#8220;Entry Point Not Found&amp;#8221; error which references the VSSAPI.DLL. In order to overcome this, you just copy the older version of the VSSAPI.DLL into the ADAM directory on your Vista machine (Thanks &lt;a href="http://siudyk.aspweb.cz/post/ADAM-and-Vista-SP1.aspx"&gt;siudyda.com&lt;/a&gt; for the post). &lt;/p&gt;  &lt;p&gt;Here are the steps to get ADAM installed on an Vista SP1 build:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Install ADAM on a non-Vista machine. &lt;/li&gt;    &lt;li&gt;Copy the %WINDIR%\ADAM folder from your non-Vista machine to the same location on your Vista machine.&lt;/li&gt;    &lt;li&gt;Create a new registry key HKLM\Software\Microsoft\Windows\CurrentVersion\ADAM_Shared. Under this key, create a new Multi-String value named &amp;#8220;SharedFolders&amp;#8221;.&lt;/li&gt;    &lt;li&gt;Run the adaminstall.exe from the %WINDIR%\ADAM directory. Do not import any LDIF files. &lt;b&gt;Note:&lt;/b&gt; if you experience the error mentioned above, just copy the older version of VSSAPI.DLL into your ADAM directory.&lt;/li&gt;    &lt;li&gt;Complete the wizard and you should have a fully functional ADAM instance. All you need to do is import the LDIF files you want to design your schema.&lt;/li&gt; &lt;/ol&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-3120681985828554650?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/3120681985828554650/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=3120681985828554650" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/3120681985828554650" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/3120681985828554650" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/fxIHTW2Ht4g/installing-adam-on-vista-sp1.html" title="Installing ADAM on Vista SP1" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2008/12/installing-adam-on-vista-sp1.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-6830233787285771039</id><published>2008-10-04T11:45:00.001-07:00</published><updated>2008-10-04T11:45:55.688-07:00</updated><title type="text">Invalid DN Syntax when creating new object classes in ADAM</title><content type="html">&lt;p&gt;When recreating an ADAM directory for a project that uses custom object classes, I ran into a problem attempting to import my schema using Ldifde.exe using the following command line: &lt;/p&gt;  &lt;p&gt;&amp;#8220;ldifde -i -u -f export_prod_schema.ldf -s server:port -b username domain password -j . -c &amp;quot;cn=Configuration,dc=X&amp;quot; #configurationNamingContext&amp;#8221;&lt;/p&gt;  &lt;p&gt;Below is the error my logfile reported:&lt;/p&gt;  &lt;p&gt;-&lt;/p&gt;  &lt;p&gt;Entry DN: cn=xxxxx,cn=Schema,#configurationNamingContext&lt;/p&gt;  &lt;p&gt;Add error on line 15: Invalid DN Syntax&lt;/p&gt;  &lt;p&gt;The server side error is &amp;quot;The object name has bad syntax.&amp;quot;&lt;/p&gt;  &lt;p&gt;An error has occurred in the program&lt;/p&gt;  &lt;p&gt;-&lt;/p&gt;  &lt;p&gt;The problem was actually in Ldifde.exe itself. Apparently, the version of Ldifde.exe from the system32 directory does not support #macros. You have to use the version provided with the ADAM (%windir%\ADAM) installation. &lt;/p&gt;  &lt;p&gt;Thanks to &lt;a href="http://www.eggheadcafe.com/forumarchives/windowsserveractive_directory/jan2006/post26132113.asp"&gt;Dmitri Garilov&lt;/a&gt; for posting this in the news group.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-6830233787285771039?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/6830233787285771039/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=6830233787285771039" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6830233787285771039" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6830233787285771039" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/kMt4PjhqM6g/invalid-dn-syntax-when-creating-new.html" title="Invalid DN Syntax when creating new object classes in ADAM" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2008/10/invalid-dn-syntax-when-creating-new.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-7695826840971968309</id><published>2008-09-24T21:09:00.001-07:00</published><updated>2008-09-24T21:09:49.931-07:00</updated><title type="text">Reminder: C# character escape sequences</title><content type="html">&lt;p&gt;C# defines the following character escape sequences: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;code&gt;\'&lt;/code&gt; - single quote, needed for character literals &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\&amp;quot;&lt;/code&gt; - double quote, needed for string literals &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\\&lt;/code&gt; - backslash &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\0&lt;/code&gt; - Unicode character 0 &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\a&lt;/code&gt; - Alert (character 7) &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\b&lt;/code&gt; - Backspace (character 8) &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\f&lt;/code&gt; - Form feed (character 12) &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\n&lt;/code&gt; - New line (character 10) &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\r&lt;/code&gt; - Carriage return (character 13) &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\t&lt;/code&gt; - Horizontal tab (character 9) &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\v&lt;/code&gt; - Vertical quote (character 11) &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\uxxxx&lt;/code&gt; - Unicode escape sequence for character with hex value xxxx &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\xn[n][n][n]&lt;/code&gt; - Unicode escape sequence for character with hex value nnnn (variable length version of \uxxxx) &lt;/li&gt;    &lt;li&gt;&lt;code&gt;\Uxxxxxxxx&lt;/code&gt; - Unicode escape sequence for character with hex value xxxxxxxx (for generating surrogates) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Of these, &lt;code&gt;\a&lt;/code&gt;, &lt;code&gt;\f&lt;/code&gt;, &lt;code&gt;\v&lt;/code&gt;, &lt;code&gt;\x&lt;/code&gt; and &lt;code&gt;\U&lt;/code&gt; are rarely used in my experience. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/csharpfaq/archive/2004/03/12/88415.aspx"&gt;link&lt;/a&gt; to original post&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-7695826840971968309?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/7695826840971968309/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=7695826840971968309" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/7695826840971968309" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/7695826840971968309" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/AN1kHZhDT9M/reminder-c-character-escape-sequences.html" title="Reminder: C# character escape sequences" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2008/09/reminder-c-character-escape-sequences.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-6331613559248492543</id><published>2008-09-04T15:38:00.001-07:00</published><updated>2008-09-04T16:22:57.416-07:00</updated><title type="text">ADFS and MySites - Enabling MySites with the Web Single Sign-On (SSO) authentication provider</title><content type="html">&lt;p&gt;There have been few online questions regarding enabling MySites interoperability with ADFS. To answer the question if it’s possible, yes. &lt;/p&gt;&lt;p&gt;The process is actually very simple and similar to configuring forms based auth in MOSS 2007. &lt;/p&gt;&lt;p&gt;So it’s probably safe to assume, by this time you’ve already completed the step-by-step guide for enabling MOSS 2007 as a claims aware application; therefore this post is a walkthrough on how to configure the Web Single Sign-On authentication to interoperate with MySites. &lt;/p&gt;&lt;p&gt;Assuming you already have a functional claims-aware instance of MOSS 2007 configured, when logged in as a federated user you should see that the MySites link is missing. The reason for that is MySites is tied to the Shared Service Provider which has not yet been extended to use the Web Single Sign-On (SSO) authentication provider.&lt;/p&gt;&lt;p&gt;In order for federated users to have access to MySites, Web Single Sign-On needs to be configured to interoperate with My Site applications.&lt;/p&gt;&lt;p&gt;For simplicity sake, this walkthrough assumes the MySites collection is within the same web application of the site to which they are associated. For example, https://&amp;lt;sharepointserver&amp;gt;/mysites. The recommended design from Microsoft is to have MySites as its own web application and managed independently. I’m lazy and only have a VM to prove my point, so here it is. Recommended designs for MySites should be referenced in the best practice documentation in &lt;a href="http://technet.microsoft.com/en-us/library/cc263019.aspx"&gt;TechNet&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Within Central Admin:&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; When first configuring your Shared Service Provider, you probably configured it under the Default zone with NTLM authentication. Extend the SSP web application to use an additional authentication provider and assign it to the Custom or Extranet) zone. (Note: Zones identify the logical separation of access restrictions to the same content.) Be sure to include the details such as port number where the new application will be hosted in and choosing the zone that this extended Web application will reside under. In my case, I extended the web application under my existing federated URL, &lt;u&gt;&lt;a href="http://extranet.treyresearch.com:&amp;lt;port&amp;amp;gt"&gt;http://extranet.treyresearch.com:&amp;lt;port&amp;amp;gt&lt;/a&gt;;&lt;/u&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; Configure the authentication provider of this extended web application for Web Single Sign-on (SSO). Be sure to specify the Membership Provider Name as [&lt;strong&gt;SingleSignOnMembershipProvider2&lt;/strong&gt;] and Role Manager Name as [&lt;strong&gt;SingleSignOnRoleProvider2&lt;/strong&gt;]. &lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; At this point, add a provider section to the Web.config of the extended Web application. This would virtual directory for the SSP (C:\Inetpub\wwwroot\wss\VirtualDirectories\&amp;lt;port number of SSP&amp;gt;. The following snippet should be copied and pasted under the &amp;lt;system.web&amp;gt; node within the web.config.&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;membership&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;providers&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs.treyresearch.com/adfs/fs/federationserverservice.asmx" /&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/providers&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/membership&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;providers&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;remove name="AspNetSqlRoleProvider" /&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="&lt;u&gt;https://fsserver/adfs/fs/federationserverservice.asmx&lt;/u&gt;" /&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/providers&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/roleManager&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Be sure to update the &amp;lt;fsserver&amp;gt; name to reflect the web service URL of the federation server. Do an “iisreset” for the configuration to take place.&lt;/p&gt;&lt;strong&gt;4.&lt;/strong&gt; When you’ve completed this task, the People Picker should be able to resolve organizational claims for this web application using the SingleSignOnMembershipProvider2 membership provider.&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt; Assign your federated users Personalization services permissions. Do this by browsing the SSP Admin Site: &amp;lt;ssp name&amp;gt;  User Profiles and My Sites  Personalization service permissions. Using the Add Users/Group link you can enter the name of your organizational claims representing your portal users. Hit the Check Names button and watch the name resolve.&lt;/p&gt;Grant the following rights to the users, &lt;strong&gt;(1)&lt;/strong&gt; Create personal site and &lt;strong&gt;(2)&lt;/strong&gt; Use personal features.&lt;/blockquote&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5242300597693757698" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_kRX9PJyWOfo/SMBknmNauQI/AAAAAAAAAZs/TJy6LPhsNMw/s400/1.jpg" border="0" /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;6.&lt;/strong&gt; The next step is to grant federated users permissions to the MySites Host. Within the SSP Admin site, navigate to SSP Admin Site: &amp;lt;ssp name&amp;gt;  User Profiles and My Sites  My Site settings, then within View All Site Content  My Site Host Permissions. &lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5242300667475087458" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_kRX9PJyWOfo/SMBkrqKlUGI/AAAAAAAAAZ0/dEataODN5yo/s400/2.jpg" border="0" /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;7.&lt;/strong&gt; Add your organizational claim that represents your federated users. You actually create a claim that defines the various types of users and set their rights here. For example, Portal Admins and Portal Users. &lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5242300850598295154" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_kRX9PJyWOfo/SMBk2UWjtnI/AAAAAAAAAaE/kv3ogYof8tY/s400/4.jpg" border="0" /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;8.&lt;/strong&gt; Typically you wouldn’t want to assign other users Read permissions to other users to view public areas of MySites. The default behavior grants NT AUTHORITY\authenticated users to read other users MySites. You have to grant the organizational claim representing your federated users here. Browse to your SSP Admin Site, SSP Admin Site: &amp;lt;ssp name&amp;gt;  User Profiles and My Sites  My Site settings. Within the Default Readers Site Group, add the organizational claim here.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5242300955822054066" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_kRX9PJyWOfo/SMBk8cV22rI/AAAAAAAAAaM/AAgHmbIs-Oc/s400/5.jpg" border="0" /&gt;&lt;/p&gt;&lt;strong&gt;9.&lt;/strong&gt; Now test the configuration from the client computer within the account partner. Browse to &lt;u&gt;https:/extranet.treyresearch.com&lt;/u&gt; which should authenticate you through the federated trust. The first thing you should notice is that the MySites link is now available.&lt;/blockquote&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5242301050664723522" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_kRX9PJyWOfo/SMBlB9qHJEI/AAAAAAAAAaU/gONHQs-sRUA/s400/6.jpg" border="0" /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;10.&lt;/strong&gt; When you click it, your site is created!&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_kRX9PJyWOfo/SMBlIFJFpMI/AAAAAAAAAak/dhEGOy7TSLQ/s1600-h/8.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5242301155752912066" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_kRX9PJyWOfo/SMBlIFJFpMI/AAAAAAAAAak/dhEGOy7TSLQ/s400/8.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-6331613559248492543?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/6331613559248492543/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=6331613559248492543" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6331613559248492543" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6331613559248492543" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/s0sgwXyNhZk/adfs-and-mysites-enabling-mysites-with.html" title="ADFS and MySites - Enabling MySites with the Web Single Sign-On (SSO) authentication provider" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_kRX9PJyWOfo/SMBknmNauQI/AAAAAAAAAZs/TJy6LPhsNMw/s72-c/1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2008/09/adfs-and-mysites-enabling-mysites-with.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-7185090246680644551</id><published>2008-06-06T13:55:00.001-07:00</published><updated>2008-06-06T13:55:34.493-07:00</updated><title type="text">SharePoint and ILM integration</title><content type="html">&lt;p&gt;As more and more companies standardize intranet/extranet portal platforms onto SharePoint 2007 (MOSS 2007), the need to integrate identity-related needs will be asked of the ILM Administrator. It makes sense...MOSS 2007 is the front-end for business communication, web-based collaboration, information-sharing, and workflow capabilities. As many already know, ILM2 will have a WSS front-end; therefore tying it's built-in functionality into your existing intranet is a no brainer...&lt;/p&gt;  &lt;p&gt;Just in case you hadn't seen this, Alex Tcherniakhovski has something that may provide you insight for integration (or at least give you a base to work with). At most, these should provide a good template for creating an XMA that leverages one of the out-of-box (or custom) web services from MOSS 2007.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/alextch/archive/2007/09/02/wsslistsandilm.aspx"&gt;Connecting ILM 2007 with SharePoint Service Lists&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Below is a brief rundown of the Web services that a MOSS 2007 makes available out of the box:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;:5966/_vti_adm/Admin.asmx - Administrative methods such as creating and deleting sites &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/Alerts.asmx - Methods for working with alerts &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/DspSts.asmx - Methods for retrieving schemas and data &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/DWS.asmx - Methods for working with Document Workspaces &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/Forms.asmx - Methods for working with user interface forms &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/Imaging.asmx - Methods for working with picture libraries &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/Lists.asmx - Methods for working with lists &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/Meetings.asmx - Methods for working with Meeting Workspaces &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/Permissions.asmx - Methods for working with SharePoint Services security &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/SiteData.asmx - Methods used by Windows SharePoint Portal Server &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/Sites.asmx - Contains a single method to retrieve site templates &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/UserGroup.asmx - Methods for working with users and groups &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/versions.asmx - Methods for working with file versions &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/Views.asmx - Methods for working with views of lists &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/WebPartPages.asmx - Methods for working with Web Parts &lt;/li&gt;    &lt;li&gt;http://&lt;i&gt;server&lt;/i&gt;/_vti_bin/Webs.asmx - Methods for working with sites and subsites &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-7185090246680644551?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/7185090246680644551/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=7185090246680644551" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/7185090246680644551" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/7185090246680644551" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/oiVWIYF5Uf8/sharepoint-and-ilm-integration.html" title="SharePoint and ILM integration" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2008/06/sharepoint-and-ilm-integration.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-295904313441306720</id><published>2008-03-12T01:56:00.001-07:00</published><updated>2008-05-12T19:22:58.383-07:00</updated><title type="text">Password Sync using the SAP ERP MA</title><content type="html">&lt;p&gt;Does the Microsoft ERP MA from Microsoft support password synchronization? My immediate answer is yes, however there are a few things you need to consider. Most of all, the reason for this is that the documentation is pretty cryptic in itself and unless you are on a SAP project or have a development environment available, being able to test this yourself can be challenging.&lt;/p&gt;&lt;p&gt;According to the ERP MA README.htm, only "administrative password reset" operations are supported. Now, referencing the PCNS technical material, I found the definition as follows:&lt;/p&gt;&lt;p&gt;"An automated password synchronization solution in ILM allows users to change their passwords in all connected data sources that are configured for automated password synchronization. Typically, users can press CTRL+ALT+DEL on the keyboards to initiate a password change.&lt;/p&gt;&lt;p&gt;This is a password change operation, not a password set or reset operation. For a password change operation, a user must know the previous password when attempting to change passwords. For a password set or reset operation to occur, a user does not have to know the previous password to set or reset the password to a different value. The automated password synchronization solution is a password change operation because users know the previous password."&lt;/p&gt;&lt;p&gt;Well, this is a question that comes up a lot and this post should provide you with an idea of how to sync passwords between SAP and AD. An article I'd like to credit is the &lt;a href="http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=3303906&amp;amp;SiteID=17"&gt;thread&lt;/a&gt; between Markus and Peter regarding this topic. Here Peter talks on a method similar to what I've run into.&lt;/p&gt;&lt;p&gt;My experience is initially, it seemed like password synchronization would work out-of-box; however an issue I ran into was that whenever a system administrator assigns a new password to users, the new password is marked as "initial." Users have to change their initial passwords at first logon. Apparently, I though you could simply just turn this option off. According to the SAP Knowledge Warehouse, you have to modify the SAP User Management Engine (UME) properties using their Config Tool.  (Your SAP Admin should be familiar with this and provide feedback.) The setting you modify is the &lt;a href="http://help.sap.com/saphelp_nw04/helpdata/en/b5/16c43bdd3da244a1d3372a77b5f83f/frameset.htm"&gt;ume.logon.security_policy.password_change_required to reflect, False&lt;/a&gt; (not to require a password change at first logon). Well, the final solution resulted in creating a new SAP BAPI, similar to what Peter did. (Thanks Franciso Corona for confirming!) From there, as long as the password policies aren't conflicting each other, you should be good.&lt;/p&gt;&lt;p&gt;Other obstacles I’ve run into that have prevented me from syncing passwords are the policy limitations applied in SAP. Depending on version, the following rules may apply:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Passwords must be 3-8 characters long. &lt;/li&gt;&lt;li&gt;Passwords cannot begin with 3 identical letters &lt;/li&gt;&lt;li&gt;Passwords cannot begin with a “?” or a “!” or a space. &lt;/li&gt;&lt;li&gt;Passwords cannot be identical as the previous passwords used &lt;/li&gt;&lt;li&gt;Passwords cannot be “SAP” or “Pass” &lt;/li&gt;&lt;li&gt;Passwords cannot begin with the first letters of your name.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Most typically, by leverage AD as an authentication provider, this would get you the closest to achieving true single sign-on; however we understand that isn’t the case in many scenarios. &lt;/p&gt;&lt;p&gt;If you are running SAP on Windows, SAP GUI can be configured to authenticate against AD (including Kerberos SSO without any 3&lt;sup&gt;rd&lt;/sup&gt; party vendors). This does not apply to UNIX; here you would need something like Centrify.&lt;/p&gt;&lt;p&gt;If you are just using SAP Enterprise Portal and IViews, SAP Portal can be configured to authenticate against AD or ADAM.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-295904313441306720?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/295904313441306720/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=295904313441306720" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/295904313441306720" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/295904313441306720" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/c7KcF_7_c1U/password-sync-using-sap-erp-ma.html" title="Password Sync using the SAP ERP MA" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2008/03/password-sync-using-sap-erp-ma.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-6580570594419151260</id><published>2007-12-14T01:48:00.001-08:00</published><updated>2009-04-07T22:00:42.884-07:00</updated><title type="text">Understanding the inner workings of SAP from MIIS (ILM) Perspective</title><content type="html">&lt;p&gt;The past few posts, I’ve really concentrated on the Microsoft ERP MA for SAP integration. Although my world revolves around identity management, a huge piece of that I spend on integration of systems throughout the enterprise that do not share a common platform. One of which is SAP. By no means would I consider myself an SAP Consultant; however the need to understand the inner-workings of foreign systems only makes my job that much easier. Surprisingly, SAP is one of those systems we find customers having difficulties integrating into different connected data sources all around the enterprise. &lt;p&gt;This post will further concentrate on key components of SAP; most typically how SAP communicates to the outside world. From here, you can better understand how to achieve proper integration. &lt;p&gt;The first thing is to understand some key concepts of SAP. SAP talks through various Business Application Programming Interfaces also known as BAPIs. These interfaces are object-oriented methods which are the data-handling mechanisms used in SAP Systems. Knowledge of how to instantiate these objects are the most powerful tool in an SAP consultant’s arsenal. BAPIs are business objects similar to transactional records, master records, or datasets. They are most used when calling data in and out of SAP. Although out of the box, there are several hundred BAPIs available for use; they can also be customized to fit any business need required. &lt;p&gt;Another key concept to BAPIs and most often confused are IDocs. IDocs are data transports and are about moving data between systems and modules within SAP. Ultimately, BAPIs are the mechanisms for getting data in and out of SAP; therefore when integrating SAP with MIIS, you will be invoking or passing parameters to BAPIs to retrieve any type of data. &lt;p&gt;Remote Function Calls (or RFCs) are function modules that are called within a BAPI. They relate to each other as a BAPI is a business object; whereas an RFC is the functional code. &lt;p&gt;A perfect example of what happens is, (A) you call a BAPI, then (B) pass parameters to invoke RFCs. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-6580570594419151260?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/6580570594419151260/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=6580570594419151260" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6580570594419151260" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6580570594419151260" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/ZDSmMWsqY5k/understanding-inner-workings-of-sap.html" title="Understanding the inner workings of SAP from MIIS (ILM) Perspective" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2007/12/understanding-inner-workings-of-sap.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-2435227104812614816</id><published>2007-12-06T00:36:00.000-08:00</published><updated>2009-04-07T22:07:21.012-07:00</updated><title type="text">ILM (MIIS) and the Microsoft ERP Management Agent - Part 3</title><content type="html">In my previous post, I provided an overview of how we communicate within .NET to SAP Systems. Now, let’s take a look at how this relates to ILM (MIIS). The ERP MA provides a tool called to build the connector space. (Yes, you must build out your connector space by (1) defining the schema of attributes and (2) declaring what BAPIs to invoke and where (add, replace, delete, setpassword). This is accomplished through the ERP Configuration Tool. The document recommends using the provided template files to get started; however in my experience they were much harder to customize. IMHO it was much easier to build my connector space from scratch.&lt;br /&gt;&lt;br /&gt;Once you’ve completed, you can create the SAP MA which to do so, you need to input the XML configuration file that is created by the ECT. You should then be able to see the entire attribute list with all the normal functions of any other management agent.&lt;br /&gt;&lt;br /&gt;How do my previous posts relate to where we are now; well here is how the MA works.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Building the ERP MA configuration file using the ECT; the configuration of the MA is performed by discovering the SAP environment using the SAP connector for Microsoft .NET 2.0 and generating an XML. This essentially discovers all the BAPIs and stores them in a local cache file.&lt;/li&gt;&lt;li&gt;Configuration UI communicates with SAP to discover the BAPIs and other configuration for display.&lt;/li&gt;&lt;li&gt;XML configuration, proxy assemblies and schema definition file generated by the UI. You are building out your connector space.&lt;/li&gt;&lt;li&gt;Creation of the MA happens in MIIS and consumes schema file which MIIS uses to synchronize with SAP.&lt;/li&gt;&lt;li&gt;ERP MA SAP assembly consumes XML configuration and proxy assemblies at run time provides wrapper to RFC calls directly to SAP Server&lt;br /&gt;The diagram below (provided from the CHM) details what happens under the covers.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;a href="http://bp2.blogger.com/_kRX9PJyWOfo/R1e0y7gC5sI/AAAAAAAAAW4/UIUZKde9i18/s1600-h/ErpMa.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5140776286725269186" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_kRX9PJyWOfo/R1e0y7gC5sI/AAAAAAAAAW4/UIUZKde9i18/s400/ErpMa.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Now that you understand the process for communication, you can now proceed to determine what to do with the data you import/export. Key things to understand when using the Microsoft ERP MA are the following:&lt;/p&gt;&lt;p&gt;***Understand the process of Alias and Alias-referencing. That is the core of how the MA works.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-2435227104812614816?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/2435227104812614816/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=2435227104812614816" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/2435227104812614816" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/2435227104812614816" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/R-ffR9oqgkQ/ilm-miis-and-microsoft-erp-management_06.html" title="ILM (MIIS) and the Microsoft ERP Management Agent - Part 3" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_kRX9PJyWOfo/R1e0y7gC5sI/AAAAAAAAAW4/UIUZKde9i18/s72-c/ErpMa.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2007/12/ilm-miis-and-microsoft-erp-management_06.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-8199481394303664013</id><published>2007-12-04T22:00:00.001-08:00</published><updated>2009-04-07T22:07:14.115-07:00</updated><title type="text">ILM (MIIS) and the Microsoft ERP Management Agent - Part 2</title><content type="html">In part of my last post, here we should do an overview of the SAP .NET Connector. Essentially, it is a programming environment inside of Visual Studio that enables us to communicate between the .NET platform and SAP Systems. Communication is facilitated through proxy classes which call and/or invoke BAPI functions in SAP. The connector support both SAP RFCs and Web Services which allow you to write various applications using any .NET language. Pretty straight forward, huh?&lt;br /&gt;&lt;br /&gt;Anyhow, the connector is made up of several parts. As I mentioned, first it’s pretty tightly integrated with Visual Studio for generating SAP proxies. The proxies are used to call BAPI functions through either the SAP RFC protocol (librfc32.dll) or via SOAP. Do note, per the documentation...Release 4.6D does not have SOAP support while systems starting from 6.20 can use either. At the moment, the most current version of the connector is built for .NET 2.0 (SAP Connector for Microsoft .NET 2.0). Additional dlls that are part of the assembly is the SAP.Connector.Rfc.dll and LibRfc.dll. (LIBRFC32.dll, is in Release 6.20 and higher). The diagram below, details the runtime architecture and how communication is facilitated using the .NET Connector.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_kRX9PJyWOfo/R1Y_srgC5rI/AAAAAAAAAWw/FpFqRJ1459U/s1600-h/Runtime.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5140366061513926322" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_kRX9PJyWOfo/R1Y_srgC5rI/AAAAAAAAAWw/FpFqRJ1459U/s400/Runtime.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://bp1.blogger.com/_kRX9PJyWOfo/R1Y-w7gC5pI/AAAAAAAAAWg/k1nY3vpXuh0/s1600-h/CropperCapture%5B13%5D.Bmp"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-8199481394303664013?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/8199481394303664013/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=8199481394303664013" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/8199481394303664013" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/8199481394303664013" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/IN7qjbk2iuw/ilm-miis-and-microsoft-erp-management_04.html" title="ILM (MIIS) and the Microsoft ERP Management Agent - Part 2" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_kRX9PJyWOfo/R1Y_srgC5rI/AAAAAAAAAWw/FpFqRJ1459U/s72-c/Runtime.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2007/12/ilm-miis-and-microsoft-erp-management_04.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-2045828209697253428</id><published>2007-12-04T01:01:00.001-08:00</published><updated>2009-04-07T22:07:06.079-07:00</updated><title type="text">ILM (MIIS) and the Microsoft ERP Management Agent - Part 1</title><content type="html">&lt;p&gt;In my current project, I’ve had the opportunity to work with the Microsoft ERP Management Agent for SAP. As many already know, SAP is a huge applications and a common connected data source which in most (or some) cases acts as the authoritative source for HR related data. MIIS can be used to facilitate or broker identity data and identity management related tasks to and from this connected data source and to many others. In my opinion, MIIS and SAP integrate very well which I thought I’d write about how MIIS connects to SAP to synchronize identity data to and from the connector space. From here, I hope you can get a better understanding on how to integrate SAP into your existing MIIS environment. &lt;p&gt;Prior to the release of the ERP MA by Microsoft, MIIS developers connected to SAP systems by custom XMAs using the SAP .NET Connector. For example, Oxford Computer Group had developed a management agent for SAP which has been proven successfully in many environments way before the Microsoft ERP MA was even released. Regardless, here is how connectivity is accomplished using the ERP MA from Microsoft. &lt;p&gt;Before I start, the Microsoft ERP Management Agent can be downloaded from the following link or obtained within the ILM 2007 FR1 installation media. &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E05FA661-D087-4B12-8A79-E59494C9DD4A&amp;amp;displaylang=en"&gt;Microsoft Enterprise Resource Planning Management Agent for SAP&lt;/a&gt; &lt;p&gt;The base requirements for this management agent are: &lt;ul&gt;&lt;li&gt;Microsoft Identity Integration Server 2003 SP2 or ILM 2007 &lt;li&gt;The SAP .NET Connector 2.0 &lt;li&gt;Microsoft .NET Framework, version 1.1 or higher&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In order to connect to SAP, you should first understand some concepts of SAP. &lt;ul&gt;&lt;li&gt;BAPI (Business Application Programming Interface) – a function that performs a specific operation inside the SAP environment &lt;li&gt;InfoTypes – structures used as parameters to BAPIs &lt;li&gt;RFC (Remote Function Calls) – a method for accessing a BAPI from another computer via the network &lt;li&gt;SAP Connector for Microsoft .NET 2.0 – a managed component from SAP that enables RFC to BAPIs in a SAP application server&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;It’s pretty late now, so in my next part I will write more details on how the SAP .NET Connector works and how it relates to MIIS and the ERP MA.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-2045828209697253428?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/2045828209697253428/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=2045828209697253428" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/2045828209697253428" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/2045828209697253428" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/iFRnhSaCwW8/ilm-miis-and-microsoft-erp-management.html" title="ILM (MIIS) and the Microsoft ERP Management Agent - Part 1" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2007/12/ilm-miis-and-microsoft-erp-management.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-6037295453168401848</id><published>2007-11-27T21:35:00.001-08:00</published><updated>2009-04-07T22:06:59.097-07:00</updated><title type="text">ERP MA bug in ILM 2007 FP1</title><content type="html">&lt;p&gt;Apparently there is a known bug in the ERP MA for SAP that comes with ILM 2007 FP1. This bug prevents you from configuring the outbound flow of an anchor attribute. When mapping an attribute to &lt;i&gt;csobject.anchor&lt;/i&gt;, this prevents you from setting the flag which defines this attribute as an identity for the object and prevents you from exporting when invoking a BAPI that needs the reference. &lt;p&gt;Microsoft is aware of the bug which might be fixed next week; however the expectation should be assumed for mid-January. &lt;p&gt;So far, I’ve still using the version of the MA downloadable from the following &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E05FA661-D087-4B12-8A79-E59494C9DD4A&amp;amp;displaylang=en"&gt;link&lt;/a&gt; which is working fine.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-6037295453168401848?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/6037295453168401848/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=6037295453168401848" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6037295453168401848" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/6037295453168401848" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/_d2nUAu0LTQ/erp-ma-bug-in-ilm-2007-fp1.html" title="ERP MA bug in ILM 2007 FP1" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2007/11/erp-ma-bug-in-ilm-2007-fp1.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-4402928326643132873</id><published>2007-09-13T04:05:00.001-07:00</published><updated>2009-04-07T22:06:51.311-07:00</updated><title type="text">Setting Terminal Service Properties in .NET</title><content type="html">&lt;p&gt;&lt;span style="font-size:85%;"&gt;I recently had the requirement of managing Terminal Service properties in AD by means of MIIS. If you've ever been tasked with this, you may have noticed there are many VBScript and C++ snippets online with very few .NET examples. Therefore, I've decided to post how to accomplish this in .NET for those interested. &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Initially, you'd think this is pretty easy...why couldn't I just flow any value through to AD using an advanced attribute flow within an MA rule extension? Well, not in this case. If you look into a user objectClass in AD through ADSIEdit, you'll notice these attributes are not directly exposed. Although I was able to populate some of the values through System.DirectoryServices, not all were accessible. Further research uncovered you can manage Terminal Service properties using the &lt;/span&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa383010.aspx"&gt;&lt;span style="font-size:85%;"&gt;ADSI Extension for Terminal Services User Configuration&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. This extension is an assembly that allows you to manage Terminal Server user properties though the &lt;/span&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa380823.aspx"&gt;&lt;span style="font-size:85%;"&gt;IADsTSUserEx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Property Method. Below is sample code I used to test the functionality. &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;using TSUSEREXLib;&lt;br /&gt;using System.DirectoryServices;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text; &lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;namespace Set_Terminal_Service_Properties&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            string acctName = "chrisca";  &lt;br /&gt;            string tsHomeDrive = "H:";&lt;br /&gt;            string tsHomeDirectory = "\\\\servername\\tshomedirectory\\";&lt;br /&gt;            string tsProfilePath = "\\\\servername\\tsprofilepath\\";&lt;br /&gt;            int enableLogon = 1; // enable terminal service logins &lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Courier New;"&gt;            DirectoryEntry entry = new DirectoryEntry&lt;br /&gt;                ("LDAP://CN=Chris Calderon,CN=Users,DC=corp,DC=contoso,DC=com");&lt;br /&gt;            ADsTSUserEx oUser = (ADsTSUserEx)entry.NativeObject;&lt;br /&gt;            oUser.AllowLogon = enableLogon;&lt;br /&gt;            oUser.TerminalServicesHomeDirectory = tsHomeDirectory + acctName;&lt;br /&gt;            oUser.TerminalServicesHomeDrive = tsHomeDrive;&lt;br /&gt;            oUser.TerminalServicesProfilePath = tsProfilePath + acctName;&lt;br /&gt;            entry.CommitChanges();&lt;br /&gt;            entry.Close();&lt;br /&gt;        }       &lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;As you can see, you use the extension in the same manner as you would any ADSI statements. A key item to consider is, the properties that the Terminal Service User component exposes is not directly mapping individual AD attributes. Common with ADSI, when calling these methods to load the property values of the ADSI object, it stores this information into the property cache of the directory store. Only until the &lt;strong&gt;IADs::SetInfo&lt;/strong&gt; method is called (or something equivalent), the property value changes are saved. &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;This component consists of one DLL (TSUSEREX.DLL), located within the &lt;strong&gt;%SystemRoot%\System32&lt;/strong&gt; directory. In order to use the IADsTSUserEx interface, you must reference this assembly within your project. The link below provides a table that lists the property methods of the &lt;strong&gt;IADsTSUserEx interface&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa380823.aspx"&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;IADsTSUserEx Property Methods Details&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;My original goal is to eventually build an XMA for auxiliary attributes; however the core requirement to do that is to identify a method to access (read/write) these attributes.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-4402928326643132873?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/4402928326643132873/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=4402928326643132873" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/4402928326643132873" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/4402928326643132873" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/PlgrG7VWkkw/setting-terminal-service-properties-in.html" title="Setting Terminal Service Properties in .NET" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2007/09/setting-terminal-service-properties-in.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-2394580976717877055</id><published>2007-08-11T03:39:00.001-07:00</published><updated>2009-04-07T22:06:42.026-07:00</updated><title type="text">Limitations of Office Integration in a Federated SharePoint Configuration</title><content type="html">&lt;p&gt;For the past year, I've worked on a few ADFS projects that have incorporated SharePoint 2007 and the number one issue that seems to always come up are the limitations in Office integration. This isn't something new; we actually experienced it in ADFSv1 and there is even a KB Article which describes which features are lost.&lt;/p&gt;&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/912492/en-us"&gt;KB 912492 - Windows SharePoint Services and SharePoint Portal Server 2003 Support boundaries for Active Directory Federation Services&lt;/a&gt;&lt;/p&gt;&lt;p&gt;With ADFSv2, yes this KB article still applies; however you still get many of the features which operate exclusively through a web browser. Users can still download and upload files, search, and view or edit lists, etc. The problem is not within ADFS nor SharePoint; it's within the Office client which cannot process authentication cookies.&lt;/p&gt;&lt;p&gt;I guess the point I'm trying to make is, you have to re-evaluate the original initiative for exposing SharePoint 2007 as an Internet facing application; partner/customer integration. &lt;/p&gt;&lt;p&gt;From a business perspective, federating applications is much cheaper than managing VPN connections or external (partners) users not even under your domain. In many aspects, it can also be more secure. I mean, all the traffic is being communicated over SSL, right. In my experience, many ADFS customers are able to utilize SharePoint effectively just using the browser with Web SSO. &lt;/p&gt;&lt;p&gt;Believe it or not, this does provide benefits. First of all, IT is able to maintain strict control over what parts of their network can be accessed by partners, therefore eliminating significant problems caused by common practices of managing local accounts/passwords for partners within the DMZ. Just that reason alone reduces the attack surface for Internet facing applications. More reasons would be to,&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Reduce or prevent IT overhead for password management of external users/partners.&lt;/li&gt;&lt;li&gt;To prevent a bad user experience when they forget their password and call their local helpdesk for help instead of the partner site they are trying to access.&lt;/li&gt;&lt;li&gt;Prevent the loss of user productivity when they have to request and wait for remote accounts to be created before they can start working with a federated partner.&lt;/li&gt;&lt;li&gt;Severe security vulnerabilities when external users are terminated by their enterprise/organization and partners do not receive notification to remove their accounts. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;At the end of the day, Information Security must measure what options are readily available to keep their customers productive while still honoring security. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-2394580976717877055?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/2394580976717877055/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=2394580976717877055" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/2394580976717877055" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/2394580976717877055" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/XQzwncm8Z6Y/limitations-of-office-integration-in.html" title="Limitations of Office Integration in a Federated SharePoint Configuration" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2007/08/limitations-of-office-integration-in.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1242510060581634745.post-1317284672153828815</id><published>2007-06-04T01:30:00.001-07:00</published><updated>2009-04-07T22:06:28.010-07:00</updated><title type="text">Learning Microsoft Identity Management</title><content type="html">&lt;span xmlns=""&gt;&lt;p&gt;The world of identity management (IdM) is very broad with many angles for misinterpretation. For those who know me, I frequently refer to identity management NOT as a product but a framework. For the past 3 years, the world of identity has been my home which has allowed me to work on some very challenging projects and do some very cool things with a variety of clients across all industries. As with many like me that enjoy the intoxication for managing the digital identity, my journey started with learning Microsoft Identity Integration Server 2003 (MIIS 2003). To this day, I get asked and I still see many questions on the forums looking for guidance on where to start researching….although there is much more documentation and resources out now, it is still kind of all scattered which can definitely frustrate the new comers. I'm going to attempt to list the key documents that provide the best details for starting off an identity and access management career. BTW – If you find this article of interest and find other documents which should be included that I may have missed, please &lt;a href="mailto:ctcald@gmail.com"&gt;email&lt;/a&gt; me and let me know.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The first step is to get a generalization of what identity management is. There are many web casts out now which may ignite the curiosity, however many are in the mists of identity chaos without even realizing it. A very good 15 page document which provides a quick and neutral introduction to IdM is, Spencer Lee's "&lt;a href="http://www.sans.org/reading_room/whitepapers/authentication/852.php"&gt;An introduction to Identity Management&lt;/a&gt;."&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Additionally, there are many key sites that speak on MIIS and Identity Management. Just googling "MIIS 2003," you're bound to come up on MIISExperts.org which can be considered the "Holy Grail" of MIIS sites. This site probably provides the most information next to MSDN.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The FAQs on MIISExperts.org answers the question of how do I learn IdM by doing 3 things:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Take the time to get trained.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Read the FAQs&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Join the newsgroups and start lurking, or jump right in and start posting questions.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;In the old days, all we had was the MMSUG newsgroup and a few technical documents; today the online resources unlock a treasure of information and it's just a matter of investing the time in learning the technology and understanding how and where to apply it. For many, the best way is attending the official course provided the by the boys from &lt;a href="http://www.oxfordcomputergroup.com/courses.aspx"&gt;OCG&lt;/a&gt;. These courses are worth every penny because not only do you learn from experts in the field of IdM; they are the authors of the official curriculum and active implementers in the field. There are more course offered, however the&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.oxfordcomputergroup.com/ocg_/images/resources/Training/Oxford%20MIIS2731%20Descriptor.pdf"&gt;Designing and Deploying MIIS 2003&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oxfordcomputergroup.com/ocg_/images/resources/Training/Oxford%20MIIS504%20Descriptor.pdf"&gt;MIIS 2003 Advanced Implementer and Developer Course&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For on-line resources, obviously you can look to the &lt;a href="http://www.microsoft.com/miis/default.mspx"&gt;product's homepage&lt;/a&gt;; however most of the key documentation probably of value to you would be in the &lt;a href="http://technet2.microsoft.com/windowsserver/en/technologies/featured/miis/default.mspx"&gt;Microsoft Identity Integration Server Technical Library&lt;/a&gt;. Here you'll find guidance in properly planning, designing, deploying and maintaining an MIIS implementation.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://technet2.microsoft.com/windowsserver/en/library/5b47b9ad-9659-4d5c-ae69-2c306ba36bf21033.mspx?mfr=true"&gt;&lt;strong&gt;Planning and Architecture&lt;/strong&gt;&lt;/a&gt; (Use this documentation set as you plan your MIIS 2003 deployment to help you design the most secure and optimal MIIS solution for your needs, initiate your project, design the system data flow, plan synchronization rules, and address configuration settings.)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://technet2.microsoft.com/windowsserver/en/library/9fe0715c-f314-4d49-a93e-6017a4c4a2fa1033.mspx?mfr=true"&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/a&gt; (Includes information about recommended deployment scenarios for MIIS 2003 including how to upgrade from the previous versions and also solution guides that provide deployment information for uncommon scenarios)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://technet2.microsoft.com/windowsserver/en/library/5b47b9ad-9659-4d5c-ae69-2c306ba36bf21033.mspx?mfr=true"&gt;&lt;strong&gt;Operations&lt;/strong&gt;&lt;/a&gt; (This documentation set includes "How To" guides and other documents that provide discussions and recommended solutions for specific challenges that you encounter when using MIIS 2003.)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://technet2.microsoft.com/windowsserver/en/library/b67ac110-0533-4223-8eb1-a52c920e6b291033.mspx?mfr=true"&gt;&lt;strong&gt;Technical Reference&lt;/strong&gt;&lt;/a&gt; (This documentation set provides in-depth information about MIIS 2003 components, architecture, identity management process, synchronization rules, run profiles, and details about event-based and state-based identity management architectures.)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mmsdev/mms/portal.asp"&gt;&lt;strong&gt;Development&lt;/strong&gt;&lt;/a&gt; (Administrators and developers can create rules extensions that use the Microsoft .NET Framework. To understand the information in this Developer Reference, you must be well familiar with MIIS 2003. )&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Once the foundation is set, you'll probably be extremely anxious to get this thing running to cure all your pains from the sickness of identity chaos. Well, the best way is to use the walk-troughs. This collection of documents is really good because it allows you to install and configure each function of MIIS from general identity synchronization to password management topic. After completing the scenario walkthroughs, you can proceed with the more advanced Microsoft Identity and Access Management Series 1.4. This collection provides a very true configuration for and enterprise implementation of MIIS. Additionally the sample code can be used as a reference to build your own solutions.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://technet2.microsoft.com/windowsserver/en/library/16af6487-1506-492f-9551-9bec0601c26c1033.mspx?mfr=true"&gt;&lt;strong&gt;MIIS 2003 Scenario Walkthroughs&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; (&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=15032653-D78E-4D9D-9E48-6CF0AE0C369C&amp;amp;displaylang=en"&gt;Download from source&lt;/a&gt;)&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=794571e9-0926-4c59-bfa9-b4bfe54d8dd8&amp;amp;displaylang=en"&gt;&lt;strong&gt;Microsoft Identity and Access Management Series 1.4&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Note: For a more technical collection of documents for techniques, you should review the following functional and design documentation. This set details the essential concepts of event- and state-based architectures and the core components, architecture, identity management process, synchronization rules, and run profiles featured in MIIS 2003&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d7894cc9-eeeb-40d9-8f5f-573050624f67&amp;amp;displaylang=en"&gt;Microsoft Identity Integration Server 2003 Functional and Operational Reference&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=40A52201-A297-4C35-82E9-F0B4CA05DAEB&amp;amp;displaylang=en"&gt;MIIS 2003 Design Concepts&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A summary of the design concepts typical in any MIIS implementation is addressed in these documents.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;MIIS 2003 Design Concepts for Reference Attributes&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This document explains how reference attributes are processed by MIIS 2003 for direct attribute mapping scenarios and provides a conceptual explanation of a custom solution for advanced mapped reference attributes. It also includes design recommendations for both direct and advanced mapped attributes.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;MIIS 2003 Design Concepts for Correlating Digital Identities&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This document discusses considerations for mapping attributes across different identities and configuring joins based on your business requirements. It introduces the concept of Correlation ID and explains how you can deploy a Correlation ID to establish strong object relationships in your identity integration solution.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;MIIS 2003 Design Concepts for Implementing IFunctions&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This document introduces the concept of object-level identity functions (IFunctions) in an identity integration scenario, discusses possible implementation options, and also provides implementation recommendations.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;MIIS 2003 Design Concepts for Implementing Reverse Joins&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This document discusses some of the common reverse join implementation approaches for synchronizing identity objects in MIIS 2003. It provides two solutions for implementing reverse joins- reverse joins based on Transient management agents and reverse joins based on Auxiliary management agents.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;MIIS 2003 Design Concepts for Advanced Solution Components&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In this document, you will learn about "process-level attributes" and "conditional metaverse objects" to improve the convergence efficiency of the identity integration process, and how you can use "operational management agents" to isolate metaverse objects requiring special attention. The "auxiliary management agents" section discusses how you can implement a custom reprocessing solution.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Once you've become proficient in MIIS, of course there's a learning path for this profession. It's always been my belief that although Identity Management is typically used to support application authentication and authorization, it's heavily influences and complements the security of any infrastructure. Microsoft recently published the learning paths for each practice as seen in the attached link. Additionally, this link contains all the on-demand web casts published for Identity and Access Management.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/technet/security/learning/default.mspx"&gt;Learning Paths for Security (Identity and Access Management)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/technet/security/learning/identity/all/default.mspx"&gt;Identity and Access Management Learning Resources&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Now that you're a pro at identity management, join the newsgroups and start contributing to the communities!&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://tech.groups.yahoo.com/group/MMSUG/"&gt;[Forum] Yahoo MIIS Users Group&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://forums.microsoft.com/TechNet/ShowForum.aspx?ForumID=540&amp;amp;SiteID=17"&gt;[Forum] TechNet Forums – MIIS&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.metadirectory&amp;amp;cat=en_us_777f4709-9b6e-4815-89b3-a0d93fffa831&amp;amp;lang=en&amp;amp;cr=us"&gt;[News Group] Discussions in microsoft.public.metadirectory&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Because the identity management is still evolving, there is still a lot of information to learn. This technology is like a living creature that grows as fast as innovations permits it. The upcoming versions ILM 2007 and ILM"2" are the future. Jump on board and train of evolution and hang on, because you're going to be in for a ride!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/technologies/idm/ilm.mspx"&gt;Evolving further into Identity Lifecycle Management (Automated Identity and Access Management)&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/technologies/idm/ilm.mspx"&gt;Identity Lifecycle Management&lt;/a&gt; &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/idm/InformationProtection.mspx"&gt;Information Protection&lt;/a&gt; &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/idm/FederatedIdentity.mspx"&gt;Federated Identity&lt;/a&gt; &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/idm/StrongAuthentication.mspx"&gt;Strong Authentication&lt;/a&gt; &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/idm/DirectoryServices.mspx"&gt;Directory Services&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1242510060581634745-1317284672153828815?l=blog.identityjunkie.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.identityjunkie.com/feeds/1317284672153828815/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1242510060581634745&amp;postID=1317284672153828815" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/1317284672153828815" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1242510060581634745/posts/default/1317284672153828815" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/identityjunkie/girK/~3/DkF-Pqrm2hg/learning-microsoft-identity-management_04.html" title="Learning Microsoft Identity Management" /><author><name>-</name><uri>http://www.blogger.com/profile/00185516557937097505</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="01079516607417049137" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.identityjunkie.com/2007/06/learning-microsoft-identity-management_04.html</feedburner:origLink></entry></feed>
