<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>sheyia</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/sheyia/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/sheyia/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:50:09 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Where are the log files for the MIM 2016 (Microsoft Identity Manager) Virtual Smart Card Certificate Manager Modern app?</title>
      <link>https://docs.microsoft.com/archive/blogs/sheyia/where-are-the-log-files-for-the-mim-2016-microsoft-identity-manager-virtual-smart-card-certificate-manager-modern-app</link>
      <pubDate>Wed, 24 Feb 2016 08:14:58 GMT</pubDate>
      <dc:creator><![CDATA[Sheyi Adenouga]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sheyia/2016/02/24/where-are-the-log-files-for-the-mim-2016-microsoft-identity-manager-virtual-smart-card-certificate-manager-modern-app/</guid>
      <description><![CDATA[Just a quick post to say that if you are ever looking for the log files for the MIM VSC Modern app,...]]></description>
      <content:encoded><![CDATA[<p>Just a quick post to say that if you are ever looking for the log files for the MIM VSC Modern app, you&#39;ll find them under:</p>
<p>C:\Users\&lt;userprofile&gt;\AppData\Local\Packages\CmModernAppv.01_6c1zs6whsayrc\LocalState</p>
<p></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/log.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/log.PNG"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/log.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/log.PNG" border="0" /></a></p>
<p></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/log2.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/log2.PNG"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/log2.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/log2.PNG" border="0" /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Configuration Manager 2012 install error: Failed to create machine certificate on server</title>
      <link>https://docs.microsoft.com/archive/blogs/sheyia/configuration-manager-2012-install-error-failed-to-create-machine-certificate-on-server</link>
      <pubDate>Thu, 01 Jan 2015 22:27:03 GMT</pubDate>
      <dc:creator><![CDATA[Sheyi Adenouga]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sheyia/2015/01/01/configuration-manager-2012-install-error-failed-to-create-machine-certificate-on-server/</guid>
      <description><![CDATA[I was attempting to install config manager in my lab but it kept failing at the &quot;Generating...]]></description>
      <content:encoded><![CDATA[<p>I was attempting to install config manager in my lab but it kept failing at the &quot;Generating public key and sql server certificate&quot; step.</p>
<p></p>
<p>Obviously, looking around the web...I didn&#39;t find any solid resolution right off the bat. </p>
<p></p>
<p>Here&#39;s how I resolved my particular issue:</p>
<p>1. The logs from the config manager setup program had the following which ended up not being very useful:</p>
<ul>
<li>Failed to create machine certificate on server MySQLServer</li>
<li>Failed to create SQL server certificate on server</li>
<li>Failed to create SQL server certificate remotely</li>
</ul>
<p>2. On the SQL server, I found&nbsp;folders under the root of the C drive created by config manager with an SMS prefix</p>
<p>3. These folders contained a srvboot.log file that was more helpful. It contained the following errors:</p>
<ul>
<li>Failed to grant access to user (MySQLServer account)</li>
<li>Failed to grant permission to certificate.</li>
<li>Failed to create machine self-signed certificate.</li>
</ul>
<p>4. I look at the SQL servers certificate store (for the computer) and noticed there was a config manager cert. It had my sql server service acct listed under All Tasks/Manage Private keys. Deleting and removing the cert didn&#39;t fix the issue.<br /><br /></p>
<p>5. Next, I ran procmon on the sql server.&nbsp;Filtered on srvboot.exe and noticed that I got access denieds on a certain file in the c:\programdata\microsoft\crypto\rsa\machinekeys folder. Looking at the permissions, my sqlserver service account had Full control rights.<br /><br /></p>
<p>6. Hmm...so what gives. </p>
<p></p>
<p>7. My next step was to remove the particular file in the machinekeys folder AND the certificate that was created in the computer&#39;s certificate store and mysteriously the issue resolved itself.</p>
<p></p>
<p>8. Key learnings: Look at the logs (srvboot.log) on the sql server and see what procmon tells you.</p>
<p></p>
<p>Good luck.</p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>How to clear the SharePoint 2013 client side people picker cache</title>
      <link>https://docs.microsoft.com/archive/blogs/sheyia/how-to-clear-the-sharepoint-2013-client-side-people-picker-cache</link>
      <pubDate>Wed, 11 Jun 2014 15:55:00 GMT</pubDate>
      <dc:creator><![CDATA[Sheyi Adenouga]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sheyia/2014/06/11/how-to-clear-the-sharepoint-2013-client-side-people-picker-cache/</guid>
      <description><![CDATA[Open regedit and go to: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet...]]></description>
      <content:encoded><![CDATA[<p>Open regedit and go to: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\LowCache\Extensible Cache\DOMStore</p>
<p>Open the path shown in CachePath key in Windows Explorer and do a search for *.xml</p>
<p>Inspect the xml files and you&#39;ll see names of people you&#39;ve resolved or searched for in the people picker</p>
<p>Delete the files as necessary.</p>
<p></p>
<p>Alternatively, if you want to disable the cache, in IE settings, go to the Advanced tab and uncheck the checkbox called &quot;Enable DOM Storage&quot;.</p>
<p>Close and restart IE for good measure.</p>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint, MySites and AD domain migrations. How to make it happen smoothly</title>
      <link>https://docs.microsoft.com/archive/blogs/sheyia/sharepoint-mysites-and-ad-domain-migrations-how-to-make-it-happen-smoothly</link>
      <pubDate>Thu, 22 May 2014 10:48:27 GMT</pubDate>
      <dc:creator><![CDATA[Sheyi Adenouga]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sheyia/2014/05/22/sharepoint-mysites-and-ad-domain-migrations-how-to-make-it-happen-smoothly/</guid>
      <description><![CDATA[I was recently involved in an AD domain migration for a client that was running SP2013 onPremise....]]></description>
      <content:encoded><![CDATA[<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">I was recently involved in an AD domain migration for a client that was running SP2013 onPremise. This client was utilizing SharePoint as a company portal, as a collaboration portal (teams sites, projects sites etc) and for its social features (mysites, newsfeeds etc).</span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">We had some unique requirements and I couldn&#39;t really find any good guidance for doing domain migrations while ensuring that SharePoint isn&#39;t ensuring that mySites don&#39;t get deleted....hence this post.</span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">The SharePoint environment was not a vanilla install. Here were some of the&nbsp;customizations (if you want to call them that):</span></p>
<ul>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">It was configured to use ADFS SAML claims for authentication;</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">It had a custom claims provider that drove the people picker. The claims provider picked claims from the UPA;</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">A BDC connector augmented profiles in the UPA with data from the customer&#39;s Peoplesoft repository.</span></li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">As part of the domain migration, we had&nbsp;some unique requirements to deal with. One example was that the&nbsp;source accounts&nbsp;needed to remain enabled&nbsp;as all the applications had not been updated to work with the new domain.</span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">This presented a unique challenge in that, migrated users could log in as their old IDs (and you know they will) and cause new SharePoint profiles to be created. They would also quickly find out they couldn&#39;t access sites using that old ID, which would lead to helpdesk calls etc. Just messy, messy, messy.</span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">So here&#39;s how we did it. I&#39;ll explain the rationale behind each step where necessary. Feel free to pick and choose to suit your environment.</span></p>
<p><span style="text-decoration:underline;"><strong><span style="font-family:arial,helvetica,sans-serif;font-size:small;">Steps to perform before the migration starts:</span></strong></span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">1.&nbsp;If you have your QA or Dev SharePoint farms populated with user profile data similar to Production, disable outbound email flow in&nbsp;those QA or Dev SharePoint farms.</span></p>
<ul>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">You typically won&#39;t care about any mysites in those&nbsp;environment, disabling email will&nbsp;prevent managers from getting mySite deletion notifications.</span></li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">2. Before the AD migrations start, create a new sync connection in SharePoint for the new domain. The new domain shouldn&#39;t have any users yet. So nothing to worry about yet.</span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">3. Check what time the UPA runs incremental sync every night and also when the MySite deletion timer job runs. Both usually start at 1am.</span></p>
<ul>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">This is important because you&#39;ll want to make sure these next few steps happen (and finish) before 1am. Alternatively, you may choose to disable these processes.</span></li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">4. Modify the AD sync connections through FIM to prevent duplicated groups.</span></p>
<ul>
<li>$TODO</li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">5. Work with your domain migration team to ensure that the processes for migrating a user&#39;s account happen before 1am. </span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">6. If the migrated accounts will be re-enabled,&nbsp;have them plan on marking some attribute&nbsp; (we used msExchExtensionAttribute44) on the old account (ie migratedToNewDomain) so you can filter these accounts out later.</span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">7. If step 6 applies to you, modify the AD MA for the old domain and add a new &quot;Connector Filter&quot; on the User object type that reads msExchExtensionAttribute44 Equals MigratedToNewDomain.</span></p>
<ul>
<li>This step requires you to make the edit in the FIM client. Alternatively, you could do it in Central Admin. Just be sure to reverse the operator...central Admin expresses logic backwards.</li>
<li>At any rate, the reason for making this change is to cause FIM to filter out the account that has just been migrated.</li>
</ul>
<p>8. If step 6 applies to you and you use ADFS SAML claims, have your AD migration team also add the old user account to a group in the old domain ie UsersThatHaveBeenMigrated.</p>
<ul>
<li>By having the old user accounts added to a group as they are migrated, you can tell ADFS to deny any users that are members of that group from logging into SharePoint.</li>
<li>This will prevent users from creating new non-synchronized profiles in the UPA and creating cleanup headaches for the SharePoint Admins</li>
<li>In ADFS, go to each relying party you have for SharePoint. Edit the claim rules and on the Issuance Authorization Rules, add a &quot;Permit or&nbsp;Deny&nbsp;Users Based on an incoming claim&quot;&nbsp;rule</li>
<li>In the rule, choose &quot;group SID&quot;, specify the group from the old domain and select Deny.</li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">6. Ensure that user&#39;s don&#39;t access SharePoint during the migration. This should be obvious, but it&#39;s worth mentioning.</span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;"></span>&nbsp;</p>
<p><span style="text-decoration:underline;"><strong><span style="font-family:arial,helvetica,sans-serif;font-size:small;">Steps to perform when the migration starts:</span></strong></span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;"></span>&nbsp;</p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">1. Have the AD migration team run the following for each migrated user. At this stage, ADMT will typically have disabled the old account and created a new user in the new domain. In our case, we were re-enabling the account to allow them to work with unported applications.</span></p>
<ul>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">stsadm -o migrateuser -oldlogin &quot;i:0e.t|your custom claims provider<a>|user@olddomain.net</a>&quot; -newlogin &quot;i:0e.t|your custom claims provider<a>|user@newdomain.com</a>&quot; &ndash;ignoresidhistory</span></li>
<li>Don&#39;t worry that the new account has not been imported into the UPA yet. You don&#39;t want it in the UPA yet.</li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">This command works better than move-spuser because move-spuser requires you to bind to each spweb that a user might have permissions to. Not efficient.</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">This command will change the account name on the profile (which still belongs to the old user) in the UPA to the new account name.</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">Then it will modify the permissions on each site...essentially mapping the old account to the new account. This is what will allow the users to access content they previously had access to.</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">The command should be run as the farm account.</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">Run this step to before any UPA sync steps have run. Ignore this at your own peril.</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">After running the command, the user&#39;s permissions has mapped over to the new account. And the profile in the UPA has a new account name mapped to the new domain BUT the profile is still bound to the old user (the SPS-DistinguishedName still points to the old user account). Again don&#39;t worry...keep reading.</span></li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">2. Next,&nbsp;in the FIM client, manually kick off a delta import and delta sync on the old domain&#39;s MA.</span></p>
<ul>
<li>This will detect that the old user account has been disabled OR filtered out (if it was re-enabled)</li>
<li>It will queue up a delete for the old profile. Sounds scary...but don&#39;t panic.</li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">3. Next, in the FIM client, manually kick off a&nbsp;</span><span style="font-family:arial,helvetica,sans-serif;font-size:small;">delta import and delta sync on&nbsp;the new domain&#39;s MA</span></p>
<ul>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">This will detect the new user account in the new domain</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">This will queue up an Add of a new user in SharePoint.</span></li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">4. Next&nbsp;r</span><span style="font-family:arial,helvetica,sans-serif;font-size:small;">un an Export and delta Import on MOSS MA again through the FIM client.</span></p>
<ul>
<li>This will send a delete to SharePoint for the old user profile.</li>
<li>This delete will mark the profile in the UPA as deleted. Don&#39;t panic</li>
<li>Then the queued up ADD will re-animate that profile. What enables this to happen is the stsadm migrateuser step which changed the account name on the profile to the new user&#39;s account name. When FIM tries to add the new user, it finds an existing profile (that&#39;s marked for deletion) and re-animates it.</li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">5. Next,&nbsp;</span><span style="font-family:arial,helvetica,sans-serif;font-size:small;">run a delta import and delta sync on any BDC MA, followed by a Export and delta Import on MOSS MA.</span></p>
<ul>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">This&nbsp;only applies if you&nbsp;have a BDC MA that brings in data from&nbsp;an HR system</span><span style="font-family:arial,helvetica,sans-serif;font-size:small;">&nbsp;</span></li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">That pretty much sums it up. At this point,&nbsp;users can be allowed to log in&nbsp;and they should find their profile data still intact and access to their existing sites still intact as well.</span></p>
<p></p>
<p><span style="text-decoration:underline;"><strong><span style="font-family:arial,helvetica,sans-serif;font-size:small;">Issue we ran into:</span></strong></span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">1. Links to followed documents may not work.</span></p>
<ul>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">We changed UPNs as part of the domain migration...ie we went from using <a href="mailto:a123456@olddomain.net">a123456@olddomain.net</a> to <a href="mailto:joe.blow@newdomain.com">joe.blow@newdomain.com</a>. </span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">As you know, MySites are built using the account name...so Joe&#39;s mySite prior to the migration was something like: https://my/personal/a123456</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">At some point, the UPA will change the mySite path to https://my/personal/joe.blow</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">Now imagine that&nbsp;a user was following a document in Joe&#39;s mysite prior to Joe being migrated. In other words, that user is following&nbsp; <a href="https://my/personal">https://my/personal</a>/a123456/somedocument.docx</span></li>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">Well, that reference is not updated when Joe&#39;s mySite is refreshed to reflect his new account name.</span></li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">2. Sitefeed and newsfeed references to user accounts break.</span></p>
<ul>
<li><span style="font-family:arial,helvetica,sans-serif;font-size:small;">It appears that newsfeed content stored in the Microfeed lists in mySites and TeamSites have static/absolute references to user accounts. So after the migration, you&#39;ll notice that feeds no longer show friendly names but instead show the much uglier claims encoding reference (&quot;i:0e.t|your custom claims provider<a>|user@olddomain.net</a>&quot;). </span></li>
<li>The only way to fix I know of is to programmatically search for and modify each reference. Not fun at all. We made a business decision to deal with it.</li>
</ul>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:arial,helvetica,sans-serif;font-size:small;">&nbsp;</span></p>]]></content:encoded>
    </item>
    <item>
      <title>How to use IIS ARR to redirect FIM requests</title>
      <link>https://docs.microsoft.com/archive/blogs/sheyia/how-to-use-iis-arr-to-redirect-fim-requests</link>
      <pubDate>Fri, 13 Dec 2013 13:45:00 GMT</pubDate>
      <dc:creator><![CDATA[Sheyi Adenouga]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sheyia/2013/12/13/how-to-use-iis-arr-to-redirect-fim-requests/</guid>
      <description><![CDATA[In FIM2010, to redirect users to the /IdentityManagement directory automatically, download and...]]></description>
      <content:encoded><![CDATA[<p>In FIM2010, to redirect users to the /IdentityManagement directory automatically, download and install the IIS ARR 3.0</p>
<p>&nbsp;</p>
<p>Define an Inbound URL Rewrite rule on the IIS site running the portal that looks like the following:</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/2046.URLRewriteRuleforFIM.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/2046.URLRewriteRuleforFIM.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/2046.URLRewriteRuleforFIM.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/2046.URLRewriteRuleforFIM.png" alt="" border="0" /></a>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;That's it. Simple as pie.</p>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2013: Another way to change order of user profile properties via powershell</title>
      <link>https://docs.microsoft.com/archive/blogs/sheyia/sharepoint-2013-another-way-to-change-order-of-user-profile-properties-via-powershell</link>
      <pubDate>Wed, 09 Oct 2013 14:15:00 GMT</pubDate>
      <dc:creator><![CDATA[Sheyi Adenouga]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sheyia/2013/10/09/sharepoint-2013-another-way-to-change-order-of-user-profile-properties-via-powershell/</guid>
      <description><![CDATA[I recently ran into an issue where we couldn't change the position of a certain custom user profile...]]></description>
      <content:encoded><![CDATA[<p>I recently ran into an issue where we couldn't change the position of a certain custom user profile property past a certain point.</p>
<p>Looking around the web, I found several resources such as <a title="this" href="https://radutut.wordpress.com/2013/05/12/change-order-of-user-profile-properties-in-sharepoint-with-powershell/" target="_blank">this</a> (Kudos to the author), that provided a way to reorder the profile properties. However, when I looked closer at the default DisplayOrder for existing properties, I noticed several were duplicated.</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/5807.DuplicateDisplayOrder.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/5807.DuplicateDisplayOrder.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/5807.DuplicateDisplayOrder.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/5807.DuplicateDisplayOrder.png" alt="" border="0" /></a><br />&nbsp;</p>
<p>I have a feeling the duplicate display order values have something with the inability to move properties around through&nbsp;Central admin.</p>
<p>&nbsp;</p>
<p>As such, the following solution allows:</p>
<p>- exporting all the properties and sections out to an XML file</p>
<p>- you the Admin, can then clean up the XML, define the order of properties (ie use this mechanism to move properties up and down)</p>
<p>- importing the cleaned up XML</p>
<p>&nbsp;</p>
<p>The script is as follows. Just copy and paste into powershell ISE or save as a .ps1 file.</p>
<p>The script will prompt you to select whether you want to Export or Import....pay attention to the prompts. It should be pretty self explanatory.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: #ff0000;">#This is the xml template into which properties are exported</span><br /><span style="color: #ff0000;">$template = "&nbsp; </span><br /><span style="color: #ff0000;">&lt;Properties&gt; </span><br /><span style="color: #ff0000;">&lt;Section&nbsp; Name="""" Order="""" &gt;&nbsp; </span><br /><span style="color: #ff0000;">&lt;Property Name="""" Order="""" /&gt;&nbsp;&nbsp; </span><br /><span style="color: #ff0000;">&lt;/Section&gt;</span><br /><span style="color: #ff0000;">&lt;/Properties&gt;"</span></p>
<p><span style="color: #ff0000;">#xml template is saved out</span><br /><span style="color: #ff0000;">$template | out-file $home\output.xml</span><br /><span style="color: #ff0000;">$xml = New-Object XML</span><br /><span style="color: #ff0000;">$xml.Load("$home\output.xml")</span></p>
<p><span style="color: #ff0000;">#IMPORTANT...fill this section out before executing script</span><br /><span style="color: #ff0000;">$siteUrl = <a href="https://URLtoSiteCollection"><span style="color: #ff0000;">https://URLtoSiteCollection</span></a></span></p>
<p>&nbsp;</p>
<p><span style="color: #ff0000;">function exportProfileProperties()</span><br /><span style="color: #ff0000;">{</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; #connect to upa</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $site = Get-SPSite $siteUrl </span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $context = Get-SPServiceContext $site&nbsp;&nbsp;&nbsp;&nbsp; </span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $psm = [Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::Get($context)</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $col = $psm.GetSubtypesForProfileType("User")</span></p>
<p><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; #load xml template</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $sectionTemplate = @($xml.Properties.Section)[0]</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $propertyTemplate = @($xml.Properties.Section.Property)[0]</span></p>
<p><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $newSection = ""</span></p>
<p><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; #parse sections and properties and generate xml structure</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; foreach($propFromUPA in $col.PropertiesWithSection)</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; {</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($propFromUPA.IsSection -eq $true)</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $newSection = $sectionTemplate.Clone()</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $newSection.Name = $propFromUPA.Name</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $newSection.Order = $propFromUPA.DisplayOrder.ToString()</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $xml.Properties.AppendChild($newSection)</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $newProp = $propertyTemplate.Clone()</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $newProp.Name = $propFromUPA.Name</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $newProp.Order = $propFromUPA.DisplayOrder.ToString()</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $newSection.AppendChild($newProp)</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; </span><br />&nbsp;&nbsp;&nbsp; <br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #cleanup xml</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $newSection.Property | where-object{$_.Name -eq ''} | ForEach-Object {$newSection.RemoveChild($_)}</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; #cleanup xml</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $xml.Properties.Section | where-object {$_.Name -eq ''} | ForEach-Object {$xml.Properties.RemoveChild($_)}</span></p>
<p><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; #save xml</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $xml.Save("$home\output2.xml")</span></p>
<p><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; write-host "File has been exported to " + "$home\output2.xml"</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; write-host "Edit the file by updating the display order and the location where you want to property to be"</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; write-host "Then run this script again to in Import mode"</span></p>
<p><span style="color: #ff0000;">}</span></p>
<p><span style="color: #ff0000;">function importProfileProperties($fileLocation)</span><br /><span style="color: #ff0000;">{</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; #load xml</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $inputXML = [XML] (Get-Content $fileLocation)</span></p>
<p><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; #connect to upa</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $site = Get-SPSite $siteUrl </span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $context = Get-SPServiceContext $site </span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $upcManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager($context) </span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $defaultUserProfileSubTypeName = [Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::GetDefaultProfileName("User")&nbsp; </span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $profileSubtypePropManager = $upcManager.ProfilePropertyManager.GetProfileSubtypeProperties($defaultUserProfileSubTypeName)</span></p>
<p><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; #read entries in xml file</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; foreach($section in $inputXML.Properties.childnodes)</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; {</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #process sections</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Host $section.Name</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $profileSubtypePropManager.SetDisplayOrderBySectionName($section.Name,$section.Order)&nbsp; </span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #process properties within sections</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach($property in $section.childnodes)</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Host $property.Name</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $profileSubtypePropManager.SetDisplayOrderByPropertyName($property.Name,$property.Order)&nbsp; </span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; #verify user wants to commit</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $commit = Read-Host "Press Y to commit changes or CTRL+C to exit "</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; if ($commit.ToLower() -eq 'y')</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; {</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $profileSubtypePropManager.CommitDisplayOrder()&nbsp; </span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="color: #ff0000;">}</span></p>
<p>&nbsp;</p>
<p><span style="color: #ff0000;">$userInput&nbsp; = Read-Host "Type E to export the current properties OR I to import a config file "</span></p>
<p><span style="color: #ff0000;">if ($userInput.ToLower() -eq "e")</span><br /><span style="color: #ff0000;">{</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; exportProfileProperties</span><br /><span style="color: #ff0000;">}</span><br /><span style="color: #ff0000;">elseif($userInput.ToLower() -eq "i")</span><br /><span style="color: #ff0000;">{</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; $fileLocation = Read-Host "Type in the path to the input file "</span><br /><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp; importProfileProperties($fileLocation)</span><br /><span style="color: #ff0000;">}</span></p>]]></content:encoded>
    </item>
    <item>
      <title>Using ULSViewer and Regex to narrow down SharePoint performance problems</title>
      <link>https://docs.microsoft.com/archive/blogs/sheyia/using-ulsviewer-and-regex-to-narrow-down-sharepoint-performance-problems</link>
      <pubDate>Mon, 06 May 2013 12:20:19 GMT</pubDate>
      <dc:creator><![CDATA[Sheyi Adenouga]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sheyia/2013/05/06/using-ulsviewer-and-regex-to-narrow-down-sharepoint-performance-problems/</guid>
      <description><![CDATA[Just wanted to share a trick I use often to gain better understanding of a SharePoint performance...]]></description>
      <content:encoded><![CDATA[<p>Just wanted to share a trick I use often to gain better understanding of a SharePoint performance issue.</p>
<p>I'm sure we've all seen ULS log entries that say something like this:</p>
<p>Leaving Monitored Scope (SomeOperationName). Execution Time = 2.344050348</p>
<p>If not, look at your SP2010 or higher ULS logs and you'll definitely see a bunch of them.</p>
<p>&nbsp;</p>
<p>On to the point of this post. If you wanted to quickly identify long running operations directly in ULSViewer, you can use RegEx to quickly filter the timing data.</p>
<p>The steps to do this is as follows:</p>
<p>1. Connect ULSViewer to live server data OR to a set of log files (CTRL+U OR CTRL+O)</p>
<p>2. Select Modify Filter from the Edit menu (CTRL+M)</p>
<p>3. In the Field column, select Message</p>
<p>4. In the Operation column, select Regex Match</p>
<p>5. In the Value column, type or paste in the beginning portion of the text you want to match on, eg if you wanted all slow operations,&nbsp;type in Execution Time=</p>
<p>6. Next plug-in the regex you wish to apply right after the = sign. The entire string in the value column would look something like: Execution Time=[1-9]{1}[0-9]{3}</p>
<p>&nbsp;</p>
<p><strong>Super duper quick primer on how to apply regex:</strong></p>
<p>1. First, understand that the timing data is in milliseconds and there are 1000 ms in 1 second. (so a 5 second operation will have timing that is &gt;= 5000)</p>
<p>2. Next, understand what you're interested in chasing after. Are you wanting to see all timings that took longer than 5 seconds/30 seconds etc.</p>
<p>3. Next craft your regex. Let's use an example for illustration.</p>
<p>For requests that took longer than a second, the regex would be: [1-9]{1}[0-9]{3}</p>
<p><strong>Explanation:</strong></p>
<p>The first half of the regex [1-9]{1}, looks for the occurence of the numbers 1 through 9 in the first digit following the = sign</p>
<p>The second half of the regex [0-9]{3}, looks for&nbsp; the occurence of the numbers 0 through 9 in the next 3 digits</p>
<p>So to identify requests that took longer than 10 seconds, your regex would be: [1-9]{1}[0-9]{4}</p>
<p>The regex for requests that took longer than 30 seconds would be [3-9]{1}[0-9]{4}</p>
<p>&nbsp;</p>
<p>At any rate, this little trick lets me identify performance issues such as these:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/3858.ULSRegex.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/3858.ULSRegex.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/3858.ULSRegex.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/3858.ULSRegex.png" alt="" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/7848.ULSRegex2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/7848.ULSRegex2.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/40/7848.ULSRegex2.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-40/7848.ULSRegex2.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>How to create Content Organizer rules using Workflow or PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/sheyia/how-to-create-content-organizer-rules-using-workflow-or-powershell</link>
      <pubDate>Sat, 09 Mar 2013 05:52:00 GMT</pubDate>
      <dc:creator><![CDATA[Sheyi Adenouga]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sheyia/2013/03/09/how-to-create-content-organizer-rules-using-workflow-or-powershell/</guid>
      <description><![CDATA[&nbsp;
I had a need recently to create many content organizer rules dynamically via Nintex workflow...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif;">I had a need recently to create many content organizer rules dynamically via Nintex workflow and I couldn't find a pre-canned method for doing so. I eventually figured a way and wanted to share in case someone else needs this.&nbsp;Even though I created the rules using workflow, the rules could also have been created using powershell.</span></p>
<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif;"><strong>Scenario:<br /> </strong>The scenario that led me down this path was that I was designing a SharePoint 2010 records management solution where documents submitted by users had to be routed to a folder created specifically for that user. In other words, the solution had to flow as follows:</span></p>
<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif;">1. User submits document to record library</span></p>
<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif;">2. Content organizer timer job runs to route document if a Content Organizer rule exists</span></p>
<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif;">3. Periodically, a Nintex site workflow would kick off and check to see if documents were still in the drop off library. If documents were still in the drop off library, the workflow would create a folder for the submitting user and a content organizer rule to route documents that that folder.</span></p>
<p>&nbsp;</p>
<p><span style="font-family: arial,helvetica,sans-serif;">So now that we understand the scenario, I'll go ahead and outline how to create the content organizer rules dynamically. The steps below assume that a record center site collection has been created.&nbsp;</span></p>
<p>&nbsp;</p>
<ol>
<li><span style="font-family: arial,helvetica,sans-serif;">Make "content organizer rules" list visible by running the following powershell:</span></li>
</ol>
<p>&nbsp;</p>
<p style="padding-left: 30px;"><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;">$site = get-spsite <a href="https://urltorecordcenter/"><span style="color: #ff0000;">https://urlToRecordCenter</span></a></span><br /><span style="color: #ff0000; font-family: arial,helvetica,sans-serif; font-size: small;"> $list = $site.rootweb.lists[&ldquo;content organizer rules&rdquo;]<br /> $list.hidden = $false<br /> $list.update()</span></p>
<p>&nbsp;</p>
<p style="padding-left: 30px;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Make Condition XML field visible:</span><br /> <br /><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"> $field = $list.Fields.GetFieldByInternalName(&ldquo;RoutingConditions&rdquo;)</span><br /><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"> $field.hidden = $false</span><br /><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"> $field.update()</span></p>
<p style="padding-left: 30px;"><span style="font-family: arial,helvetica,sans-serif;">3. Now use workflow to create the content organizer rules dynamically. The Nintex Create Item action was configured as follows. </span><br /> <br /><span style="font-family: arial,helvetica,sans-serif;"> Note: Some of the values below (eg itemCreator) won&rsquo;t translate directly to other environment because they were variable names I used in other parts of the workflow. The idea I&rsquo;m mostly trying to convey is that these are the fields that will need to be set at a minimum to have a functioning content organizer rule. </span><br /> <br /><span style="font-family: arial,helvetica,sans-serif;"> To figure out what applies to you, I recommend creating a rule through the UI first and then copying the values over to your workflow design surface.</span></p>
<p>&nbsp;</p>
<ul>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Title =&gt; Rule Name</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Content Type: Rule</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Active =&gt; Yes</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Priority =&gt; 9</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Target Path =&gt; webRelativeURL/Records/DestinationFolderName</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Route to External location =&gt; No</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Submission Content Type =&gt; Document</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Condition XML =&gt; &lt;Conditions&gt;&lt;Condition Column="ada5b8d0-79d8-48ae-a68e-6181cde84656|UserName1|UserName" Operator="IsEqual" Value="itemCreator" /&gt;&lt;/Conditions&gt;</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Target Library =&gt; Records Library</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Target Folder =&gt; itemCreator</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Properties used in conditions =&gt; username</span></span></li>
<li><span style="color: #ff0000; font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Field: Rule name =&gt; Rule for ItemCreator</span></span></li>
</ul>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>